Section 1
//FlxAnim (com.adamatomic.flixel.data.FlxAnim)
package com.adamatomic.flixel.data {
public class FlxAnim {
public var delay:Number;
public var frames:Array;
public var looped:Boolean;
public var name:String;
public function FlxAnim(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true){
name = _arg1;
delay = (1 / _arg3);
frames = _arg2;
looped = _arg4;
}
}
}//package com.adamatomic.flixel.data
Section 2
//FlxFactory (com.adamatomic.flixel.data.FlxFactory)
package com.adamatomic.flixel.data {
import flash.events.*;
import com.adamatomic.flixel.*;
import flash.display.*;
import flash.text.*;
import flash.net.*;
import flash.utils.*;
public class FlxFactory extends MovieClip {
protected var className:String;
private var ImgBit:Class;
private var bits:Array;
private var bmpBar:Bitmap;
private var Buffer:Sprite;
private var ImgBar:Class;
protected var myURL:String;
private var loader:movLoader;
protected var myURLs:FlxArray;
public function FlxFactory(){
var _local1:Bitmap;
var _local4:TextFormat;
var _local5:TextField;
ImgBar = FlxFactory_ImgBar;
ImgBit = FlxFactory_ImgBit;
super();
stop();
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
var _local2 = (myURLs.length == 0);
var _local3:int;
while (_local3 < myURLs.length) {
if ((root.loaderInfo.url.indexOf(myURLs[_local3]) >= 0)){
_local2 = true;
break;
};
_local3++;
};
if (!_local2){
_local1 = new Bitmap(new BitmapData(stage.stageWidth, stage.stageHeight, true, 4294967295));
addChild(_local1);
_local4 = new TextFormat();
_local4.color = 0;
_local4.size = 16;
_local4.align = "center";
_local4.bold = true;
_local5 = new TextField();
_local5.width = (_local1.width - 16);
_local5.height = (_local1.height - 16);
_local5.y = 8;
_local5.multiline = true;
_local5.wordWrap = true;
_local5.defaultTextFormat = _local4;
_local5.text = "This game can only played on HTTP://PQGAMES.EXOFIRE.NET";
addChild(_local5);
_local5.addEventListener(MouseEvent.CLICK, goToMyURL);
_local1.addEventListener(MouseEvent.CLICK, goToMyURL);
return;
};
loader = new movLoader();
loader.x = ((80 * 4) - (loader.width / 2));
loader.y = ((80 * 4) - (loader.height / 2));
addChild(loader);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function goToMyURL(_arg1:MouseEvent=null):void{
navigateToURL(new URLRequest(("http://" + myURLs[0])));
}
private function onEnterFrame(_arg1:Event):void{
var _local2:int;
var _local3:Class;
var _local4:Object;
var _local5:Number;
graphics.clear();
if (framesLoaded == totalFrames){
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
nextFrame();
_local3 = Class(getDefinitionByName(className));
if (_local3){
_local4 = new (_local3);
addChild((_local4 as DisplayObject));
};
removeChild(loader);
} else {
_local5 = int(((root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal) * 100));
loader.txtPercent.text = (String(_local5) + "% loaded");
loader.movLoadingBar.width = ((306 * _local5) / 100);
};
}
}
}//package com.adamatomic.flixel.data
Section 3
//FlxFactory_ImgBar (com.adamatomic.flixel.data.FlxFactory_ImgBar)
package com.adamatomic.flixel.data {
import mx.core.*;
public class FlxFactory_ImgBar extends BitmapAsset {
}
}//package com.adamatomic.flixel.data
Section 4
//FlxFactory_ImgBit (com.adamatomic.flixel.data.FlxFactory_ImgBit)
package com.adamatomic.flixel.data {
import mx.core.*;
public class FlxFactory_ImgBit extends BitmapAsset {
}
}//package com.adamatomic.flixel.data
Section 5
//FlxLogoPixel (com.adamatomic.flixel.data.FlxLogoPixel)
package com.adamatomic.flixel.data {
import flash.display.*;
public class FlxLogoPixel extends Sprite {
private var _curLayer:uint;
private var _layers:Array;
public function FlxLogoPixel(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:uint){
x = _arg1;
y = _arg2;
_layers = new Array();
var _local6:Array = new Array(4294901760, 4278255360, 4278190335, 4294967040, 4278255615);
_layers.push(addChild(new Bitmap(new BitmapData(_arg3, _arg3, true, _arg5))));
var _local7:uint;
while (_local7 < _local6.length) {
_layers.push(addChild(new Bitmap(new BitmapData(_arg3, _arg3, true, _local6[_arg4]))));
++_arg4;
if (_arg4 >= _local6.length){
_arg4 = 0;
};
_local7++;
};
_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 com.adamatomic.flixel.data
Section 6
//FlxTimerData (com.adamatomic.flixel.data.FlxTimerData)
package com.adamatomic.flixel.data {
public class FlxTimerData {
public var period:Number;
public var callback:Function;
public var name:String;
public var remainder:Number;
public var alive:Boolean;
public function FlxTimerData(_arg1:String, _arg2:Number, _arg3:Function){
name = _arg1;
period = _arg2;
callback = _arg3;
remainder = 0;
alive = true;
}
}
}//package com.adamatomic.flixel.data
Section 7
//FlxArray (com.adamatomic.flixel.FlxArray)
package com.adamatomic.flixel {
public dynamic class FlxArray extends Array {
public function getNonexist():FlxCore{
if (this.length <= 0){
return (null);
};
var _local1:uint;
do {
if (!(this[_local1] as FlxCore).exists){
return (this[_local1]);
};
++_local1;
} while (_local1 < this.length);
return (null);
}
public function add(_arg1:Object):Object{
var _local2:uint;
while (_local2 < this.length) {
if (this[_local2] == null){
return ((this[_local2] = _arg1));
};
_local2++;
};
return (this[(this.push(_arg1) - 1)]);
}
public function remove(_arg1:Object, _arg2:Boolean=false):void{
removeAt(indexOf(_arg1), _arg2);
}
public function removeAt(_arg1:uint, _arg2:Boolean=false):void{
if (_arg2){
this.splice(_arg1, 1);
} else {
this[_arg1] = null;
};
}
public function killAt(_arg1:uint):void{
if ((this[_arg1] is FlxCore)){
this[_arg1].kill();
};
}
public function clear():void{
this.length = 0;
}
public function kill(_arg1:FlxCore):void{
killAt(indexOf(_arg1));
}
public static function getRandom(_arg1:Array):Object{
return (_arg1[Math.floor((Math.random() * _arg1.length))]);
}
}
}//package com.adamatomic.flixel
Section 8
//FlxButton (com.adamatomic.flixel.FlxButton)
package com.adamatomic.flixel {
import flash.geom.*;
public class FlxButton extends FlxCore {
private var _onTO:Point;
private var _pressed:Boolean;
private var _onT:FlxText;
private var _callback:Function;
private var _off:FlxSprite;
private var _onToggle:Boolean;
private var _offTO:Point;
private var _offT:FlxText;
private var _on:FlxSprite;
public function FlxButton(_arg1:int, _arg2:int, _arg3:FlxSprite, _arg4:Function, _arg5:FlxSprite=null, _arg6:FlxText=null, _arg7:FlxText=null){
x = _arg1;
y = _arg2;
_off = _arg3;
if (_arg5 == null){
_on = _off;
} else {
_on = _arg5;
};
width = _off.width;
height = _off.height;
if (_arg6 != null){
_offT = _arg6;
};
if (_arg7 == null){
_onT = _offT;
} else {
_onT = _arg7;
};
if (_offT != null){
_offTO = new Point(_offT.x, _offT.y);
};
if (_onT != null){
_onTO = new Point(_onT.x, _onT.y);
};
_off.scrollFactor = scrollFactor;
_on.scrollFactor = scrollFactor;
if (_offT != null){
_offT.scrollFactor = scrollFactor;
_onT.scrollFactor = scrollFactor;
};
_callback = _arg4;
_onToggle = false;
_pressed = false;
updatePositions();
}
override public function update():void{
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.kMouse){
_pressed = false;
} else {
if (!_pressed){
_pressed = true;
_callback();
};
};
visibility(!(_pressed));
};
if (_onToggle){
visibility(_off.visible);
};
updatePositions();
}
private function visibility(_arg1:Boolean):void{
if (_arg1){
_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;
};
};
}
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 switchOff():void{
_onToggle = false;
}
public function hasFocus():Boolean{
return (_off.overlapsPoint(FlxG.mouse.x, FlxG.mouse.y));
}
public function on():Boolean{
return (_onToggle);
}
private 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 switchOn():void{
_onToggle = true;
}
}
}//package com.adamatomic.flixel
Section 9
//FlxCore (com.adamatomic.flixel.FlxCore)
package com.adamatomic.flixel {
import flash.geom.*;
public class FlxCore {
private var _flicker:Boolean;
public var active:Boolean;
public var visible:Boolean;
public var width:uint;
private var _flickerTimer:Number;
public var exists:Boolean;
public var height:uint;
public var dead:Boolean;
public var x:Number;
public var y:Number;
public var scrollFactor:Point;
public function FlxCore(){
exists = true;
active = true;
visible = true;
dead = false;
x = 0;
y = 0;
width = 0;
height = 0;
scrollFactor = new Point(1, 1);
_flicker = false;
_flickerTimer = -1;
}
public function update():void{
if (flickering()){
if (_flickerTimer > 0){
_flickerTimer = (_flickerTimer - FlxG.elapsed);
};
if (_flickerTimer < 0){
flicker(-1);
} else {
_flicker = !(_flicker);
visible = !(_flicker);
};
};
}
public function flicker(_arg1:Number=1):void{
_flickerTimer = _arg1;
if (_flickerTimer < 0){
_flicker = false;
visible = true;
};
}
public function overlapsPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean{
var _local4:Number = x;
var _local5:Number = y;
if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){
_local4 = (_local4 - Math.floor((FlxG.scroll.x * scrollFactor.x)));
_local5 = (_local5 - Math.floor((FlxG.scroll.y * scrollFactor.y)));
};
if ((((((((_arg1 <= _local4)) || ((_arg1 >= (_local4 + width))))) || ((_arg2 <= _local5)))) || ((_arg2 >= (_local5 + height))))){
return (false);
};
return (true);
}
public function render():void{
}
public function kill():void{
exists = false;
dead = true;
}
protected function getScreenXY(_arg1:Point):void{
_arg1.x = (Math.floor(x) + Math.floor((FlxG.scroll.x * scrollFactor.x)));
_arg1.y = (Math.floor(y) + Math.floor((FlxG.scroll.y * scrollFactor.y)));
}
public function hitFloor():Boolean{
return (true);
}
public function hitCeiling():Boolean{
return (true);
}
public function overlaps(_arg1:FlxCore):Boolean{
var _local2:Number = x;
var _local3:Number = y;
if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){
_local2 = (_local2 - Math.floor((FlxG.scroll.x * scrollFactor.x)));
_local3 = (_local3 - Math.floor((FlxG.scroll.y * scrollFactor.y)));
};
var _local4:Number = _arg1.x;
var _local5:Number = _arg1.y;
if (((!((_arg1.scrollFactor.x == 1))) || (!((_arg1.scrollFactor.y == 1))))){
_local4 = (_local4 - Math.floor((FlxG.scroll.x * _arg1.scrollFactor.x)));
_local5 = (_local5 - Math.floor((FlxG.scroll.y * _arg1.scrollFactor.y)));
};
if ((((((((_local4 <= (_local2 - _arg1.width))) || ((_local4 >= (_local2 + width))))) || ((_local5 <= (_local3 - _arg1.height))))) || ((_local5 >= (_local3 + height))))){
return (false);
};
return (true);
}
public function flickering():Boolean{
return ((_flickerTimer >= 0));
}
public function onScreen():Boolean{
var _local1:Point = new Point();
getScreenXY(_local1);
if (((((((((_local1.x + width) < 0)) || ((_local1.x > FlxG.width)))) || (((_local1.y + height) < 0)))) || ((_local1.y > FlxG.height)))){
return (false);
};
return (true);
}
public function hitWall():Boolean{
return (true);
}
public function collide(_arg1:FlxSprite):void{
if ((((Math.abs((((_arg1.x + (_arg1.width >> 1)) - x) - (width >> 1))) > ((width >> 1) + (_arg1.width >> 1)))) && ((Math.abs((((_arg1.y + (_arg1.height >> 1)) - y) - (height >> 1))) > ((height >> 1) + (_arg1.height >> 1)))))){
return;
};
if ((((_arg1.x > x)) && (((_arg1.x + _arg1.width) < (x + width))))){
if (((((((_arg1.y + _arg1.height) < (y + (height >> 1)))) && (((_arg1.y + _arg1.height) > y)))) && (_arg1.hitFloor()))){
_arg1.y = (y - _arg1.height);
return;
};
if ((((((_arg1.y > (y + (height >> 1)))) && ((_arg1.y < (y + height))))) && (_arg1.hitCeiling()))){
_arg1.y = (y + height);
return;
};
};
if ((((_arg1.y > y)) && (((_arg1.y + _arg1.height) < (y + height))))){
if (((((((_arg1.x + _arg1.width) < (x + (width >> 1)))) && (((_arg1.x + _arg1.width) > x)))) && (_arg1.hitWall()))){
_arg1.x = (x - _arg1.width);
return;
};
if ((((((_arg1.x > (x + (width >> 1)))) && ((_arg1.x < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x + width);
return;
};
};
var _local2:Boolean;
if ((Math.abs(_arg1.velocity.x) > Math.abs(_arg1.velocity.y))){
_local2 = false;
};
var _local3:Boolean;
var _local4:Boolean;
if (_local2){
if (_arg1.velocity.y > 0){
if (overlapsPoint((_arg1.x + (_arg1.width >> 1)), (_arg1.y + _arg1.height))){
if (_arg1.hitFloor()){
_arg1.y = (y - _arg1.height);
};
} else {
_local4 = true;
};
} else {
if (_arg1.velocity.y < 0){
if (overlapsPoint((_arg1.x + (_arg1.width >> 1)), _arg1.y)){
if (_arg1.hitCeiling()){
_arg1.y = (y + height);
};
} else {
_local4 = true;
};
};
};
if (_arg1.velocity.x < 0){
if (overlapsPoint(_arg1.x, (_arg1.y + (_arg1.height >> 1)))){
if (_arg1.hitWall()){
_arg1.x = (x + width);
};
} else {
_local3 = true;
};
} else {
if (_arg1.velocity.x > 0){
if (overlapsPoint((_arg1.x + _arg1.width), (_arg1.y + (_arg1.height >> 1)))){
if (_arg1.hitWall()){
_arg1.x = (x - _arg1.width);
};
} else {
_local3 = true;
};
};
};
} else {
if (_arg1.velocity.x < 0){
if (overlapsPoint(_arg1.x, (_arg1.y + (_arg1.height >> 1)))){
if (_arg1.hitWall()){
_arg1.x = (x + width);
};
} else {
_local3 = true;
};
} else {
if (_arg1.velocity.x > 0){
if (overlapsPoint((_arg1.x + _arg1.width), (_arg1.y + (_arg1.height >> 1)))){
if (_arg1.hitWall()){
_arg1.x = (x - _arg1.width);
};
} else {
_local3 = true;
};
};
};
if (_arg1.velocity.y > 0){
if (overlapsPoint((_arg1.x + (_arg1.width >> 1)), (_arg1.y + _arg1.height))){
if (_arg1.hitFloor()){
_arg1.y = (y - _arg1.height);
};
} else {
_local4 = true;
};
} else {
if (_arg1.velocity.y < 0){
if (overlapsPoint((_arg1.x + (_arg1.width >> 1)), _arg1.y)){
if (_arg1.hitCeiling()){
_arg1.y = (y + height);
};
} else {
_local4 = true;
};
};
};
};
if (((!(_local4)) && (!(_local3)))){
return;
};
var _local5 = (_arg1.width >> 3);
if (_local5 < 1){
_local5 = 1;
};
if (((_local4) && (_local3))){
if (_local2){
if (_local4){
if ((((((_arg1.x + _arg1.width) - _local5) > x)) && (((_arg1.x + _local5) < (x + width))))){
if ((((((((_arg1.velocity.y > 0)) && (((_arg1.y + _arg1.height) > y)))) && (((_arg1.y + _arg1.height) < (y + height))))) && (_arg1.hitFloor()))){
_arg1.y = (y - _arg1.height);
} else {
if ((((((((_arg1.velocity.y < 0)) && ((_arg1.y > y)))) && ((_arg1.y < (y + height))))) && (_arg1.hitCeiling()))){
_arg1.y = (y + height);
};
};
};
};
if (_local3){
if ((((((_arg1.y + _arg1.height) - _local5) > y)) && (((_arg1.y + _local5) < (y + height))))){
if ((((((((_arg1.velocity.x > 0)) && (((_arg1.x + _arg1.width) > x)))) && (((_arg1.x + _arg1.width) < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x - _arg1.width);
} else {
if ((((((((_arg1.velocity.x < 0)) && ((_arg1.x > x)))) && ((_arg1.x < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x + width);
};
};
};
};
} else {
if (_local3){
if ((((((_arg1.y + _arg1.height) - _local5) > y)) && (((_arg1.y + _local5) < (y + height))))){
if ((((((((_arg1.velocity.x > 0)) && (((_arg1.x + _arg1.width) > x)))) && (((_arg1.x + _arg1.width) < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x - _arg1.width);
} else {
if ((((((((_arg1.velocity.x < 0)) && ((_arg1.x > x)))) && ((_arg1.x < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x + width);
};
};
};
};
if (_local4){
if ((((((_arg1.x + _arg1.width) - _local5) > x)) && (((_arg1.x + _local5) < (x + width))))){
if ((((((((_arg1.velocity.y > 0)) && (((_arg1.y + _arg1.height) > y)))) && (((_arg1.y + _arg1.height) < (y + height))))) && (_arg1.hitFloor()))){
_arg1.y = (y - _arg1.height);
} else {
if ((((((((_arg1.velocity.y < 0)) && ((_arg1.y > y)))) && ((_arg1.y < (y + height))))) && (_arg1.hitCeiling()))){
_arg1.y = (y + height);
};
};
};
};
};
} else {
if (_local4){
if ((((((_arg1.x + _arg1.width) - _local5) > x)) && (((_arg1.x + _local5) < (x + width))))){
if ((((((((_arg1.velocity.y > 0)) && (((_arg1.y + _arg1.height) > y)))) && (((_arg1.y + _arg1.height) < (y + height))))) && (_arg1.hitFloor()))){
_arg1.y = (y - _arg1.height);
} else {
if ((((((((_arg1.velocity.y < 0)) && ((_arg1.y > y)))) && ((_arg1.y < (y + height))))) && (_arg1.hitCeiling()))){
_arg1.y = (y + height);
};
};
};
} else {
if (_local3){
if ((((((_arg1.y + _arg1.height) - _local5) > y)) && (((_arg1.y + _local5) < (y + height))))){
if ((((((((_arg1.velocity.x > 0)) && (((_arg1.x + _arg1.width) > x)))) && (((_arg1.x + _arg1.width) < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x - _arg1.width);
} else {
if ((((((((_arg1.velocity.x < 0)) && ((_arg1.x > x)))) && ((_arg1.x < (x + width))))) && (_arg1.hitWall()))){
_arg1.x = (x + width);
};
};
};
};
};
};
}
}
}//package com.adamatomic.flixel
Section 10
//FlxG (com.adamatomic.flixel.FlxG)
package com.adamatomic.flixel {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
public class FlxG {
public static const LEFT:uint = 0;
public static const A:uint = 4;
public static const B:uint = 5;
public static const MOUSE:uint = 6;
public static const UP:uint = 2;
public static const DOWN:uint = 3;
public static const RIGHT:uint = 1;
public static var kMouse:Boolean;
public static var kLeft:Boolean;
private static var KEYCONTROL:FlxKeyControl = new FlxKeyControl();
public static var scores:FlxArray;
private static var _music:Sound;
public static var height:uint;
public static var kB:Boolean;
private static var _volume:Number;
public static var kA:Boolean;
public static var buffer:BitmapData;
private static var _fade:Function;
public static var kUp:Boolean;
public static var levels:FlxArray;
public static var kRight:Boolean;
private static var _muted:uint;
private static var _musicPosition:Number;
private static var _oldKeys:Array;
private static var _cache:Object;
public static var level:uint;
public static var state:FlxState;
public static var score:uint;
private static var _log:Function;
private static var _scrollTarget:Point;
public static var elapsed:Number;
public static var mouse:Point;
public static var followTarget:FlxCore;
public static var kDown:Boolean;
public static var followLead:Point;
public static var width:uint;
public static var followLerp:Number;
public static var mouseClicked:Boolean = false;
public static var scroll:Point;
private static var _keys:Array;
private static var _setCursor:Function;
private static var _quake:Function;
private static var _musicVolume:Number;
public static var oldkMouse:Boolean = false;
public static var followMin:Point;
private static var _flash:Function;
public static var followMax:Point;
private static var _masterVolume:Number;
private static var _musicChannel:SoundChannel;
private static var _switchState:Function;
public static function removeInactiveObjects(_arg1:FlxArray):FlxArray{
var _local2:FlxArray = new FlxArray();
var _local3:Number = 0;
while (_local3 < _arg1.length) {
if (_arg1[_local3] == null){
} else {
if (_arg1[_local3].active){
_local2.add(_arg1[_local3]);
};
};
_local3++;
};
_arg1.clear();
return (_local2);
}
public static function getVolume():Number{
return (_volume);
}
public static function collideArrays(_arg1:FlxArray, _arg2:FlxArray):void{
var _local3:uint;
var _local4:uint;
var _local5:FlxCore;
var _local6:FlxSprite;
if (_arg1 === _arg2){
_local3 = 0;
while (_local3 < _arg1.length) {
_local5 = _arg1[_local3];
if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){
} else {
_local4 = (_local3 + 1);
while (_local4 < _arg2.length) {
_local6 = _arg2[_local4];
if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){
} else {
_local5.collide(_local6);
};
_local4++;
};
};
_local3++;
};
} else {
_local3 = 0;
while (_local3 < _arg1.length) {
_local5 = _arg1[_local3];
if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){
} else {
_local4 = 0;
while (_local4 < _arg2.length) {
_local6 = _arg2[_local4];
if ((((((((_local5 === _local6)) || ((_local6 == null)))) || (!(_local6.exists)))) || (_local6.dead))){
} else {
_local5.collide(_local6);
};
_local4++;
};
};
_local3++;
};
};
}
public static function setVolume(_arg1:Number):void{
_volume = _arg1;
adjustMusicVolume();
}
public static function getAngle(_arg1:Number, _arg2:Number):Number{
return (((Math.atan2(_arg2, _arg1) * 180) / Math.PI));
}
public static function bOverlapArrays(_arg1:FlxArray, _arg2:FlxArray, _arg3:Function):void{
var _local4:uint;
var _local5:uint;
var _local6:FlxSpriteEx;
var _local7:FlxSpriteEx;
if (_arg1 === _arg2){
_local4 = 0;
while (_local4 < _arg1.length) {
_local6 = _arg1[_local4];
if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){
} else {
_local5 = (_local4 + 1);
while (_local5 < _arg2.length) {
_local7 = _arg2[_local5];
if ((((((_local7 == null)) || (!(_local7.exists)))) || (_local7.dead))){
} else {
if (_local6.bOverlaps(_local7)){
_arg3(_local6, _local7);
};
};
_local5++;
};
};
_local4++;
};
} else {
_local4 = 0;
while (_local4 < _arg1.length) {
_local6 = _arg1[_local4];
if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){
} else {
_local5 = 0;
while (_local5 < _arg2.length) {
_local7 = _arg2[_local5];
if ((((((((_local6 === _local7)) || ((_local7 == null)))) || (!(_local7.exists)))) || (_local7.dead))){
} else {
if (_local6.bOverlaps(_local7)){
_arg3(_local6, _local7);
};
};
_local5++;
};
};
_local4++;
};
};
}
static function doFollow():void{
if (followTarget != null){
if (((followTarget.exists) && (!(followTarget.dead)))){
_scrollTarget.x = (((width >> 1) - followTarget.x) - (followTarget.width >> 1));
_scrollTarget.y = (((height >> 1) - followTarget.y) - (followTarget.height >> 1));
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 AddKey(_arg1:int, _arg2:String):void{
KEYCONTROL.AddKey(_arg1, _arg2);
}
public static function addBitmap(_arg1:Class, _arg2:Boolean=false):BitmapData{
var _local6:BitmapData;
var _local7:Matrix;
var _local3:Boolean;
var _local4:String = String(_arg1);
if ((((_cache[_local4] == undefined)) || ((_cache[_local4] == null)))){
_cache[_local4] = new (_arg1).bitmapData;
if (_arg2){
_local3 = true;
};
};
var _local5:BitmapData = _cache[_local4];
if (((((!(_local3)) && (_arg2))) && ((_local5.width == new (_arg1).bitmapData.width)))){
_local3 = true;
};
if (_local3){
_local6 = new BitmapData((_local5.width << 1), _local5.height, true, 0);
_local6.draw(_local5);
_local7 = new Matrix();
_local7.scale(-1, 1);
_local7.translate(_local6.width, 0);
_local6.draw(_local5, _local7);
_local5 = _local6;
};
return (_local5);
}
public static function pressed(_arg1:String):Boolean{
return (KEYCONTROL.Pressed(_arg1));
}
public static function play(_arg1:Class, _arg2:Number=1):void{
new (_arg1).play(0, 0, new SoundTransform((((_arg2 * _muted) * _volume) * _masterVolume)));
}
public static function computeVelocity(_arg1:Number, _arg2:Number=0, _arg3:Number=0, _arg4:Number=10000):Number{
var _local5:Number;
if (_arg2 != 0){
_arg1 = (_arg1 + (_arg2 * FlxG.elapsed));
} else {
if (_arg3 != 0){
_local5 = (_arg3 * FlxG.elapsed);
if ((_arg1 - _local5) > 0){
_arg1 = (_arg1 - _local5);
} else {
if ((_arg1 + _local5) < 0){
_arg1 = (_arg1 + _local5);
} else {
_arg1 = 0;
};
};
};
};
if (((!((_arg1 == 0))) && (!((_arg4 == 10000))))){
if (_arg1 > _arg4){
_arg1 = _arg4;
} else {
if (_arg1 < -(_arg4)){
_arg1 = -(_arg4);
};
};
};
return (_arg1);
}
static function setGameData(_arg1:uint, _arg2:uint, _arg3:Function, _arg4:Function, _arg5:Function, _arg6:Function, _arg7:Function, _arg8:Function):void{
_cache = new Object();
width = _arg1;
height = _arg2;
_muted = 1;
_volume = 1;
_musicVolume = 1;
_masterVolume = 0.5;
_musicPosition = -1;
mouse = new Point();
_switchState = _arg3;
_log = _arg4;
_quake = _arg5;
_flash = _arg6;
_fade = _arg7;
_setCursor = _arg8;
unfollow();
_keys = new Array();
_oldKeys = new Array();
var _local9:uint;
while (_local9 < 7) {
_keys.push(0);
_oldKeys.push(0);
_local9++;
};
FlxG.levels = new FlxArray();
FlxG.scores = new FlxArray();
level = 0;
score = 0;
}
public static function stopMusic():void{
_musicPosition = 0;
if (_musicChannel != null){
_musicChannel.stop();
_musicChannel = null;
};
}
public static function unsetUnknownCallback():void{
KEYCONTROL.unknownKeyCallback = null;
}
public static function justReleased(_arg1:String):Boolean{
return (KEYCONTROL.JustReleased(_arg1));
}
public static function playMusic():void{
if (_musicPosition < 0){
return;
};
if (_musicPosition == 0){
if (_musicChannel == null){
_musicChannel = _music.play(0, 9999, new SoundTransform((((_muted * _volume) * _musicVolume) * _masterVolume)));
};
} else {
_musicChannel = _music.play(_musicPosition, 0, new SoundTransform((((_muted * _volume) * _musicVolume) * _masterVolume)));
_musicChannel.addEventListener(Event.SOUND_COMPLETE, loopMusic);
};
_musicPosition = 0;
}
public static function createBitmap(_arg1:uint, _arg2:uint, _arg3:uint):BitmapData{
var _local4:String = ((((_arg1 + "x") + _arg2) + ":") + _arg3);
if ((((_cache[_local4] == undefined)) || ((_cache[_local4] == null)))){
_cache[_local4] = new BitmapData(_arg1, _arg2, true, _arg3);
};
return (_cache[_local4]);
}
public static function log(_arg1:String):void{
_log(_arg1);
}
static function pressKey(_arg1:int):void{
KEYCONTROL.PressKey(_arg1);
}
public static function setCursor(_arg1:Class):void{
_setCursor(_arg1);
}
public static function overlapArray(_arg1:FlxArray, _arg2:FlxCore, _arg3:Function):void{
var _local4:FlxCore;
if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){
return;
};
var _local5:uint;
while (_local5 < _arg1.length) {
_local4 = _arg1[_local5];
if ((((((((_local4 === _arg2)) || ((_local4 == null)))) || (!(_local4.exists)))) || (_local4.dead))){
} else {
if (_local4.overlaps(_arg2)){
_arg3(_local4, _arg2);
};
};
_local5++;
};
}
static function updateKeys():void{
KEYCONTROL.UpdateKeys();
mouse.x = (state.mouseX - scroll.x);
mouse.y = (state.mouseY - scroll.y);
}
public static function overlapArrays(_arg1:FlxArray, _arg2:FlxArray, _arg3:Function):void{
var _local4:uint;
var _local5:uint;
var _local6:FlxCore;
var _local7:FlxCore;
if (_arg1 === _arg2){
_local4 = 0;
while (_local4 < _arg1.length) {
_local6 = _arg1[_local4];
if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){
} else {
_local5 = (_local4 + 1);
while (_local5 < _arg2.length) {
_local7 = _arg2[_local5];
if ((((((_local7 == null)) || (!(_local7.exists)))) || (_local7.dead))){
} else {
if (_local6.overlaps(_local7)){
_arg3(_local6, _local7);
};
};
_local5++;
};
};
_local4++;
};
} else {
_local4 = 0;
while (_local4 < _arg1.length) {
_local6 = _arg1[_local4];
if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){
} else {
_local5 = 0;
while (_local5 < _arg2.length) {
_local7 = _arg2[_local5];
if ((((((((_local6 === _local7)) || ((_local7 == null)))) || (!(_local7.exists)))) || (_local7.dead))){
} else {
if (_local6.overlaps(_local7)){
_arg3(_local6, _local7);
};
};
_local5++;
};
};
_local4++;
};
};
}
public static function getMusicVolume():Number{
return (_musicVolume);
}
static function unfollow():void{
followTarget = null;
followLead = null;
followLerp = 1;
followMin = null;
followMax = null;
scroll = new Point();
_scrollTarget = new Point();
}
public static function getMute():Boolean{
if (_muted == 0){
return (true);
};
return (false);
}
public static function justPressed(_arg1:String):Boolean{
return (KEYCONTROL.JustPressed(_arg1));
}
private static function adjustMusicVolume():void{
if (_muted < 0){
_muted = 0;
} else {
if (_muted > 1){
_muted = 1;
};
};
if (_volume < 0){
_volume = 0;
} else {
if (_volume > 1){
_volume = 1;
};
};
if (_musicVolume < 0){
_musicVolume = 0;
} else {
if (_musicVolume > 1){
_musicVolume = 1;
};
};
if (_masterVolume < 0){
_masterVolume = 0;
} else {
if (_masterVolume > 1){
_masterVolume = 1;
};
};
if (_musicChannel != null){
_musicChannel.soundTransform = new SoundTransform((((_muted * _volume) * _musicVolume) * _masterVolume));
};
}
static function getMasterVolume():Number{
return (_masterVolume);
}
public static function followAdjust(_arg1:Number=0, _arg2:Number=0):void{
followLead = new Point(_arg1, _arg2);
}
public static function setMute(_arg1:Boolean):void{
if (_arg1){
_muted = 0;
} else {
_muted = 1;
};
adjustMusicVolume();
}
public static function follow(_arg1:FlxCore, _arg2:Number=1):void{
followTarget = _arg1;
followLerp = _arg2;
scroll.x = (_scrollTarget.x = (((width >> 1) - followTarget.x) - (followTarget.width >> 1)));
scroll.y = (_scrollTarget.y = (((height >> 1) - followTarget.y) - (followTarget.height >> 1)));
}
public static function fade(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{
_fade(_arg1, _arg2, _arg3, _arg4);
}
public static function collideArray(_arg1:FlxArray, _arg2:FlxSprite):void{
var _local3:FlxCore;
if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){
return;
};
var _local4:uint;
while (_local4 < _arg1.length) {
_local3 = _arg1[_local4];
if ((((((((_local3 === _arg2)) || ((_local3 == null)))) || (!(_local3.exists)))) || (_local3.dead))){
} else {
_local3.collide(_arg2);
};
_local4++;
};
}
public static function switchState(_arg1:Class):void{
_switchState(_arg1);
}
public static function openURL(_arg1:String):void{
navigateToURL(new URLRequest(_arg1), "_blank");
}
static function setMasterVolume(_arg1:Number):void{
_masterVolume = _arg1;
adjustMusicVolume();
}
public static function pauseMusic():void{
if (_musicChannel == null){
_musicPosition = -1;
return;
};
_musicPosition = _musicChannel.position;
_musicChannel.stop();
while (_musicPosition >= _music.length) {
_musicPosition = (_musicPosition - _music.length);
};
_musicChannel = null;
}
public static function bOverlapArray(_arg1:FlxArray, _arg2:FlxSpriteEx, _arg3:Function):void{
var _local4:FlxSpriteEx;
if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){
return;
};
var _local5:uint;
while (_local5 < _arg1.length) {
_local4 = _arg1[_local5];
if ((((((((_local4 === _arg2)) || ((_local4 == null)))) || (!(_local4.exists)))) || (_local4.dead))){
} else {
if (_local4.bOverlaps(_arg2)){
_arg3(_local4, _arg2);
};
};
_local5++;
};
}
public static function followBounds(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0):void{
followMin = new Point(-(_arg1), -(_arg2));
followMax = new Point((-(_arg3) + width), (-(_arg4) + height));
if (followMax.x > followMin.x){
followMax.x = followMin.x;
};
if (followMax.y > followMin.y){
followMax.y = followMin.y;
};
}
public static function collideArray2(_arg1:FlxCore, _arg2:FlxArray):void{
var _local3:FlxSprite;
if ((((((_arg1 == null)) || (!(_arg1.exists)))) || (_arg1.dead))){
return;
};
var _local4:uint;
while (_local4 < _arg2.length) {
_local3 = _arg2[_local4];
if ((((((((_arg1 === _local3)) || ((_local3 == null)))) || (!(_local3.exists)))) || (_local3.dead))){
} else {
_arg1.collide(_local3);
};
_local4++;
};
}
public static function setMusicVolume(_arg1:Number):void{
_musicVolume = _arg1;
adjustMusicVolume();
}
public static function resetKeys():void{
KEYCONTROL.ResetKeys();
}
static function releaseKey(_arg1:int):void{
KEYCONTROL.ReleaseKey(_arg1);
}
public static function setMusic(_arg1:Class, _arg2:Number=1, _arg3:Boolean=true):void{
stopMusic();
_music = new (_arg1);
_musicVolume = _arg2;
if (_arg3){
playMusic();
};
}
public static function setUnknownCallback(_arg1:Function):void{
KEYCONTROL.unknownKeyCallback = _arg1;
}
public static function quake(_arg1:Number, _arg2:Number=0.5):void{
_quake(_arg1, _arg2);
}
private static function loopMusic(_arg1:Event=null):void{
if (_musicChannel == null){
return;
};
_musicChannel.removeEventListener(Event.SOUND_COMPLETE, loopMusic);
_musicChannel = null;
playMusic();
}
public static function rotatePoint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Point{
var _local6:Number = ((-(_arg5) / 180) * Math.PI);
var _local7:Number = (_arg1 - _arg3);
var _local8:Number = (_arg4 - _arg2);
return (new Point(((_arg3 + (Math.cos(_local6) * _local7)) - (Math.sin(_local6) * _local8)), (_arg4 - ((Math.sin(_local6) * _local7) + (Math.cos(_local6) * _local8)))));
}
public static function flash(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{
_flash(_arg1, _arg2, _arg3, _arg4);
}
}
}//package com.adamatomic.flixel
Section 11
//FlxGame (com.adamatomic.flixel.FlxGame)
package com.adamatomic.flixel {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import com.adamatomic.flixel.data.*;
import flash.ui.*;
public class FlxGame extends Sprite {
private const MAX_CONSOLE_LINES:uint = 0x0100;
private const MAX_ELAPSED:Number = 0.0333;
private var _bmpFront:Bitmap;
private var ImgKeyC:Class;
private var _FPS:Array;
private var _flashDelay:Number;
private var ImgKeyMinus:Class;
private var SndBeep:Class;
private var _console:Sprite;
private var _flashHelper:Number;
private var ImgKeyX:Class;
private var _logoFade:Bitmap;
private var _help:Array;
private var _consoleYT:Number;
private var _quakeIntensity:Number;
private var _elapsed:Number;
private var _consoleY:Number;
private var _flipped:Boolean;
private var _total:uint;
private var _soundTrayBars:Array;
private var junk:String;// = "FlxGame_junk"
private var ImgKeyMouse:Class;
private var _flashComplete:Function;
private var _paused:Boolean;
private var _focusPopup:Sprite;
private var _quakeTimer:Number;
private var _fade:Bitmap;
private var _fc:uint;
private var _buffer:Sprite;
private var _poweredBy:Bitmap;
private var _consoleText:TextField;
private var _fSound:Class;
private var _soundTray:Sprite;
private var _frame:Class;
private var _cursor:Bitmap;
private var ImgKeyPlus:Class;
private var ImgPoweredBy:Class;
private var _soundTrayTimer:Number;
private var SndFlixel:Class;
private var _gy:int;
private var _fpsUpdate:Boolean;
private var _gx:int;
private var _curState:FlxState;
private var ImgKeysArrows:Class;
private var _showLogo:Boolean;
private var _curFPS:uint;
private var _created:Boolean;
private var _focusField:TextField;
private var _consoleFPS:TextField;
private var _fadeComplete:Function;
private var _iState:Class;
private var _bmpBack:Bitmap;
private var _consoleLines:Array;
private var _logoTimer:Number;
private var _quakeLength:Number;
private var _logoComplete:Boolean;
private var _f:FlxArray;
private var _fadeHelper:Number;
private var _fadeDelay:Number;
private var ImgKey0:Class;
private var ImgKey1:Class;
private var _flash:Bitmap;
private var _z:uint;
private var _bgc:Number;
public function FlxGame(_arg1:uint, _arg2:uint, _arg3:Class, _arg4:uint=2, _arg5:Number=4278190080, _arg6:Boolean=true, _arg7:Number=4294967295, _arg8:Class=null, _arg9:Class=null, _arg10:uint=0, _arg11:uint=0){
ImgPoweredBy = FlxGame_ImgPoweredBy;
ImgKeyX = FlxGame_ImgKeyX;
ImgKeyC = FlxGame_ImgKeyC;
ImgKeyMouse = FlxGame_ImgKeyMouse;
ImgKeysArrows = FlxGame_ImgKeysArrows;
ImgKeyMinus = FlxGame_ImgKeyMinus;
ImgKeyPlus = FlxGame_ImgKeyPlus;
ImgKey0 = FlxGame_ImgKey0;
ImgKey1 = FlxGame_ImgKey1;
SndBeep = FlxGame_SndBeep;
SndFlixel = FlxGame_SndFlixel;
super();
_z = _arg4;
_gx = _arg10;
_gy = _arg11;
_bgc = _arg5;
_fc = _arg7;
FlxG.setGameData(_arg1, _arg2, switchState, log, quake, flash, fade, setCursor);
_created = false;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
_elapsed = 0;
_total = 0;
_fpsUpdate = true;
_logoComplete = false;
_f = null;
_quakeTimer = 0;
_quakeIntensity = 0;
_quakeLength = 0;
if (_arg8 == null){
_fSound = SndFlixel;
} else {
_fSound = _arg8;
};
_curState = null;
_frame = _arg9;
_iState = _arg3;
_FPS = new Array(8);
_curFPS = 0;
_paused = false;
_help = new Array();
_help.push("A Button");
_help.push("B Button");
_help.push("Mouse");
_help.push("Move");
_showLogo = _arg6;
}
private function onFocus(_arg1:Event=null):void{
_focusPopup.visible = false;
FlxG.resetKeys();
_paused = false;
FlxG.playMusic();
}
private function log(_arg1:String):void{
var _local2:String;
var _local3:uint;
if (_arg1 == null){
_arg1 = "ERROR: NULL GAME LOG MESSAGE";
};
if (_console == null){
trace(_arg1);
return;
};
_consoleLines.push(_arg1);
if (_consoleLines.length > MAX_CONSOLE_LINES){
_consoleLines.shift();
_local2 = "";
_local3 = 0;
while (_local3 < _consoleLines.length) {
_local2 = (_local2 + (_consoleLines[_local3] + "\n"));
_local3++;
};
_consoleText.text = _local2;
} else {
_consoleText.appendText((_arg1 + "\n"));
};
_consoleText.scrollV = _consoleText.height;
}
private function setCursor(_arg1:Class):void{
if (_cursor != null){
_buffer.removeChild(_cursor);
};
_cursor = (_buffer.addChild(new (_arg1)) as Bitmap);
}
protected function help(_arg1:String=null, _arg2:String=null, _arg3:String=null, _arg4:String=null):void{
if (_arg1 != null){
_help[0] = _arg1;
};
if (_arg2 != null){
_help[1] = _arg2;
};
if (_arg3 != null){
_help[2] = _arg3;
};
if (_arg4 != null){
_help[3] = _arg4;
};
}
private function toggleConsole():void{
if (_consoleYT == (_gy * _z)){
_consoleYT = ((_gy * _z) - (FlxG.height * _z));
} else {
_consoleYT = (_gy * _z);
_console.visible = true;
};
}
private function showSoundTray():void{
FlxG.play(SndBeep);
_soundTrayTimer = 1;
_soundTray.y = (_gy * _z);
_soundTray.visible = true;
var _local1:uint = Math.round((FlxG.getMasterVolume() * 10));
if (FlxG.getMute()){
_local1 = 0;
};
var _local2:uint;
while (_local2 < _soundTrayBars.length) {
if (_local2 < _local1){
_soundTrayBars[_local2].alpha = 1;
} else {
_soundTrayBars[_local2].alpha = 0.5;
};
_local2++;
};
}
private function fade(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{
if (_arg1 == 0){
_fade.visible = false;
return;
};
if (((!(_arg4)) && (_fade.visible))){
return;
};
_fade.bitmapData.fillRect(new Rectangle(0, 0, _fade.width, _fade.height), _arg1);
_fadeDelay = _arg2;
_fadeComplete = _arg3;
_fadeHelper = 0;
_fade.alpha = 0;
_fade.visible = true;
}
private function onMouseUp(_arg1:MouseEvent):void{
FlxG.kMouse = false;
}
private function onKeyUp(_arg1:KeyboardEvent):void{
var _local2:String = String.fromCharCode(_arg1.charCode);
FlxG.releaseKey(_arg1.keyCode);
if ((((_local2 == "0")) || ((_local2 == ")")))){
FlxG.setMute(!(FlxG.getMute()));
showSoundTray();
} else {
if ((((_local2 == "-")) || ((_local2 == "_")))){
FlxG.setMute(false);
FlxG.setMasterVolume((FlxG.getMasterVolume() - 0.1));
showSoundTray();
} else {
if ((((_local2 == "+")) || ((_local2 == "=")))){
FlxG.setMute(false);
FlxG.setMasterVolume((FlxG.getMasterVolume() + 0.1));
showSoundTray();
} else {
if ((((((((_local2 == "1")) || ((_local2 == "!")))) || ((_local2 == "~")))) || ((_local2 == "`")))){
toggleConsole();
};
};
};
};
}
private function onEnterFrame(_arg1:Event):void{
var _local2:uint;
var _local4:uint;
var _local5:Bitmap;
var _local6:uint;
var _local7:uint;
var _local8:int;
var _local9:int;
var _local10:ColorTransform;
var _local11:TextField;
var _local12:Bitmap;
var _local13:uint;
var _local14:uint;
var _local15:Bitmap;
var _local3:uint = getTimer();
_elapsed = ((_local3 - _total) / 1000);
_total = _local3;
FlxG.elapsed = _elapsed;
if (FlxG.elapsed > MAX_ELAPSED){
FlxG.elapsed = MAX_ELAPSED;
};
if (_logoComplete){
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;
};
};
};
if (_console.visible){
_FPS[_curFPS] = (1 / _elapsed);
if (++_curFPS >= _FPS.length){
_curFPS = 0;
};
_fpsUpdate = !(_fpsUpdate);
if (_fpsUpdate){
_local4 = 0;
_local2 = 0;
while (_local2 < _FPS.length) {
_local4 = (_local4 + _FPS[_local2]);
_local2++;
};
_consoleFPS.text = (Math.floor((_local4 / _FPS.length)) + " fps");
};
};
if (_consoleY < _consoleYT){
_consoleY = (_consoleY + ((FlxG.height * 10) * _elapsed));
} else {
if (_consoleY > _consoleYT){
_consoleY = (_consoleY - ((FlxG.height * 10) * _elapsed));
};
};
if (_consoleY > (_gy * _z)){
_consoleY = (_gy * _z);
} else {
if (_consoleY < ((_gy * _z) - (FlxG.height * _z))){
_consoleY = ((_gy * _z) - (FlxG.height * _z));
_console.visible = false;
};
};
_console.y = Math.floor(_consoleY);
if (!_paused){
FlxG.updateKeys();
if (_cursor != null){
_cursor.x = (FlxG.mouse.x + FlxG.scroll.x);
_cursor.y = (FlxG.mouse.y + FlxG.scroll.y);
};
FlxG.doFollow();
_curState.update();
if (_quakeTimer > 0){
_quakeTimer = (_quakeTimer + _elapsed);
if (_quakeTimer > _quakeLength){
_quakeTimer = 0;
_buffer.x = 0;
_buffer.y = 0;
} else {
_buffer.x = (((((Math.random() * _quakeIntensity) * FlxG.width) * 2) - (_quakeIntensity * FlxG.width)) * _z);
_buffer.y = (((((Math.random() * _quakeIntensity) * FlxG.height) * 2) - (_quakeIntensity * FlxG.height)) * _z);
};
};
if (_flash.visible){
_flashHelper = (_flashHelper - (_elapsed / _flashDelay));
_flash.alpha = _flashHelper;
if (_flash.alpha <= 0){
_flash.visible = false;
if (_flashComplete != null){
_flashComplete();
};
};
};
if (((_fade.visible) && (!((_fade.alpha == 1))))){
_fadeHelper = (_fadeHelper + (_elapsed / _fadeDelay));
_fade.alpha = _fadeHelper;
if (_fade.alpha >= 1){
_fade.alpha = 1;
if (_fadeComplete != null){
_fadeComplete();
};
};
};
if (_flipped){
_bmpFront.bitmapData.fillRect(new Rectangle(0, 0, _bmpFront.width, _bmpFront.height), _bgc);
FlxG.buffer = _bmpFront.bitmapData;
} else {
_bmpBack.bitmapData.fillRect(new Rectangle(0, 0, _bmpBack.width, _bmpBack.height), _bgc);
FlxG.buffer = _bmpBack.bitmapData;
};
_curState.render();
_bmpBack.visible = !((_bmpFront.visible = _flipped));
_flipped = !(_flipped);
};
} else {
if (_created){
if (!_showLogo){
_logoComplete = true;
switchState(_iState);
} else {
if (_f == null){
_f = new FlxArray();
_local6 = 1;
if (FlxG.height > 200){
_local6 = 2;
};
_local7 = (32 * _local6);
_local8 = (((FlxG.height * _z) / 2) - (_local7 * 2));
_local9 = (((FlxG.width * _z) / 2) - _local7);
_f.push((addChild(new FlxLogoPixel((_local9 + _local7), _local8, _local7, 0, _fc)) as FlxLogoPixel));
_f.push((addChild(new FlxLogoPixel(_local9, (_local8 + _local7), _local7, 1, _fc)) as FlxLogoPixel));
_f.push((addChild(new FlxLogoPixel(_local9, (_local8 + (_local7 * 2)), _local7, 2, _fc)) as FlxLogoPixel));
_f.push((addChild(new FlxLogoPixel((_local9 + _local7), (_local8 + (_local7 * 2)), _local7, 3, _fc)) as FlxLogoPixel));
_f.push((addChild(new FlxLogoPixel(_local9, (_local8 + (_local7 * 3)), _local7, 4, _fc)) as FlxLogoPixel));
_poweredBy = new ImgPoweredBy();
_poweredBy.scaleX = _local6;
_poweredBy.scaleY = _local6;
_poweredBy.x = (((FlxG.width * _z) / 2) - (_poweredBy.width / 2));
_poweredBy.y = ((_local8 + (_local7 * 4)) + 16);
_local10 = new ColorTransform();
_local10.color = _fc;
_poweredBy.bitmapData.colorTransform(new Rectangle(0, 0, _poweredBy.width, _poweredBy.height), _local10);
addChild(_poweredBy);
_logoFade = (addChild(new Bitmap(new BitmapData((FlxG.width * _z), (FlxG.height * _z), true, 4278190080))) as Bitmap);
_logoFade.x = (_gx * _z);
_logoFade.y = (_gy * _z);
if (_fSound != null){
new _fSound().play(0, 0, new SoundTransform(0.35, 0));
};
};
_logoTimer = (_logoTimer + _elapsed);
_local2 = 0;
while (_local2 < _f.length) {
_f[_local2].update();
_local2++;
};
if (_logoFade.alpha > 0){
_logoFade.alpha = (_logoFade.alpha - (_elapsed * 0.5));
};
if (_logoTimer > 2){
removeChild(_poweredBy);
_local2 = 0;
while (_local2 < _f.length) {
removeChild(_f[_local2]);
_local2++;
};
_f.clear();
removeChild(_logoFade);
switchState(_iState);
_logoComplete = true;
};
};
} else {
if (root != null){
stage.showDefaultContextMenu = false;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.frameRate = 30;
_buffer = new Sprite();
_buffer.scaleX = _z;
_buffer.scaleY = _z;
addChild(_buffer);
_bmpBack = new Bitmap(new BitmapData(FlxG.width, FlxG.height, true, _bgc));
_bmpBack.x = _gx;
_bmpBack.y = _gy;
_buffer.addChild(_bmpBack);
_bmpFront = new Bitmap(new BitmapData(_bmpBack.width, _bmpBack.height, true, _bgc));
_bmpFront.x = _bmpBack.x;
_bmpFront.y = _bmpBack.y;
_buffer.addChild(_bmpFront);
_flipped = false;
_flash = new Bitmap(new BitmapData((FlxG.width * _z), (FlxG.height * _z)));
_flash.x = (_gx * _z);
_flash.y = (_gy * _z);
_flash.visible = false;
addChild(_flash);
_fade = new Bitmap(new BitmapData((FlxG.width * _z), (FlxG.height * _z)));
_fade.x = (_gx * _z);
_fade.y = (_gy * _z);
_fade.visible = false;
addChild(_fade);
_console = new Sprite();
_console.visible = false;
_console.x = (_gx * _z);
_console.y = ((_gy * _z) - (FlxG.height * _z));
_consoleYT = (_consoleY = _console.y);
_local5 = new Bitmap(new BitmapData((FlxG.width * _z), (FlxG.height * _z), true, 2130706432));
_console.addChild(_local5);
_consoleText = new TextField();
_consoleText.width = _local5.width;
_consoleText.height = _local5.height;
_consoleText.multiline = true;
_consoleText.wordWrap = true;
_consoleText.embedFonts = true;
_consoleText.antiAliasType = AntiAliasType.NORMAL;
_consoleText.gridFitType = GridFitType.PIXEL;
_consoleText.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF);
_console.addChild(_consoleText);
_consoleFPS = new TextField();
_consoleFPS.width = _local5.width;
_consoleFPS.height = 20;
_consoleFPS.multiline = true;
_consoleFPS.wordWrap = true;
_consoleFPS.embedFonts = true;
_consoleFPS.antiAliasType = AntiAliasType.NORMAL;
_consoleFPS.gridFitType = GridFitType.PIXEL;
_consoleFPS.defaultTextFormat = new TextFormat("system", 16, 0xFFFFFF, true, null, null, null, null, "right");
_console.addChild(_consoleFPS);
_consoleLines = new Array();
addChild(_console);
log("flixel v1.25");
log("---------------------------------------");
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
_focusPopup = new Sprite();
_focusPopup.visible = false;
if (FlxG.width > 160){
_focusPopup.scaleX = 2;
_focusPopup.scaleY = 2;
};
_focusPopup.x = ((_gx * _z) + (8 * _z));
_focusPopup.y = ((_gy * _z) + ((FlxG.height * _z) / 4));
_local5 = new Bitmap(new BitmapData(160, 100, true, 3204448256));
_focusPopup.x = (((_gx + (FlxG.width / 2)) * _z) - ((_local5.width / 2) * _focusPopup.scaleX));
_focusPopup.y = (((_gy + (FlxG.height / 2)) * _z) - ((_local5.height / 2) * _focusPopup.scaleY));
_focusPopup.addChild(_local5);
_local11 = new TextField();
_local11.width = _local5.width;
_local11.height = 20;
_local11.multiline = true;
_local11.wordWrap = true;
_local11.selectable = false;
_local11.embedFonts = true;
_local11.antiAliasType = AntiAliasType.NORMAL;
_local11.gridFitType = GridFitType.PIXEL;
_local11.defaultTextFormat = new TextFormat("system", 16, 0xFFFFFF, null, null, null, null, null, "center");
_local11.text = "GAME PAUSED";
_local11.y = 7;
_focusPopup.addChild(_local11);
_local12 = (_focusPopup.addChild(new ImgKeyX()) as Bitmap);
_local12.x = 4;
_local12.y = 36;
_local12 = (_focusPopup.addChild(new ImgKeyC()) as Bitmap);
_local12.x = 4;
_local12.y = (36 + 14);
_local12 = (_focusPopup.addChild(new ImgKeyMouse()) as Bitmap);
_local12.x = 4;
_local12.y = ((36 + 14) + 14);
_local12 = (_focusPopup.addChild(new ImgKeysArrows()) as Bitmap);
_local12.x = 4;
_local12.y = (((36 + 14) + 14) + 14);
_local12 = (_focusPopup.addChild(new ImgKeyMinus()) as Bitmap);
_local12.x = 84;
_local12.y = 36;
_local12 = (_focusPopup.addChild(new ImgKeyPlus()) as Bitmap);
_local12.x = 84;
_local12.y = (36 + 14);
_local12 = (_focusPopup.addChild(new ImgKey0()) as Bitmap);
_local12.x = 84;
_local12.y = ((36 + 14) + 14);
_local12 = (_focusPopup.addChild(new ImgKey1()) as Bitmap);
_local12.x = 84;
_local12.y = (((36 + 14) + 14) + 14);
_local11 = new TextField();
_local11.width = (_local5.width / 2);
_local11.height = (_local5.height - 20);
_local11.multiline = true;
_local11.wordWrap = true;
_local11.selectable = false;
_local11.embedFonts = true;
_local11.antiAliasType = AntiAliasType.NORMAL;
_local11.gridFitType = GridFitType.PIXEL;
_local11.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "left", null, null, null, 4);
_local11.text = "";
_local2 = 0;
while (_local2 < _help.length) {
if (_local2 == (_help.length - 1)){
_local11.appendText(" ");
};
if (_help[_local2] != null){
_local11.appendText(_help[_local2]);
};
_local11.appendText("\n");
_local2++;
};
_local11.x = 15;
_local11.y = 35;
_focusPopup.addChild(_local11);
_local11 = new TextField();
_local11.width = (_local5.width / 2);
_local11.height = (_local5.height - 20);
_local11.multiline = true;
_local11.wordWrap = true;
_local11.selectable = false;
_local11.embedFonts = true;
_local11.antiAliasType = AntiAliasType.NORMAL;
_local11.gridFitType = GridFitType.PIXEL;
_local11.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "left", null, null, null, 4);
_local11.text = "Sound Down\nSound Up\nMute\nConsole";
_local11.x = 95;
_local11.y = 35;
_focusPopup.addChild(_local11);
addChild(_focusPopup);
_soundTray = new Sprite();
_soundTray.visible = false;
_soundTray.scaleX = 2;
_soundTray.scaleY = 2;
_local5 = new Bitmap(new BitmapData(80, 30, true, 2130706432));
_soundTray.x = (((_gx + (FlxG.width / 2)) * _z) - ((_local5.width / 2) * _soundTray.scaleX));
_soundTray.addChild(_local5);
_local11 = new TextField();
_local11.width = _local5.width;
_local11.height = _local5.height;
_local11.multiline = true;
_local11.wordWrap = true;
_local11.selectable = false;
_local11.embedFonts = true;
_local11.antiAliasType = AntiAliasType.NORMAL;
_local11.gridFitType = GridFitType.PIXEL;
_local11.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "center");
_soundTray.addChild(_local11);
_local11.text = "VOLUME";
_local11.y = 16;
_local13 = 10;
_local14 = 14;
_soundTrayBars = new Array();
_local2 = 0;
while (_local2 < 10) {
_local5 = new Bitmap(new BitmapData(4, (_local2 + 1), false, 0xFFFFFF));
_local5.x = _local13;
_local5.y = _local14;
_soundTrayBars.push(_soundTray.addChild(_local5));
_local13 = (_local13 + 6);
_local14--;
_local2++;
};
addChild(_soundTray);
stage.addEventListener(Event.DEACTIVATE, onFocusLost);
stage.addEventListener(Event.ACTIVATE, onFocus);
if (_frame != null){
_local15 = new _frame();
_local15.scaleX = _z;
_local15.scaleY = _z;
addChild(_local15);
};
_created = true;
_logoTimer = 0;
};
};
};
}
private function switchState(_arg1:Class):void{
FlxG.unfollow();
FlxG.resetKeys();
_quakeTimer = 0;
_buffer.x = 0;
_buffer.y = 0;
if (_cursor != null){
_buffer.removeChild(_cursor);
_cursor = null;
};
var _local2:FlxState = new (_arg1);
_buffer.addChild(_local2);
if (_curState != null){
_buffer.swapChildren(_local2, _curState);
_buffer.removeChild(_curState);
_curState.destroy();
};
_fade.visible = false;
_curState = _local2;
_curState.onStateLoaded();
}
private function onMouseDown(_arg1:MouseEvent):void{
FlxG.kMouse = true;
}
private function onKeyDown(_arg1:KeyboardEvent):void{
var _local2:String = String.fromCharCode(_arg1.charCode);
FlxG.pressKey(_arg1.keyCode);
}
private function quake(_arg1:Number, _arg2:Number=0.5):void{
_quakeIntensity = _arg1;
_quakeLength = _arg2;
_quakeTimer = 0.01;
}
private function flash(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{
if (_arg1 == 0){
_flash.visible = false;
return;
};
if (((!(_arg4)) && (_flash.visible))){
return;
};
_flash.bitmapData.fillRect(new Rectangle(0, 0, _flash.width, _flash.height), _arg1);
_flashDelay = _arg2;
_flashComplete = _arg3;
_flashHelper = 1;
_flash.alpha = 1;
_flash.visible = true;
}
private function onFocusLost(_arg1:Event=null):void{
if (((!((x == 0))) || (!((y == 0))))){
x = 0;
y = 0;
};
Mouse.show();
_focusPopup.visible = true;
_paused = true;
FlxG.pauseMusic();
}
}
}//package com.adamatomic.flixel
Section 12
//FlxGame_ImgKey0 (com.adamatomic.flixel.FlxGame_ImgKey0)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKey0 extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 13
//FlxGame_ImgKey1 (com.adamatomic.flixel.FlxGame_ImgKey1)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKey1 extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 14
//FlxGame_ImgKeyC (com.adamatomic.flixel.FlxGame_ImgKeyC)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKeyC extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 15
//FlxGame_ImgKeyMinus (com.adamatomic.flixel.FlxGame_ImgKeyMinus)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKeyMinus extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 16
//FlxGame_ImgKeyMouse (com.adamatomic.flixel.FlxGame_ImgKeyMouse)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKeyMouse extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 17
//FlxGame_ImgKeyPlus (com.adamatomic.flixel.FlxGame_ImgKeyPlus)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKeyPlus extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 18
//FlxGame_ImgKeysArrows (com.adamatomic.flixel.FlxGame_ImgKeysArrows)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKeysArrows extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 19
//FlxGame_ImgKeyX (com.adamatomic.flixel.FlxGame_ImgKeyX)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgKeyX extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 20
//FlxGame_ImgPoweredBy (com.adamatomic.flixel.FlxGame_ImgPoweredBy)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_ImgPoweredBy extends BitmapAsset {
}
}//package com.adamatomic.flixel
Section 21
//FlxGame_junk (com.adamatomic.flixel.FlxGame_junk)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_junk extends FontAsset {
}
}//package com.adamatomic.flixel
Section 22
//FlxGame_SndBeep (com.adamatomic.flixel.FlxGame_SndBeep)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_SndBeep extends SoundAsset {
}
}//package com.adamatomic.flixel
Section 23
//FlxGame_SndFlixel (com.adamatomic.flixel.FlxGame_SndFlixel)
package com.adamatomic.flixel {
import mx.core.*;
public class FlxGame_SndFlixel extends SoundAsset {
}
}//package com.adamatomic.flixel
Section 24
//FlxKey (com.adamatomic.flixel.FlxKey)
package com.adamatomic.flixel {
public class FlxKey {
public var kOldValue:int;
public var kName:String;
public var kPressed:int;
public var kCode:int;
public function FlxKey(_arg1:int, _arg2:String){
kCode = _arg1;
kName = _arg2;
}
}
}//package com.adamatomic.flixel
Section 25
//FlxKeyControl (com.adamatomic.flixel.FlxKeyControl)
package com.adamatomic.flixel {
public class FlxKeyControl {
public var unknownKeyCallback:Function;// = null
private var KEYS:Array;
public function FlxKeyControl(){
KEYS = new Array();
super();
}
public function Pressed(_arg1:String):Boolean{
var _local3:FlxKey;
var _local2:uint;
while (_local2 < KEYS.length) {
_local3 = (KEYS[_local2] as FlxKey);
if (_local3.kName == _arg1){
return ((_local3.kPressed > 0));
};
_local2++;
};
return (false);
}
public function ResetKeys():void{
var _local2:FlxKey;
var _local1:uint;
while (_local1 < KEYS.length) {
_local2 = (KEYS[_local1] as FlxKey);
_local2.kPressed = 0;
_local1++;
};
}
public function JustReleased(_arg1:String):Boolean{
var _local3:FlxKey;
var _local2:uint;
while (_local2 < KEYS.length) {
_local3 = (KEYS[_local2] as FlxKey);
if (_local3.kName == _arg1){
return ((_local3.kPressed == -1));
};
_local2++;
};
return (false);
}
public function JustPressed(_arg1:String):Boolean{
var _local3:FlxKey;
var _local2:uint;
while (_local2 < KEYS.length) {
_local3 = (KEYS[_local2] as FlxKey);
if (_local3.kName == _arg1){
return ((_local3.kPressed == 2));
};
_local2++;
};
return (false);
}
public function ReleaseKey(_arg1:int):void{
var _local3:FlxKey;
var _local2:uint;
while (_local2 < KEYS.length) {
_local3 = (KEYS[_local2] as FlxKey);
if (_local3.kCode == _arg1){
if (_local3.kPressed > 0){
_local3.kPressed = -1;
} else {
_local3.kPressed = 0;
};
};
_local2++;
};
}
public function PressKey(_arg1:int):void{
var _local4:FlxKey;
var _local2:Boolean;
var _local3:uint;
while (_local3 < KEYS.length) {
_local4 = (KEYS[_local3] as FlxKey);
if (_local4.kCode == _arg1){
_local2 = false;
if (_local4.kPressed > 0){
_local4.kPressed = 1;
} else {
_local4.kPressed = 2;
};
};
_local3++;
};
if (((!((unknownKeyCallback == null))) && (_local2))){
unknownKeyCallback(_arg1);
};
}
public function UpdateKeys():void{
var _local2:FlxKey;
var _local1:uint;
while (_local1 < KEYS.length) {
_local2 = (KEYS[_local1] as FlxKey);
if ((((_local2.kOldValue == -1)) && ((_local2.kPressed == -1)))){
_local2.kPressed = 0;
} else {
if ((((_local2.kOldValue == 2)) && ((_local2.kPressed == 2)))){
_local2.kPressed = 1;
};
};
_local2.kOldValue = _local2.kPressed;
_local1++;
};
}
public function AddKey(_arg1:int, _arg2:String):void{
KEYS.push(new FlxKey(_arg1, _arg2));
}
}
}//package com.adamatomic.flixel
Section 26
//FlxLayer (com.adamatomic.flixel.FlxLayer)
package com.adamatomic.flixel {
public class FlxLayer extends FlxCore {
private var _children:FlxArray;
public function FlxLayer(){
_children = new FlxArray();
}
public function add(_arg1:FlxCore):FlxCore{
return ((_children.add(_arg1) as FlxCore));
}
override public function render():void{
super.render();
var _local1:uint;
while (_local1 < _children.length) {
if (((((!((_children[_local1] == null))) && (_children[_local1].exists))) && (_children[_local1].visible))){
_children[_local1].render();
};
_local1++;
};
}
override public function update():void{
super.update();
var _local1:uint;
while (_local1 < _children.length) {
if (((((!((_children[_local1] == null))) && (_children[_local1].exists))) && (_children[_local1].active))){
_children[_local1].update();
};
_local1++;
};
}
public function destroy():void{
_children.clear();
}
public function removeInactive():void{
_children = FlxG.removeInactiveObjects(_children);
}
}
}//package com.adamatomic.flixel
Section 27
//FlxSprite (com.adamatomic.flixel.FlxSprite)
package com.adamatomic.flixel {
import flash.display.*;
import flash.geom.*;
import com.adamatomic.flixel.data.*;
public class FlxSprite extends FlxCore {
public var acceleration:Point;
public var finished:Boolean;
public var angularAcceleration:Number;
private var _alpha:Number;
private var _animations:FlxArray;
public var offset:Point;
public var blendMode:String;
private var _callback:Function;
public var _curAnim:FlxAnim;
public var drag:Point;
public var angularDrag:Number;
private var _pZero:Point;
private var _flipped:uint;
public var pixels:BitmapData;
public var colorTransform:ColorTransform;// = null
public var scale:Point;
protected var _pixels:BitmapData;
public var angle:Number;
public var thrust:Number;
public var maxThrust:Number;
public var velocity:Point;
public var maxAngular:Number;
public var angularVelocity:Number;
public var maxVelocity:Point;
public var health:Number;
private var _bh:uint;
private var _p:Point;
public var _curFrame:uint;
private var _bw:uint;
private var _frameTimer:Number;
private var _facing:Boolean;
private var _r:Rectangle;
public var smoothing:Boolean;// = true
public static const RIGHT:Boolean = true;
public static const LEFT:Boolean = false;
public function FlxSprite(_arg1:Class=null, _arg2:int=0, _arg3:int=0, _arg4:Boolean=false, _arg5:Boolean=false, _arg6:uint=0, _arg7:uint=0, _arg8:uint=0, _arg9:Boolean=false){
smoothing = _arg9;
if (_arg1 == null){
pixels = FlxG.createBitmap(_arg6, _arg7, _arg8);
} else {
pixels = FlxG.addBitmap(_arg1, _arg5);
};
x = _arg2;
y = _arg3;
if (_arg6 == 0){
if (_arg4){
_arg6 = pixels.height;
} else {
_arg6 = pixels.width;
};
};
width = (_bw = _arg6);
height = (_bh = pixels.height);
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);
finished = false;
_facing = true;
_animations = new FlxArray();
if (_arg5){
_flipped = (pixels.width >> 1);
} else {
_flipped = 0;
};
_curAnim = null;
_curFrame = 0;
_frameTimer = 0;
_p = new Point(x, y);
_pZero = new Point();
_r = new Rectangle(0, 0, _bw, _bh);
_pixels = new BitmapData(width, height);
_pixels.copyPixels(pixels, _r, _pZero);
health = 1;
alpha = 1;
_callback = null;
}
override protected function getScreenXY(_arg1:Point):void{
_arg1.x = (Math.floor((x - offset.x)) + Math.floor((FlxG.scroll.x * scrollFactor.x)));
_arg1.y = (Math.floor((y - offset.y)) + Math.floor((FlxG.scroll.y * scrollFactor.y)));
}
public function hurt(_arg1:Number):void{
if ((health = (health - _arg1)) <= 0){
kill();
};
}
override public function render():void{
var _local1:Matrix;
if (!visible){
return;
};
getScreenXY(_p);
if (((((((((((!((angle == 0))) || (!((scale.x == 1))))) || (!((scale.y == 1))))) || (!((colorTransform == null))))) || (!((blendMode == null))))) || (smoothing))){
_local1 = new Matrix();
_local1.translate(-((_bw >> 1)), -((_bh >> 1)));
_local1.scale(scale.x, scale.y);
if (angle != 0){
_local1.rotate(((Math.PI * 2) * (angle / 360)));
};
_local1.translate((_p.x + (_bw >> 1)), (_p.y + (_bh >> 1)));
FlxG.buffer.draw(_pixels, _local1, colorTransform, blendMode, null, smoothing);
return;
};
FlxG.buffer.copyPixels(_pixels, _r, _p, null, null, true);
}
public function randomFrame():void{
_pixels.copyPixels(pixels, new Rectangle((Math.floor((Math.random() * (pixels.width / _bw))) * _bw), 0, _bw, _bh), _pZero);
}
private function calcFrame():void{
var _local1:uint;
if (_curAnim == null){
_pixels.copyPixels(pixels, _r, _pZero);
} else {
_local1 = (_curAnim.frames[_curFrame] * _bw);
if (((!(_facing)) && ((_flipped > 0)))){
_local1 = (((_flipped << 1) - _local1) - _bw);
};
_pixels.copyPixels(pixels, new Rectangle(_local1, 0, _bw, _bh), _pZero);
};
if (_alpha != 1){
_pixels.colorTransform(_r, new ColorTransform(1, 1, 1, _alpha));
};
if (_callback != null){
_callback(_curAnim.name, _curFrame, _curAnim.frames[_curFrame]);
};
}
override public function hitCeiling():Boolean{
velocity.y = 0;
return (true);
}
public function play(_arg1:String, _arg2:Boolean=false):void{
if (((((!(_arg2)) && (!((_curAnim == null))))) && ((_arg1 == _curAnim.name)))){
return;
};
_curFrame = 0;
_frameTimer = 0;
var _local3:uint;
while (_local3 < _animations.length) {
if (_animations[_local3].name == _arg1){
finished = false;
_curAnim = _animations[_local3];
calcFrame();
return;
};
_local3++;
};
}
override public function hitFloor():Boolean{
velocity.y = 0;
return (true);
}
public function set alpha(_arg1:Number):void{
if (_arg1 > 1){
_arg1 = 1;
};
if (_arg1 < 0){
_arg1 = 0;
};
_alpha = _arg1;
calcFrame();
}
public function addAnimationCallback(_arg1:Function):void{
_callback = _arg1;
}
override public function update():void{
var _local1:Point;
var _local2:Point;
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++;
};
calcFrame();
};
};
angle = (angle + ((angularVelocity = FlxG.computeVelocity(angularVelocity, angularAcceleration, angularDrag, maxAngular)) * FlxG.elapsed));
if (thrust != 0){
_local1 = FlxG.rotatePoint(-(thrust), 0, 0, 0, angle);
_local2 = FlxG.rotatePoint(-(maxThrust), 0, 0, 0, angle);
maxVelocity.x = Math.abs(_local2.x);
maxVelocity.y = Math.abs(_local2.y);
} else {
_local1 = _pZero;
};
x = (x + ((velocity.x = FlxG.computeVelocity(velocity.x, (acceleration.x + _local1.x), drag.x, maxVelocity.x)) * FlxG.elapsed));
y = (y + ((velocity.y = FlxG.computeVelocity(velocity.y, (acceleration.y + _local1.y), drag.y, maxVelocity.y)) * FlxG.elapsed));
}
public function onEmit():void{
}
public function set facing(_arg1:Boolean):void{
var _local2 = !((_facing == _arg1));
_facing = _arg1;
if (_local2){
calcFrame();
};
}
public function specificFrame(_arg1:uint):void{
_pixels.copyPixels(pixels, new Rectangle((_arg1 * _bw), 0, _bw, _bh), _pZero);
}
public function get facing():Boolean{
return (_facing);
}
public function addAnimation(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true):void{
_animations.add(new FlxAnim(_arg1, _arg2, _arg3, _arg4));
}
public function get alpha():Number{
return (_alpha);
}
override public function overlapsPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean{
var _local4:Number = x;
var _local5:Number = y;
if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){
_local4 = (_local4 - Math.floor((FlxG.scroll.x * scrollFactor.x)));
_local5 = (_local5 - Math.floor((FlxG.scroll.y * scrollFactor.y)));
};
if (_arg3){
return (_pixels.hitTest(new Point(0, 0), 0xFF, new Point((_arg1 - _local4), (_arg2 - _local5))));
};
if ((((((((_arg1 <= _local4)) || ((_arg1 >= (_local4 + width))))) || ((_arg2 <= _local5)))) || ((_arg2 >= (_local5 + height))))){
return (false);
};
return (true);
}
override public function hitWall():Boolean{
velocity.x = 0;
return (true);
}
}
}//package com.adamatomic.flixel
Section 28
//FlxSpriteEx (com.adamatomic.flixel.FlxSpriteEx)
package com.adamatomic.flixel {
import flash.geom.*;
public class FlxSpriteEx extends FlxSprite {
public var bbox:FlxSprite;
private var _bboffset:Point;
public function FlxSpriteEx(_arg1:Class=null, _arg2:int=0, _arg3:int=0, _arg4:Boolean=false, _arg5:Boolean=false, _arg6:uint=0, _arg7:uint=0, _arg8:uint=0, _arg9:Boolean=true){
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9);
setBoundingBox(1, 1, 0, 0);
}
public function setBoundingBox(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
bbox = new FlxSprite(null, 0, 0, false, false, _arg1, _arg2, 3137404704, false);
bbox.offset = new Point(_arg3, _arg4);
}
override public function update():void{
super.update();
bbox.x = x;
bbox.y = y;
bbox.angle = angle;
bbox.scale.x = scale.x;
bbox.scale.y = scale.y;
}
public function bOverlaps(_arg1:FlxSpriteEx):Boolean{
var _local2:FlxCore;
var _local3:FlxCore;
_local2 = new FlxCore();
_local3 = new FlxCore();
_local2.x = (_arg1.bbox.x - _arg1.bbox.offset.x);
_local2.y = (_arg1.bbox.y - _arg1.bbox.offset.y);
_local2.width = _arg1.bbox.width;
_local2.height = _arg1.bbox.height;
_local3.x = (bbox.x - bbox.offset.x);
_local3.y = (bbox.y - bbox.offset.y);
_local3.width = bbox.width;
_local3.height = bbox.height;
return (_local2.overlaps(_local3));
}
}
}//package com.adamatomic.flixel
Section 29
//FlxState (com.adamatomic.flixel.FlxState)
package com.adamatomic.flixel {
import flash.display.*;
public class FlxState extends Sprite {
private var _layer:FlxLayer;
public function FlxState(){
_layer = new FlxLayer();
FlxG.state = this;
}
public function add(_arg1:FlxCore):FlxCore{
return (_layer.add(_arg1));
}
public function render():void{
_layer.render();
}
public function onStateLoaded():void{
}
public function update():void{
FlxG.mouseClicked = ((FlxG.kMouse) && (!(FlxG.oldkMouse)));
FlxG.oldkMouse = FlxG.kMouse;
_layer.update();
}
public function destroy():void{
_layer.destroy();
}
public function removeInactive():void{
_layer.removeInactive();
}
}
}//package com.adamatomic.flixel
Section 30
//FlxText (com.adamatomic.flixel.FlxText)
package com.adamatomic.flixel {
import flash.geom.*;
import flash.text.*;
public class FlxText extends FlxCore {
private var _ox:Number;
private var _oy:Number;
private var _tf:TextField;
private var _mtx:Matrix;
public var angle:Number;
private var _oa:Number;
public function FlxText(_arg1:Number, _arg2:Number, _arg3:uint, _arg4:uint, _arg5:String, _arg6:uint=0, _arg7:String=null, _arg8:uint=8, _arg9:String=null, _arg10:Number=0){
_ox = (x = _arg1);
_oy = (y = _arg2);
_oa = (angle = _arg10);
width = _arg3;
height = _arg4;
if (_arg7 == null){
_arg7 = "system";
};
if (_arg5 == null){
_arg5 = "";
};
_tf = new TextField();
_tf.width = width;
_tf.height = height;
_tf.embedFonts = true;
_tf.selectable = false;
_tf.sharpness = 100;
_tf.defaultTextFormat = new TextFormat(_arg7, _arg8, _arg6, null, null, null, null, null, _arg9);
_tf.text = _arg5;
_mtx = new Matrix();
_mtx.translate(-((width >> 1)), -((height >> 1)));
_mtx.rotate(((Math.PI * 2) * (angle / 360)));
_mtx.translate((Math.floor(x) + (width >> 1)), (Math.floor(y) + (height >> 1)));
}
public function setColor(_arg1:uint):void{
var _local2:TextFormat = _tf.defaultTextFormat;
_local2.color = _arg1;
_tf.defaultTextFormat = _local2;
_tf.text = _tf.text;
}
public function setText(_arg1:String):void{
_tf.text = _arg1;
}
override public function update():void{
super.update();
var _local1:Point = new Point();
getScreenXY(_local1);
if (((((!((_ox == _local1.x))) || (!((_oy == _local1.y))))) || (!((_oa == angle))))){
_mtx = new Matrix();
_mtx.translate(-((width >> 1)), -((height >> 1)));
_mtx.rotate(((Math.PI * 2) * (angle / 360)));
_mtx.translate((_local1.x + (width >> 1)), (_local1.y + (height >> 1)));
_ox = _local1.x;
_oy = _local1.y;
};
}
override public function render():void{
FlxG.buffer.draw(_tf, _mtx);
}
}
}//package com.adamatomic.flixel
Section 31
//FlxTimeline (com.adamatomic.flixel.FlxTimeline)
package com.adamatomic.flixel {
import com.adamatomic.flixel.data.*;
public class FlxTimeline {
public var _periods:FlxArray;
private var _callback:Function;
private var _current:Number;// = -1
public function FlxTimeline(_arg1:Function=null):void{
_periods = new FlxArray();
_callback = _arg1;
}
public function update():void{
var _local1:FlxTimerData;
if (_current < 0){
return;
};
_local1 = _periods[_current];
_local1.remainder = (_local1.remainder + FlxG.elapsed);
if (_local1.period < 0){
if (_callback != null){
_callback(("during " + _local1.name), 0, _local1.remainder);
};
return;
};
if (_callback != null){
_callback(("during " + _local1.name), (_local1.remainder / _local1.period), _local1.remainder);
};
if (_local1.remainder >= _local1.period){
if (_callback != null){
_callback(("after " + _local1.name), 0, 0);
};
_current++;
if (_current < _periods.length){
_periods[_current].remainder = (_local1.remainder - _local1.period);
if (_callback != null){
_callback(("before " + _periods[_current].name), 0, 0);
};
} else {
_current = -1;
};
};
}
public function start():void{
_current = 0;
_periods[0].remainder = 0;
if (_callback != null){
_callback(("before " + _periods[0].name), 0, 0);
};
}
public function goto(_arg1:String):void{
var _local2:Number = 0;
while (_local2 < _periods.length) {
if (_periods[_local2].name == _arg1){
_current = _local2;
_periods[_current].remainder = 0;
if (_callback != null){
_callback(("before " + _periods[_current].name), 0, 0);
};
break;
};
_local2++;
};
}
public function addPeriod(_arg1:String, _arg2:Number):void{
_periods.add(new FlxTimerData(_arg1, _arg2, null));
}
public function gotoNext():void{
_current++;
if (_current >= _periods.length){
_current = -1;
} else {
if (_callback != null){
_callback(("after " + _periods[(_current - 1)].name), 0, 0);
_callback(("before " + _periods[_current].name), 0, 0);
};
};
}
}
}//package com.adamatomic.flixel
Section 32
//FlxTimer (com.adamatomic.flixel.FlxTimer)
package com.adamatomic.flixel {
import com.adamatomic.flixel.data.*;
public class FlxTimer {
private var _periods:FlxArray;
public function FlxTimer(){
_periods = new FlxArray();
}
public function update():void{
var _local1:int;
while (_local1 < _periods.length) {
if (!_periods[_local1].alive){
} else {
_periods[_local1].remainder = (_periods[_local1].remainder + FlxG.elapsed);
while (_periods[_local1].remainder > _periods[_local1].period) {
if (_periods[_local1].callback != null){
_periods[_local1].callback();
};
_periods[_local1].remainder = (_periods[_local1].remainder - _periods[_local1].period);
};
};
_local1++;
};
}
public function addPeriod(_arg1:String, _arg2:Number, _arg3:Function):void{
_periods.add(new FlxTimerData(_arg1, _arg2, _arg3));
}
public function removePeriod(_arg1:String):void{
var _local2:Object;
var _local3:uint;
while (_local3 < _periods.length) {
if (_periods[_local3].name == _arg1){
_local2 = _periods[_local3];
break;
};
_local3++;
};
if (_local2 != null){
(_local2 as FlxTimerData).alive = false;
};
}
}
}//package com.adamatomic.flixel
Section 33
//Debug (com.hexagonstar.util.debug.Debug)
package com.hexagonstar.util.debug {
import flash.events.*;
import flash.system.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
public final class Debug {
public static const LEVEL_WARN:int = 2;
public static const LEVEL_DEBUG:int = 0;
public static const LEVEL_INFO:int = 1;
public static const LEVEL_FATAL:int = 4;
public static const LEVEL_ERROR:int = 3;
private static var _stage:Stage;
private static var _filterLevel:int = 0;
private static var _isEnabled:Boolean = true;
private static var _isConnected:Boolean = false;
private static var _isPollingFPS:Boolean = false;
private static var _stopWatch:StopWatch;
private static var _connection:LocalConnection;
private static var _fpsMeter:FPSMeter;
public static function forceGC():void{
try {
} catch(e1:Error) {
try {
new LocalConnection().connect("forceGC");
new LocalConnection().connect("forceGC");
} catch(e2:Error) {
};
};
}
private static function send(_arg1:String, _arg2, _arg3:int=1, _arg4:int=0):void{
var _local5:Number;
var _local6:ByteArray;
if (_isEnabled){
if (!_isConnected){
_isConnected = true;
_connection = new LocalConnection();
_connection.addEventListener(StatusEvent.STATUS, onStatus);
};
_local5 = 0;
if (typeof(_arg2) == "string"){
_local5 = String(_arg2).length;
} else {
if (typeof(_arg2) == "object"){
_local6 = new ByteArray();
_local6.writeObject(_arg2);
_local5 = _local6.length;
_local6 = null;
};
};
if (_local5 > 39000){
storeDataLSO(_arg1, _arg2);
_arg1 = "onLargeData";
_arg2 = null;
};
_connection.send("_alcon_lc", _arg1, _arg2, _arg3, _arg4, "");
};
}
public static function stop():void{
if (_fpsMeter){
_isPollingFPS = false;
_fpsMeter.stop();
_fpsMeter.removeEventListener(FPSMeter.FPS_UPDATE, onFPSUpdate);
_fpsMeter = null;
_stage = null;
};
}
public static function timerReset():void{
if (_stopWatch){
_stopWatch.reset();
};
}
private static function onFPSUpdate(_arg1:Event):void{
send("onFPS", ((((((_fpsMeter.fps + ",") + _stage.frameRate) + ",") + _fpsMeter.frt) + ",") + System.totalMemory));
}
public static function delimiter():void{
Debug.trace("[%DLT%]", 5);
}
public static function set enabled(_arg1:Boolean):void{
_isEnabled = _arg1;
}
public static function inspect(_arg1:Object):void{
send("onInspect", _arg1, 1, -1);
}
public static function timerStart(_arg1:String=""):void{
if (_isEnabled){
if (!_stopWatch){
_stopWatch = new StopWatch();
};
_stopWatch.start(_arg1);
};
}
public static function createCategory(_arg1:int, _arg2:String="", _arg3:uint=0, _arg4:uint=0xFFFF00):void{
send("onCategory", [_arg1, _arg2, _arg3, _arg4], 0, 0);
}
private static function storeDataLSO(_arg1:String, _arg2):void{
var sharedObject:SharedObject;
var flushResult:String;
var m = _arg1;
var d = _arg2;
sharedObject = SharedObject.getLocal("alcon", "/");
sharedObject.data["alconMethod"] = m;
sharedObject.data["alconData"] = d;
try {
flushResult = sharedObject.flush();
if (flushResult == SharedObjectFlushStatus.FLUSHED){
return;
};
} catch(e:Error) {
Security.showSettings(SecurityPanel.LOCAL_STORAGE);
};
}
public static function hexDump(_arg1:Object):void{
send("onHexDump", _arg1, 0, 0);
}
private static function onStatus(_arg1:StatusEvent):void{
}
public static function get enabled():Boolean{
return (_isEnabled);
}
public static function trace(... _args):void{
var _local2:int;
_local2 = ((_args[1] is int)) ? _args[1] : 1;
if ((((_local2 >= _filterLevel)) && ((_local2 < 7)))){
send("onData", _args[0], _local2, 0);
};
}
public static function timerToString():void{
if (_stopWatch){
Debug.trace(_stopWatch.toString());
};
}
public static function mark(_arg1:uint=0xFF00FF):void{
send("onMarker", _arg1, 1, -1);
}
public static function timerInSeconds():void{
if (_stopWatch){
Debug.trace((_stopWatch.timeInSeconds + "s"));
};
}
public static function set filterLevel(_arg1:int):void{
if ((((_arg1 >= 0)) && ((_arg1 < 5)))){
_filterLevel = _arg1;
};
}
public static function monitor(_arg1:Stage, _arg2:int=500):void{
if (_isPollingFPS){
Debug.stop();
};
if (((_isEnabled) && (!(_fpsMeter)))){
_isPollingFPS = true;
_stage = _arg1;
sendCapabilities();
_fpsMeter = new FPSMeter(_stage, _arg2);
_fpsMeter.addEventListener(FPSMeter.FPS_UPDATE, onFPSUpdate);
_fpsMeter.start();
};
}
public static function time():void{
Debug.trace("[%TME%]", 5);
}
private static function sendCapabilities():void{
var _local1:XML;
var _local2:Array;
var _local3:XML;
var _local4:String;
_local1 = describeType(Capabilities);
_local2 = [];
for each (_local3 in _local1.*) {
_local4 = _local3.@name.toString();
if ((((((_local4.length > 0)) && (!((_local4 == "_internal"))))) && (!((_local4 == "prototype"))))){
_local2.push({p:_local4, v:Capabilities[_local4].toString()});
};
};
_local2.sortOn(["p"], Array.CASEINSENSITIVE);
send("onCap", _local2);
}
public static function clear():void{
Debug.trace("[%CLR%]", 5);
}
public static function timerStop():void{
if (_stopWatch){
_stopWatch.stop();
};
}
public static function timerInMilliSeconds():void{
if (_stopWatch){
Debug.trace((_stopWatch.timeInMilliSeconds + "ms"));
};
}
public static function get filterLevel():int{
return (_filterLevel);
}
public static function traceObj(_arg1:Object, _arg2:int=64, _arg3:int=1):void{
if ((((_arg3 >= _filterLevel)) && ((_arg3 < 7)))){
send("onData", _arg1, _arg3, _arg2);
};
}
public static function timerStopToString(_arg1:Boolean=false):void{
if (_stopWatch){
_stopWatch.stop();
Debug.trace(_stopWatch.toString());
if (_arg1){
_stopWatch.reset();
};
};
}
public static function pause():void{
Debug.trace("[%PSE%]", 5);
}
}
}//package com.hexagonstar.util.debug
Section 34
//FPSMeter (com.hexagonstar.util.debug.FPSMeter)
package com.hexagonstar.util.debug {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class FPSMeter extends EventDispatcher {
private var _pollInterval:int;
private var _delay:int;
private var _ms:int;
private var _prev:int;
private var _delayMax:int;// = 10
private var _timer:Timer;
private var _frt:int;
private var _fps:int;
private var _isRunning:Boolean;
private var _stage:Stage;
public static const FPS_UPDATE:String = "fpsUpdate";
public function FPSMeter(_arg1:Stage, _arg2:int=500){
_delayMax = 10;
super();
_stage = _arg1;
_pollInterval = _arg2;
reset();
}
public function stop():void{
if (_isRunning){
_timer.stop();
_timer.removeEventListener(TimerEvent.TIMER, onTimer);
_stage.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
_timer = null;
reset();
};
}
public function reset():void{
_fps = 0;
_frt = 0;
_ms = 0;
_delay = 0;
_prev = 0;
_isRunning = false;
}
private function onEnterFrame(_arg1:Event):void{
var _local2:Number;
_local2 = getTimer();
_delay++;
if (_delay >= _delayMax){
_delay = 0;
_fps = int(((1000 * _delayMax) / (_local2 - _prev)));
_prev = _local2;
};
_frt = (_local2 - _ms);
_ms = _local2;
}
private function onTimer(_arg1:TimerEvent):void{
dispatchEvent(new Event(FPSMeter.FPS_UPDATE));
}
public function get frt():int{
return (_frt);
}
public function get fps():int{
return (_fps);
}
public function start():void{
if (!_isRunning){
_isRunning = true;
_timer = new Timer(_pollInterval, 0);
_timer.addEventListener(TimerEvent.TIMER, onTimer);
_stage.addEventListener(Event.ENTER_FRAME, onEnterFrame);
_timer.start();
};
}
}
}//package com.hexagonstar.util.debug
Section 35
//StopWatch (com.hexagonstar.util.debug.StopWatch)
package com.hexagonstar.util.debug {
import flash.utils.*;
public class StopWatch {
private var _started:Boolean;// = false
private var _stopTimeKeys:Array;
private var _startTimeKeys:Array;
private var _title:String;
public function StopWatch(){
_started = false;
super();
reset();
}
public function get timeInMilliSeconds():int{
var _local1:int;
var _local2:int;
if (_started){
_stopTimeKeys[(_startTimeKeys.length - 1)] = getTimer();
};
_local1 = 0;
_local2 = 0;
while (_local2 < _startTimeKeys.length) {
_local1 = (_local1 + (_stopTimeKeys[_local2] - _startTimeKeys[_local2]));
_local2++;
};
return (_local1);
}
public function toString():String{
var _local1:String;
var _local2:int;
var _local3:int;
var _local4:int;
_local1 = "\n ********************* [STOPWATCH] *********************";
if (_title != ""){
_local1 = (_local1 + ("\n * " + _title));
};
_local2 = 0;
while (_local2 < _startTimeKeys.length) {
_local3 = _startTimeKeys[_local2];
_local4 = _stopTimeKeys[_local2];
_local1 = (_local1 + (((((("\n * started [" + format(_local3)) + "ms] stopped [") + format(_local4)) + "ms] time [") + format((_local4 - _local3))) + "ms]"));
_local2++;
};
if (_local2 == 0){
_local1 = (_local1 + "\n * never started.");
} else {
_local1 = (_local1 + (("\n * total runnning time: " + timeInSeconds) + "s"));
};
_local1 = (_local1 + "\n *******************************************************");
return (_local1);
}
public function get timeInSeconds():Number{
return ((timeInMilliSeconds / 1000));
}
public function get started():Boolean{
return (_started);
}
public function start(_arg1:String=""):void{
if (!_started){
_title = _arg1;
_started = true;
_startTimeKeys.push(getTimer());
};
}
public function reset():void{
_startTimeKeys = [];
_stopTimeKeys = [];
_started = false;
}
private function format(_arg1:int):String{
var _local2:String;
var _local3:int;
var _local4:int;
_local2 = "";
_local3 = _arg1.toString().length;
_local4 = 0;
while (_local4 < (5 - _local3)) {
_local2 = (_local2 + "0");
_local4++;
};
return ((_local2 + _arg1));
}
public function stop():void{
var _local1:int;
if (_started){
_local1 = getTimer();
_stopTimeKeys[(_startTimeKeys.length - 1)] = _local1;
_started = false;
};
}
}
}//package com.hexagonstar.util.debug
Section 36
//AtomicBoss (com.mirosurabu.AtomicSuperBoss.AtomicBoss)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
import flash.geom.*;
public class AtomicBoss extends FlxLayer {
public var ensubLayer:FlxLayer;
private var _curlyAngle:Number;// = 0
public var enemies:FlxArray;
public var mode:Number;// = 0
private var _bossTimeline:FlxTimeline;
private var ImgBoss:Class;
public var lastmode:Number;// = 0
private var _room:PlayRoom;
public var charge:Number;// = 360
public var hits:Number;// = 0
public var enemiesLayer:FlxLayer;
public var angleding:Number;// = 90
private var _modeTimer:FlxTimer;
private var _stepTimer:FlxTimer;
public var boss:FlxSpriteEx;
public var effectsLayer:FlxLayer;
private var _flashColor:ColorTransform;
private var _flashtimer:Number;// = 0
public var yding:Number;// = 1
private static const MAXMODE:Number = 12;
public function AtomicBoss(_arg1:PlayRoom){
ImgBoss = AtomicBoss_ImgBoss;
super();
_room = _arg1;
boss = new FlxSpriteEx(ImgBoss, 0, 0, true, false, 24, 24);
boss.smoothing = Global.useSmoothing;
boss.addAnimation("normal", [0, 1], 2);
boss.play("normal");
boss.maxVelocity.x = 60;
boss.offset = new Point(12, 12);
boss.setBoundingBox(16, 16, 8, 8);
_flashColor = new ColorTransform(2, 0.6, 0.6);
enemiesLayer = new FlxLayer();
effectsLayer = new FlxLayer();
ensubLayer = new FlxLayer();
enemies = new FlxArray();
add(effectsLayer);
add(ensubLayer);
add(enemiesLayer);
add(boss);
_bossTimeline = new FlxTimeline(onBossTimeline);
_bossTimeline.addPeriod("WAIT", -1);
_bossTimeline.addPeriod("MOVING", -1);
_bossTimeline.start();
_modeTimer = new FlxTimer();
_modeTimer.addPeriod("Mode01", (0.51 / Global.difficultyLevel), onMode01);
_modeTimer.addPeriod("Mode02", (0.15 / Global.difficultyLevel), onMode02);
_modeTimer.addPeriod("Mode03", (1.16 / Global.difficultyLevel), onMode03);
_modeTimer.addPeriod("Mode04", (0.06 / Global.difficultyLevel), onMode04);
_modeTimer.addPeriod("Mode05", (0.66 / Global.difficultyLevel), onMode05);
_modeTimer.addPeriod("Mode06", (0.83 / Global.difficultyLevel), onMode06);
_modeTimer.addPeriod("Mode07", (0.08 / Global.difficultyLevel), onMode07);
_modeTimer.addPeriod("Mode08", (0.03 / Global.difficultyLevel), onMode08);
_modeTimer.addPeriod("Mode09", (2 / Global.difficultyLevel), onMode09);
_modeTimer.addPeriod("Mode10", (0.15 / Global.difficultyLevel), onMode10);
_modeTimer.addPeriod("Mode11", (0.13 / Global.difficultyLevel), onMode11);
_stepTimer = new FlxTimer();
_stepTimer.addPeriod("Step", (1 / 60), onStep);
}
private function onMode01():void{
var _local3:BigBullet;
if (mode != 1){
return;
};
var _local1:Number = (Math.random() * 360);
var _local2:Number = 0;
while (_local2 < 18) {
_local3 = new BigBullet(_room, boss.x, boss.y);
_local3.direction = _local1;
_local3.computeVelocity();
enemies.add(_local3);
enemiesLayer.add(_local3);
_local1 = (_local1 + 20);
_local2++;
};
FlxG.play(SndFire1, 0.4);
}
private function onMode02():void{
if (mode != 2){
return;
};
var _local1:MGun = new MGun(_room, boss.x, boss.y);
_local1.direction = (Math.random() * 360);
_local1.speed = 60;
_local1.computeVelocity();
_local1.acceleration.y = (yding * 360);
_local1.velocity.y = ((-(yding) * 2) * 72);
enemies.add(_local1);
enemiesLayer.add(_local1);
FlxG.play(SndFire2, 0.4);
}
private function onMode05():void{
var _local2:Missile;
if (mode != 5){
return;
};
var _local1:Number = 0;
while (_local1 < 2) {
_local2 = new Missile(_room, boss.x, boss.y);
_local2.direction = (Math.random() * 360);
_local2.speed = 120;
_local2.computeVelocity();
enemies.add(_local2);
enemiesLayer.add(_local2);
_local1++;
};
FlxG.play(SndMissile, 0.4);
}
private function onMode06():void{
if (mode != 6){
return;
};
var _local1:Splitter = new Splitter(_room, boss.x, boss.y);
if (_room.playerExists()){
_local1.direction = ((Global.angleTowards(boss, _room.getPlayer().ship) + (Math.random() * 20)) - 10);
} else {
_local1.direction = (Math.random() * 360);
};
enemies.add(_local1);
enemiesLayer.add(_local1);
FlxG.play(SndSplitter, 0.4);
}
private function onMode07():void{
var _local1:BigBullet;
if (mode != 7){
return;
};
FlxG.play(SndCurly, 0.4);
_curlyAngle = (_curlyAngle + 10);
_local1 = new BigBullet(_room, boss.x, boss.y);
_local1.direction = _curlyAngle;
_local1.speed = 60;
_local1.computeVelocity();
enemies.add(_local1);
enemiesLayer.add(_local1);
_local1 = new BigBullet(_room, boss.x, boss.y);
_local1.direction = (_curlyAngle + 180);
_local1.speed = 60;
_local1.computeVelocity();
enemies.add(_local1);
enemiesLayer.add(_local1);
_local1 = new BigBullet(_room, boss.x, boss.y);
_local1.direction = -(_curlyAngle);
_local1.speed = 60;
_local1.computeVelocity();
enemies.add(_local1);
enemiesLayer.add(_local1);
_local1 = new BigBullet(_room, boss.x, boss.y);
_local1.direction = (-(_curlyAngle) + 180);
_local1.speed = 60;
_local1.computeVelocity();
enemies.add(_local1);
enemiesLayer.add(_local1);
}
private function onMode09():void{
var _local1:Enemy;
var _local2:Number;
if (mode != 9){
return;
};
var _local3:Number = (((Math.random() * 2) + 2.5) * 60);
_local1 = new Burster(_room, boss.x, boss.y);
_local2 = _local1.direction;
if (yding == -1){
_local1.direction = (360 - _local1.direction);
};
_local1.speed = _local3;
_local1.scale.x = 1.5;
_local1.scale.y = 1.5;
enemies.add(_local1);
enemiesLayer.add(_local1);
_local1 = new Burster(_room, boss.x, boss.y);
_local1.speed = _local3;
_local1.direction = (180 - _local2);
if (yding == -1){
_local1.direction = (360 - _local1.direction);
};
_local1.scale.x = 1.5;
_local1.scale.y = 1.5;
enemies.add(_local1);
enemiesLayer.add(_local1);
FlxG.play(SndFire5, 0.4);
}
private function onMode03():void{
if (mode != 3){
return;
};
var _local1:Laserer = new Laserer(_room, boss.x, boss.y);
enemies.add(_local1);
enemiesLayer.add(_local1);
FlxG.play(SndFire3, 0.4);
}
private function onMode08():void{
var _local1:Enemy;
if (mode != 8){
angleding = 90;
return;
};
if (angleding > 30){
angleding = (angleding - 5);
};
_local1 = new Laser(_room, boss.x, boss.y);
if (_room.playerExists()){
_local1.direction = (Global.angleTowards(boss, _room.getPlayer().ship) + angleding);
} else {
_local1.direction = (270 + angleding);
};
_local1.speed = 120;
_local1.angle = _local1.direction;
_local1.computeVelocity();
_local1.scale.x = 1;
enemies.add(_local1);
enemiesLayer.add(_local1);
_local1 = new Laser(_room, boss.x, boss.y);
if (_room.playerExists()){
_local1.direction = (Global.angleTowards(boss, _room.getPlayer().ship) - angleding);
} else {
_local1.direction = (270 - angleding);
};
_local1.speed = 120;
_local1.angle = _local1.direction;
_local1.computeVelocity();
_local1.scale.x = 1;
enemies.add(_local1);
enemiesLayer.add(_local1);
if ((Math.random() * 5) < 1){
FlxG.play(SndFire1, 0.4);
_local1 = new BigBullet(_room, boss.x, boss.y);
_local1.speed = 120;
if (_room.playerExists()){
_local1.direction = ((Global.angleTowards(boss, _room.getPlayer().ship) + (Math.random() * 60)) - 30);
} else {
_local1.direction = ((Math.random() * 60) + 240);
};
_local1.computeVelocity();
enemies.add(_local1);
enemiesLayer.add(_local1);
};
}
private function onMode04():void{
var _local2:BigBullet;
if (mode != 4){
return;
};
var _local1:Number = 0;
while (_local1 < 2) {
_local2 = new BigBullet(_room, boss.x, boss.y);
_local2.speed = 60;
_local2.direction = (Math.random() * 360);
_local2.computeVelocity();
enemies.add(_local2);
enemiesLayer.add(_local2);
_local1++;
};
FlxG.play(SndFire4, 0.25);
}
private function onMode10():void{
var _local1:BigBullet;
if (mode != 10){
return;
};
FlxG.play(SndFire6, 0.4);
_local1 = new BigBullet(_room, boss.x, boss.y);
_local1.speed = (1.5 * 60);
_local1.direction = _curlyAngle;
_local1.computeVelocity();
enemies.add(_local1);
enemiesLayer.add(_local1);
_local1 = new BigBullet(_room, boss.x, boss.y);
_local1.speed = (1.5 * 60);
_local1.direction = (_curlyAngle + 90);
_local1.computeVelocity();
enemies.add(_local1);
enemiesLayer.add(_local1);
_local1 = new BigBullet(_room, boss.x, boss.y);
_local1.speed = (1.5 * 60);
_local1.direction = (_curlyAngle - 90);
_local1.computeVelocity();
enemies.add(_local1);
enemiesLayer.add(_local1);
_local1 = new BigBullet(_room, boss.x, boss.y);
_local1.speed = (1.5 * 60);
_local1.direction = (_curlyAngle + 180);
_local1.computeVelocity();
enemies.add(_local1);
enemiesLayer.add(_local1);
_curlyAngle = (_curlyAngle + 5);
}
private function onMode11():void{
var _local2:Miner;
if (mode != 11){
return;
};
var _local1:Number = 0;
while (_local1 < 4) {
_local2 = new Miner(_room, boss.x, boss.y);
_local2.direction = ((_curlyAngle + (Math.random() * 30)) - 15);
enemies.add(_local2);
enemiesLayer.add(_local2);
_local1++;
};
FlxG.play(SndMiner, 0.4);
_curlyAngle = (_curlyAngle + 31);
}
override public function update():void{
_bossTimeline.update();
_stepTimer.update();
_modeTimer.update();
if (_flashtimer > 0){
_flashtimer = (_flashtimer - FlxG.elapsed);
} else {
boss.colorTransform = null;
};
super.update();
enemiesLayer.removeInactive();
effectsLayer.removeInactive();
ensubLayer.removeInactive();
enemies = FlxG.removeInactiveObjects(enemies);
}
private function onStep():void{
var _local1:BossTrail;
if (hits > 0){
charge++;
};
if (charge > 400){
if (mode == 0){
do {
mode = (int((Math.random() * MAXMODE)) + 1);
} while (mode == lastmode);
if ((((mode == 12)) && ((hits < 300)))){
do {
mode = Math.round(((Math.random() * (MAXMODE - 1)) + 1));
} while (mode == 12);
};
lastmode = mode;
if ((Math.random() * 1) > 0.5){
charge = (Math.random() * 200);
} else {
charge = 0;
};
} else {
mode = 0;
charge = 300;
};
};
if (mode == 12){
_local1 = new BossTrail(boss.x, boss.y);
_local1.specificFrame(boss._curFrame);
_local1.scale.y = boss.scale.y;
_local1.angle = boss.angle;
effectsLayer.add(_local1);
if (yding == 1){
if (boss.y < 112){
boss.y++;
} else {
mode = 0;
yding = -1;
boss.scale.y = -1;
charge = (charge + 100);
};
} else {
if (boss.y > 48){
boss.y--;
} else {
mode = 0;
yding = 1;
boss.scale.y = 1;
charge = (charge + 200);
};
};
};
}
private function onBossTimeline(_arg1:String, _arg2:Number, _arg3:Number):void{
switch (_arg1){
case "before WAIT":
boss.x = 80;
boss.y = 48;
boss.angle = 0;
boss.velocity.x = 0;
break;
case "during WAIT":
if (hits > 0){
_bossTimeline.gotoNext();
};
break;
case "after WAIT":
boss.acceleration.x = (boss.acceleration.x + 200);
break;
case "before MOVING":
break;
case "during MOVING":
if (boss.x < 32){
boss.acceleration.x = 200;
};
if (boss.x > 128){
boss.acceleration.x = -200;
};
boss.angle = ((boss.velocity.x * 10) / 60);
break;
case "after MOVING":
boss.velocity.x = 0;
boss.acceleration.x = 0;
break;
};
}
public function flash():void{
boss.colorTransform = _flashColor;
_flashtimer = 0.03;
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 37
//AtomicBoss_ImgBoss (com.mirosurabu.AtomicSuperBoss.AtomicBoss_ImgBoss)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class AtomicBoss_ImgBoss extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 38
//BigBullet (com.mirosurabu.AtomicSuperBoss.BigBullet)
package com.mirosurabu.AtomicSuperBoss {
public class BigBullet extends Enemy {
private var ImgBigBullet:Class;
public function BigBullet(_arg1:PlayRoom, _arg2:Number, _arg3:Number){
ImgBigBullet = BigBullet_ImgBigBullet;
super(ImgBigBullet, _arg1, _arg2, _arg3);
speed = 60;
setBoundingBox(2, 2, 1, 1);
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 39
//BigBullet_ImgBigBullet (com.mirosurabu.AtomicSuperBoss.BigBullet_ImgBigBullet)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class BigBullet_ImgBigBullet extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 40
//BossTrail (com.mirosurabu.AtomicSuperBoss.BossTrail)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
import flash.display.*;
import flash.geom.*;
public class BossTrail extends FlxSpriteEx {
private var ImgShip:Class;
public function BossTrail(_arg1:Number, _arg2:Number){
ImgShip = BossTrail_ImgShip;
super(ImgShip, _arg1, _arg2, true, false, 24, 24);
smoothing = Global.useSmoothing;
addAnimation("normal", [0, 1], 0);
play("normal");
offset = new Point(12, 12);
alpha = 0.4;
blendMode = BlendMode.ADD;
}
override public function update():void{
alpha = (alpha - ((0.05 * 60) * FlxG.elapsed));
if (alpha <= 0){
active = false;
};
super.update();
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 41
//BossTrail_ImgShip (com.mirosurabu.AtomicSuperBoss.BossTrail_ImgShip)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class BossTrail_ImgShip extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 42
//Bullet (com.mirosurabu.AtomicSuperBoss.Bullet)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
import flash.display.*;
import flash.geom.*;
public class Bullet extends FlxSpriteEx {
private var ImgBullet:Class;
private static const BULLET_SPEED:Number = 500;
public function Bullet(){
ImgBullet = Bullet_ImgBullet;
super(ImgBullet);
offset = new Point((width / 2), (height / 2));
smoothing = true;
blendMode = BlendMode.ADD;
alpha = 0.7;
setBoundingBox(8, 3, 4, 1);
}
override public function update():void{
if ((((((((x > 180)) || ((x < -20)))) || ((y > 180)))) || ((y < -20)))){
active = false;
};
velocity.x = (BULLET_SPEED * Math.cos(((angle * Math.PI) / 180)));
velocity.y = (BULLET_SPEED * Math.sin(((angle * Math.PI) / 180)));
super.update();
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 43
//Bullet_ImgBullet (com.mirosurabu.AtomicSuperBoss.Bullet_ImgBullet)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class Bullet_ImgBullet extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 44
//Burster (com.mirosurabu.AtomicSuperBoss.Burster)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
public class Burster extends Enemy {
private var ImgSplitter:Class;
private var _targetDir:Number;// = -1
private var _timer:FlxTimer;
private var _counter:Number;// = 0
private static const FRICTION:Number = 540;
public function Burster(_arg1:PlayRoom, _arg2:Number, _arg3:Number):void{
ImgSplitter = Burster_ImgSplitter;
super(ImgSplitter, _arg1, _arg2, _arg3);
direction = (((Math.random() * 1) > 0.5)) ? 0 : 180;
alpha = 0.7;
_timer = new FlxTimer();
_timer.addPeriod("Step", (4 / 60), onStep);
setBoundingBox(8, 8, 4, 4);
}
override public function update():void{
_timer.update();
if (speed > 0){
speed = (speed - (FRICTION * FlxG.elapsed));
};
if (speed < 0){
speed = 0;
};
computeVelocity();
super.update();
}
private function onStep():void{
var _local1:Enemy;
angle = (Math.random() * 360);
if (speed == 0){
if (_targetDir == -1){
if (_room.playerExists()){
_targetDir = Global.angleTowards(this, _room.getPlayer().ship);
} else {
_targetDir = (Math.random() * 360);
};
};
_local1 = new Laser(_room, x, y);
_local1.direction = _targetDir;
_local1.angle = _targetDir;
_local1.speed = (2.5 * 60);
_local1.computeVelocity();
_room.getAtomicBoss().enemies.add(_local1);
_room.getAtomicBoss().ensubLayer.add(_local1);
_local1 = new Laser(_room, x, y);
_local1.direction = (_targetDir - 20);
_local1.angle = (_targetDir - 20);
_local1.speed = (2.5 * 60);
_local1.computeVelocity();
_room.getAtomicBoss().enemies.add(_local1);
_room.getAtomicBoss().ensubLayer.add(_local1);
_local1 = new Laser(_room, x, y);
_local1.direction = (_targetDir + 20);
_local1.angle = (_targetDir + 20);
_local1.speed = (2.5 * 60);
_local1.computeVelocity();
_room.getAtomicBoss().enemies.add(_local1);
_room.getAtomicBoss().ensubLayer.add(_local1);
_local1 = new Laser(_room, x, y);
_local1.direction = (_targetDir - 40);
_local1.angle = (_targetDir - 40);
_local1.speed = (2.5 * 60);
_local1.computeVelocity();
_room.getAtomicBoss().enemies.add(_local1);
_room.getAtomicBoss().ensubLayer.add(_local1);
_local1 = new Laser(_room, x, y);
_local1.direction = (_targetDir + 40);
_local1.angle = (_targetDir + 40);
_local1.speed = (2.5 * 60);
_local1.computeVelocity();
_room.getAtomicBoss().enemies.add(_local1);
_room.getAtomicBoss().ensubLayer.add(_local1);
_counter = (_counter + 1);
if (_counter > 20){
active = false;
};
};
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 45
//Burster_ImgSplitter (com.mirosurabu.AtomicSuperBoss.Burster_ImgSplitter)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class Burster_ImgSplitter extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 46
//CreditsRoom (com.mirosurabu.AtomicSuperBoss.CreditsRoom)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
import flash.display.*;
public class CreditsRoom extends FlxState {
private var _imgOn:FlxSprite;
private var _imgOff:FlxSprite;
private var _textBack:FlxText;
private var _textglow:TextGlow;
private var _bg:FlxSprite;
private var _alarmTitle:FlxTimer;
private var _secret:FlxSprite;
private var _btnBack:FlxButton;
private var _textTitle:FlxText;
private var _textCredits:FlxText;
private var ImgBackground:Class;
private var _sponsored:sponsoredLogo;
public function CreditsRoom(){
ImgBackground = CreditsRoom_ImgBackground;
super();
_bg = new FlxSprite(ImgBackground);
_textTitle = new FlxText(14, 4, 160, 8, "Credits", 4294967295, "04font", 8);
_alarmTitle = new FlxTimer();
_alarmTitle.addPeriod("Title Color", 0.03, onTitleColor);
_secret = new FlxSprite(null, 0, 0, false, false, 160, 160, 4294967295, false);
_secret.blendMode = BlendMode.INVERT;
_secret.visible = Global.secretIsOn;
_imgOff = new FlxSprite(null, 0, 0, false, false, 160, 10, 268435456);
_imgOn = new FlxSprite(null, 0, 0, false, false, 160, 10, 4294967295);
_imgOn.blendMode = BlendMode.INVERT;
_textBack = new FlxText(0, 122, 160, 12, "BACK", 4294967295, "04font", 12, "center");
_btnBack = new FlxButton(0, 124, _imgOff, onBack, _imgOn);
_textCredits = new FlxText(0, 48, 160, 160, "Design and art:\nJan Willem Nijman\n\nFlash programming:\nMiroslav Malesevic\n\nMusic:\nOminiq", 4294967295, "04font", 8, "center");
_textglow = new TextGlow();
_sponsored = new sponsoredLogo();
_sponsored.scaleX = 0.25;
_sponsored.scaleY = 0.25;
_sponsored.x = (142 / 4);
_sponsored.y = (86 / 4);
addChild(_sponsored);
add(_bg);
add(_textTitle);
add(_textBack);
add(_btnBack);
add(_textCredits);
add(_secret);
FlxG.flash(4278190080, 1);
FlxG.resetKeys();
}
override public function update():void{
_alarmTitle.update();
super.update();
}
private function onTitleColor():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_textglow.update();
_local1 = 0xFF;
_local2 = (0xFF - _textglow.glow);
_local3 = (0xFF - (_textglow.quickglow * 2));
_local4 = (0xFF - (_textglow.glow / 2));
_textTitle.setColor(((((_local1 << 24) | (_local2 << 16)) | (_local3 << 8)) | _local4));
}
private function onBack():void{
if (!FlxG.mouseClicked){
return;
};
FlxG.play(SndConfirm, 0.6);
FlxG.switchState(MenuRoom);
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 47
//CreditsRoom_ImgBackground (com.mirosurabu.AtomicSuperBoss.CreditsRoom_ImgBackground)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class CreditsRoom_ImgBackground extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 48
//DifficultyRoom (com.mirosurabu.AtomicSuperBoss.DifficultyRoom)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
import flash.display.*;
public class DifficultyRoom extends FlxState {
private var _imgOn:FlxArray;
private var _imgOff:FlxArray;
private var _textBack:FlxText;
private var _textHard:FlxText;
private var _textglow:TextGlow;
private var _textNormal:FlxText;
private var _secret:FlxSprite;
private var _bg:FlxSprite;
private var _alarmTitle:FlxTimer;
private var _btnHard:FlxButton;
private var _btnNormal:FlxButton;
private var _textTitle:FlxText;
private var _textEasy:FlxText;
private var ImgBackground:Class;
private var _btnBack:FlxButton;
private var _textHint:FlxText;
private var _btnEasy:FlxButton;
public function DifficultyRoom(){
ImgBackground = DifficultyRoom_ImgBackground;
super();
_bg = new FlxSprite(ImgBackground);
_textTitle = new FlxText(14, 4, 160, 8, "Difficulty Level", 4294967295, "04font", 8);
_alarmTitle = new FlxTimer();
_alarmTitle.addPeriod("Title Color", 0.03, onTitleColor);
_secret = new FlxSprite(null, 0, 0, false, false, 160, 160, 4294967295, false);
_secret.blendMode = BlendMode.INVERT;
_secret.visible = Global.secretIsOn;
_imgOff = new FlxArray();
_imgOn = new FlxArray();
var _local1:Number = 0;
while (_local1 < 4) {
_imgOff[_local1] = new FlxSprite(null, 0, 0, false, false, 160, 10, 268435456);
_imgOn[_local1] = new FlxSprite(null, 0, 0, false, false, 160, 10, 4294967295);
_imgOn[_local1].blendMode = BlendMode.INVERT;
_local1++;
};
_textEasy = new FlxText(0, 54, 160, 12, "EASY", 4294967295, "04font", 12, "center");
_textNormal = new FlxText(0, 66, 160, 12, "NORMAL", 4294967295, "04font", 12, "center");
_textHard = new FlxText(0, 78, 160, 12, "HARD", 4294967295, "04font", 12, "center");
_textBack = new FlxText(0, 90, 160, 12, "BACK", 4294967295, "04font", 12, "center");
_btnEasy = new FlxButton(0, 56, _imgOff[0], onEasy, _imgOn[0]);
_btnNormal = new FlxButton(0, 68, _imgOff[1], onNormal, _imgOn[1]);
_btnHard = new FlxButton(0, 80, _imgOff[2], onHard, _imgOn[2]);
_btnBack = new FlxButton(0, 92, _imgOff[3], onBack, _imgOn[3]);
_textHint = new FlxText(0, 144, 160, 16, "", 4294967295, "04font", 8, "center");
_textglow = new TextGlow();
add(_bg);
add(_textTitle);
add(_textEasy);
add(_textNormal);
add(_textHard);
add(_textBack);
add(_btnEasy);
add(_btnNormal);
add(_btnHard);
add(_btnBack);
add(_textHint);
add(_secret);
FlxG.flash(4278190080, 1);
FlxG.resetKeys();
}
private function onEasy():void{
if (!FlxG.mouseClicked){
return;
};
FlxG.play(SndConfirm, 0.6);
Global.difficultyLevel = 0.5;
FlxG.switchState(InstructionRoom);
}
override public function update():void{
_alarmTitle.update();
_secret.visible = Global.secretIsOn;
if (stage != null){
stage.quality = Global.stageQuality;
};
_textHint.setText("");
if (_btnEasy.hasFocus()){
_textHint.setText("Boring mode for noobs");
};
if (_btnNormal.hasFocus()){
_textHint.setText("Normal difficulty");
};
if (_btnHard.hasFocus()){
if (Global.bestNScore < 2000){
_textHint.setText("Score +2000 on normal\nto unlock hard mode");
} else {
_textHint.setText("Hard mode unlocked\nI'ts hard");
};
};
if (_btnBack.hasFocus()){
_textHint.setText("Go back to main menu");
};
super.update();
}
private function onBack():void{
if (!FlxG.mouseClicked){
return;
};
FlxG.play(SndConfirm, 0.6);
FlxG.switchState(MenuRoom);
}
private function onTitleColor():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_textglow.update();
_local1 = 0xFF;
_local2 = (0xFF - _textglow.glow);
_local3 = (0xFF - (_textglow.quickglow * 2));
_local4 = (0xFF - (_textglow.glow / 2));
_textTitle.setColor(((((_local1 << 24) | (_local2 << 16)) | (_local3 << 8)) | _local4));
}
private function onHard():void{
if (!FlxG.mouseClicked){
return;
};
if (Global.bestNScore < 2000){
return;
};
FlxG.play(SndConfirm, 0.6);
Global.difficultyLevel = 2;
FlxG.switchState(InstructionRoom);
}
private function onNormal():void{
if (!FlxG.mouseClicked){
return;
};
FlxG.play(SndConfirm, 0.6);
Global.difficultyLevel = 1;
FlxG.switchState(InstructionRoom);
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 49
//DifficultyRoom_ImgBackground (com.mirosurabu.AtomicSuperBoss.DifficultyRoom_ImgBackground)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class DifficultyRoom_ImgBackground extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 50
//Enemy (com.mirosurabu.AtomicSuperBoss.Enemy)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
import flash.display.*;
import flash.geom.*;
public class Enemy extends FlxSpriteEx {
protected var _player:Player;
public var speed:Number;
protected var _layer:FlxLayer;
protected var _room:PlayRoom;
public var direction:Number;
public function Enemy(_arg1:Class, _arg2:PlayRoom, _arg3:Number, _arg4:Number):void{
super(_arg1, _arg3, _arg4);
if ((((Global.stageQuality == StageQuality.HIGH)) || ((Global.stageQuality == StageQuality.BEST)))){
blendMode = BlendMode.ADD;
};
smoothing = Global.useSmoothing;
_room = _arg2;
_player = _arg2.getPlayer();
_layer = _arg2.getAtomicBoss().enemiesLayer;
offset = new Point((width / 2), (height / 2));
}
public function setSpeed(_arg1:Number):void{
var _local2:Number = ((Math.atan2(velocity.y, velocity.x) * 180) / Math.PI);
if ((((velocity.x > 0)) || ((velocity.y > 0)))){
direction = _local2;
};
speed = _arg1;
computeVelocity();
}
override public function update():void{
if ((((((((x > 180)) || ((x < -20)))) || ((y > 180)))) || ((y < -20)))){
active = false;
};
super.update();
}
public function motionAdd(_arg1:Number, _arg2:Number):void{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local3 = (Math.cos(((direction * Math.PI) / 180)) * speed);
_local4 = (Math.sin(((direction * Math.PI) / 180)) * speed);
_local5 = (Math.cos(((_arg1 * Math.PI) / 180)) * _arg2);
_local6 = (Math.sin(((_arg1 * Math.PI) / 180)) * _arg2);
_local7 = (_local3 + _local5);
_local8 = (_local4 + _local6);
speed = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
direction = ((Math.atan2(_local8, _local7) * 180) / Math.PI);
}
public function computeVelocity():void{
velocity.x = (speed * Math.cos(((direction * Math.PI) / 180)));
velocity.y = (speed * Math.sin(((direction * Math.PI) / 180)));
}
public function setDirection(_arg1:Number):void{
var _local2:Number = Math.sqrt(((velocity.x * velocity.x) + (velocity.y * velocity.y)));
if (_local2 > 0){
speed = _local2;
};
direction = _arg1;
computeVelocity();
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 51
//Explosion (com.mirosurabu.AtomicSuperBoss.Explosion)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
import flash.display.*;
public class Explosion extends FlxSpriteEx {
private var ImgExplosion:Class;
public var speed:Number;// = 0
public var direction:Number;// = 0
private static const FRICTION:Number = 360;
public function Explosion(_arg1:Number, _arg2:Number):void{
ImgExplosion = Explosion_ImgExplosion;
super(ImgExplosion, _arg1, _arg2, true, false, 16, 16);
smoothing = Global.useSmoothing;
blendMode = BlendMode.ADD;
alpha = 0.7;
addAnimation("normal", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], (((Math.random() * 0.2) * 60) + (0.2 * 60)));
addAnimationCallback(onAnimation);
angle = (Math.random() * 360);
direction = (Math.random() * 360);
speed = ((Math.random() * 4) * 60);
scale.x = (1 + (Math.random() * 3));
play("normal");
}
override public function update():void{
if (speed > 0){
speed = (speed - (FRICTION * FlxG.elapsed));
};
if (speed < 0){
speed = 0;
};
computeVelocity();
scale.y = scale.x;
super.update();
}
public function computeVelocity():void{
velocity.x = (speed * Math.cos(((direction * Math.PI) / 180)));
velocity.y = (speed * Math.sin(((direction * Math.PI) / 180)));
}
private function onAnimation(_arg1:String, _arg2:Number, _arg3:Number):void{
if (_arg2 == 16){
if ((Math.random() * 4) > 3){
active = false;
};
scale.x = (scale.x / 2);
if (scale.x < 1){
active = false;
} else {
FlxG.play(SndExplo, 0.4);
};
x = (x + ((Math.random() * 40) - 20));
y = (y + ((Math.random() * 40) - 20));
};
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 52
//Explosion_ImgExplosion (com.mirosurabu.AtomicSuperBoss.Explosion_ImgExplosion)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class Explosion_ImgExplosion extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 53
//Global (com.mirosurabu.AtomicSuperBoss.Global)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
import flash.display.*;
import flash.net.*;
public class Global extends FlxG {
public static const HIGHSCORES_URL:String = "http://gimme5games.com/index.jsp?id=atomic_hs";
public static const MOREGAMES_URL:String = "http://gimme5games.com/?ref=atomic";
public static const VERSION:String = "1.0";
public static var difficultyLevel:Number = 1;
public static var bestNScore:Number;
public static var hiScores:HiScores;
public static var bestHScore:Number;
public static var stageQuality:String = "medium";
public static var totalDeaths:Number;
public static var musicOn:Boolean = true;
public static var attackDeaths:FlxArray;
public static var useSmoothing:Boolean = true;
public static var bestEScore:Number;
public static var userName:String;
public static var secretIsOn:Boolean = false;
public static function deathPercent(_arg1:Number):int{
if (totalDeaths == 0){
return (0);
};
return (((attackDeaths[_arg1] / totalDeaths) * 100));
}
public static function submitEasyScore(_arg1:Number):void{
hiScores.setDetails(218, 0, "atomic", false, _arg1, String(_arg1), "points!");
}
public static function loadHighscores():void{
hiScores = new HiScores();
hiScores = new HiScores();
hiScores.scaleX = 0.25;
hiScores.scaleY = 0.25;
}
public static function angleTowards(_arg1:FlxCore, _arg2:FlxCore):Number{
return (((Math.atan2((_arg2.y - _arg1.y), (_arg2.x - _arg1.x)) * 180) / Math.PI));
}
public static function diedFromAllAttacks():Boolean{
var _local1:Boolean;
var _local2:Number = 0;
while (_local2 < 12) {
_local1 = ((_local1) && ((attackDeaths[_local2] > 0)));
if (!_local1){
break;
};
_local2++;
};
return (_local1);
}
public static function loadShared():void{
var _local2:Number;
var _local1:SharedObject = SharedObject.getLocal(("atomicsuperboss" + VERSION));
if (_local1.data.exists != undefined){
secretIsOn = _local1.data.secretIsOn;
stageQuality = _local1.data.stageQuality;
useSmoothing = _local1.data.useSmoothing;
musicOn = _local1.data.musicOn;
userName = _local1.data.userName;
attackDeaths = new FlxArray();
_local2 = 0;
while (_local2 < 12) {
attackDeaths.add(_local1.data.attackDeaths[_local2]);
_local2++;
};
totalDeaths = _local1.data.totalDeaths;
bestEScore = _local1.data.bestEScore;
bestNScore = _local1.data.bestNScore;
bestHScore = _local1.data.bestHScore;
} else {
secretIsOn = false;
stageQuality = StageQuality.HIGH;
useSmoothing = false;
musicOn = true;
userName = "";
attackDeaths = new FlxArray();
_local2 = 0;
while (_local2 < 12) {
attackDeaths.add(0);
_local2++;
};
totalDeaths = 0;
bestEScore = 0;
bestNScore = 0;
bestHScore = 0;
};
_local1.close();
}
public static function saveShared():void{
var _local1:SharedObject = SharedObject.getLocal(("atomicsuperboss" + VERSION));
_local1.data.exists = true;
_local1.data.secretIsOn = secretIsOn;
_local1.data.stageQuality = stageQuality;
_local1.data.useSmoothing = useSmoothing;
_local1.data.musicOn = musicOn;
_local1.data.userName = userName;
_local1.data.attackDeaths = new FlxArray();
var _local2:Number = 0;
while (_local2 < 12) {
_local1.data.attackDeaths.add(attackDeaths[_local2]);
_local2++;
};
_local1.data.totalDeaths = totalDeaths;
_local1.data.bestEScore = bestEScore;
_local1.data.bestNScore = bestNScore;
_local1.data.bestHScore = bestHScore;
_local1.close();
}
public static function submitNormalScore(_arg1:Number):void{
hiScores.setDetails(218, 1, "atomic", false, _arg1, String(_arg1), "points!");
}
public static function configureKeys():void{
FlxG.AddKey(37, "LEFT");
FlxG.AddKey(38, "UP");
FlxG.AddKey(39, "RIGHT");
FlxG.AddKey(40, "DOWN");
FlxG.AddKey(90, "FIRE");
FlxG.AddKey(65, "A");
FlxG.AddKey(83, "S");
FlxG.AddKey(68, "D");
FlxG.AddKey(87, "W");
FlxG.AddKey(32, "FIRE2");
FlxG.AddKey(13, "ENTER");
FlxG.AddKey(27, "ESC");
}
public static function submitHardScore(_arg1:Number):void{
hiScores.setDetails(218, 2, "atomic", false, _arg1, String(_arg1), "points!");
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 54
//InstructionRoom (com.mirosurabu.AtomicSuperBoss.InstructionRoom)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
import flash.display.*;
public class InstructionRoom extends FlxState {
private var _textOkay:FlxText;
private var _imgOn:FlxSprite;
private var _imgOff:FlxSprite;
private var _hand:HandLogo;
private var _secret:FlxSprite;
private var _textInstructions:FlxText;
private var _textglow:TextGlow;
private var _btnOkay:FlxButton;
private var _bg:FlxSprite;
private var _alarmTitle:FlxTimer;
private var _textTitle:FlxText;
private var ImgBackground:Class;
public function InstructionRoom(){
ImgBackground = InstructionRoom_ImgBackground;
super();
_bg = new FlxSprite(ImgBackground);
_textTitle = new FlxText(14, 4, 160, 8, "How to play", 4294967295, "04font", 8);
_alarmTitle = new FlxTimer();
_alarmTitle.addPeriod("Title Color", 0.03, onTitleColor);
_secret = new FlxSprite(null, 0, 0, false, false, 160, 160, 4294967295, false);
_secret.blendMode = BlendMode.INVERT;
_secret.visible = Global.secretIsOn;
_imgOff = new FlxSprite(null, 0, 0, false, false, 160, 10, 268435456);
_imgOn = new FlxSprite(null, 0, 0, false, false, 160, 10, 4294967295);
_imgOn.blendMode = BlendMode.INVERT;
_textOkay = new FlxText(0, 122, 160, 12, "OKAY", 4294967295, "04font", 12, "center");
_btnOkay = new FlxButton(0, 124, _imgOff, onOkay, _imgOn);
_textInstructions = new FlxText(0, 32, 160, 160, "ARROWS or WASD\nto move\n\nZ or SPACE fires\n\nFiring slows you\n\nGet close to damage\nthe boss more\n\nMore damage is\nmore score", 4294967295, "04font", 8, "center");
_textglow = new TextGlow();
_hand = new HandLogo();
_hand.scaleX = 0.25;
_hand.scaleY = 0.25;
_hand.x = (20 / 4);
_hand.y = (595 / 4);
_hand.mcHand.gotoAndStop(1);
addChild(_hand);
add(_bg);
add(_textTitle);
add(_textOkay);
add(_btnOkay);
add(_textInstructions);
add(_secret);
FlxG.flash(4278190080, 1);
FlxG.resetKeys();
}
override public function update():void{
_alarmTitle.update();
if (FlxG.pressed("ENTER")){
FlxG.mouseClicked = true;
onOkay();
};
super.update();
}
private function onOkay():void{
if (!FlxG.mouseClicked){
return;
};
FlxG.play(SndConfirm, 0.6);
if (Global.musicOn){
FlxG.setMusic(SndMus1);
};
FlxG.switchState(PlayRoom);
}
private function onTitleColor():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_textglow.update();
_local1 = 0xFF;
_local2 = (0xFF - _textglow.glow);
_local3 = (0xFF - (_textglow.quickglow * 2));
_local4 = (0xFF - (_textglow.glow / 2));
_textTitle.setColor(((((_local1 << 24) | (_local2 << 16)) | (_local3 << 8)) | _local4));
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 55
//InstructionRoom_ImgBackground (com.mirosurabu.AtomicSuperBoss.InstructionRoom_ImgBackground)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class InstructionRoom_ImgBackground extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 56
//Intro (com.mirosurabu.AtomicSuperBoss.Intro)
package com.mirosurabu.AtomicSuperBoss {
import flash.events.*;
import com.adamatomic.flixel.*;
public class Intro extends FlxState {
private var splash:movSplash;
private var _listenerAdded:Boolean;// = false
public function Intro(){
splash = new movSplash();
splash.scaleX = 0.25;
splash.scaleY = 0.25;
splash.x = (80 - (splash.width / 2));
splash.y = (80 - (splash.height / 2));
addChild(splash);
}
private function onPlay(_arg1:MouseEvent):void{
FlxG.fade(4278190080, 0.5, onFadeOut);
}
override public function onStateLoaded():void{
MochiBot.track(this, "c3d5eeef");
}
override public function update():void{
if (((!((splash.btnPlay == null))) && (!(_listenerAdded)))){
_listenerAdded = true;
splash.btnPlay.addEventListener(MouseEvent.CLICK, onPlay);
};
super.update();
}
private function onFadeOut():void{
FlxG.switchState(MenuRoom);
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 57
//Laser (com.mirosurabu.AtomicSuperBoss.Laser)
package com.mirosurabu.AtomicSuperBoss {
public class Laser extends Enemy {
private var ImgLaser:Class;
public function Laser(_arg1:PlayRoom, _arg2:Number, _arg3:Number):void{
ImgLaser = Laser_ImgLaser;
super(ImgLaser, _arg1, _arg2, _arg3);
scale.x = 2;
setBoundingBox(8, 2, 4, 1);
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 58
//Laser_ImgLaser (com.mirosurabu.AtomicSuperBoss.Laser_ImgLaser)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class Laser_ImgLaser extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 59
//Laserer (com.mirosurabu.AtomicSuperBoss.Laserer)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
public class Laserer extends Enemy {
private var _target:FlxCore;
private var _death:Number;// = 0
private var ImgLaserer:Class;
private var _timer:FlxTimer;
public static const FRICTION:Number = 720;
public static const LASERSPEED:Number = 235;
public function Laserer(_arg1:PlayRoom, _arg2:Number, _arg3:Number):void{
var _local4:*;
ImgLaserer = Laserer_ImgLaserer;
_target = new FlxCore();
super(ImgLaserer, _arg1, _arg2, _arg3);
do {
_target.x = (20 + (Math.random() * 140));
_target.y = (20 + (Math.random() * 140));
_local4 = Math.sqrt((((_target.x - x) * (_target.x - x)) + ((_target.y - y) * (_target.y - y))));
} while (_local4 <= 40);
direction = Global.angleTowards(this, _target);
angle = (Math.random() * 360);
speed = 0;
_timer = new FlxTimer();
_timer.addPeriod("Lasering", 0.045, onLasering);
setBoundingBox(8, 4, 4, 2);
}
override public function update():void{
var _local1:Number = Math.sqrt((((_target.x - x) * (_target.x - x)) + ((_target.y - y) * (_target.y - y))));
if ((((_local1 > 20)) && ((speed < 120)))){
speed = (speed + (900 * FlxG.elapsed));
};
if (speed > 0){
speed = (speed - (FRICTION * FlxG.elapsed));
};
if (speed < 0){
speed = 0;
};
if (speed == 0){
_timer.update();
};
computeVelocity();
if (_room.getAtomicBoss().mode != 3){
_death = (_death + (60 * FlxG.elapsed));
if (_death > 60){
active = false;
};
};
super.update();
}
private function onLasering():void{
var _local1:Laser;
if (speed == 0){
_local1 = new Laser(_room, x, y);
_local1.speed = LASERSPEED;
_local1.direction = angle;
_local1.angle = angle;
_local1.scale.y = ((Math.random() * 0.4) + 0.8);
_local1.computeVelocity();
_local1.x = (_local1.x + ((Math.cos(((angle * Math.PI) / 180)) * width) / 2));
_local1.y = (_local1.y + ((Math.sin(((angle * Math.PI) / 180)) * width) / 2));
_room.getAtomicBoss().enemies.add(_local1);
_room.getAtomicBoss().ensubLayer.add(_local1);
_local1 = new Laser(_room, x, y);
_local1.speed = LASERSPEED;
_local1.direction = (angle + 180);
_local1.angle = (angle + 180);
_local1.scale.y = ((Math.random() * 0.4) + 0.8);
_local1.computeVelocity();
_local1.x = (_local1.x - ((Math.cos(((angle * Math.PI) / 180)) * width) / 2));
_local1.y = (_local1.y - ((Math.sin(((angle * Math.PI) / 180)) * width) / 2));
_room.getAtomicBoss().enemies.add(_local1);
_room.getAtomicBoss().ensubLayer.add(_local1);
};
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 60
//Laserer_ImgLaserer (com.mirosurabu.AtomicSuperBoss.Laserer_ImgLaserer)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class Laserer_ImgLaserer extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 61
//MenuRoom (com.mirosurabu.AtomicSuperBoss.MenuRoom)
package com.mirosurabu.AtomicSuperBoss {
import flash.events.*;
import com.adamatomic.flixel.*;
import flash.display.*;
import flash.net.*;
public class MenuRoom extends FlxState {
private var Font04font:Class;
private var _waMoreGames:InvisibleButton;
private var _imgOn:FlxArray;
private var _waHighscores:InvisibleButton;
private var _btnStats:FlxButton;
private var _textglow:TextGlow;
private var _presented:presentedLogo;
private var _alarmTitle:FlxTimer;
private var _textTitle:FlxText;
private var ImgBackground:Class;
private var _btnCredits:FlxButton;
private var _btnOptions:FlxButton;
private var _textMoreGames:FlxText;
private var _imgOff:FlxArray;
private var _hand:HandLogo;
private var _btnMoreGames:FlxButton;
private var _secret:FlxSprite;
private var _textPlay:FlxText;
private var _bg:FlxSprite;
private var _jw:JWButton;
private var _btnHighscores:FlxButton;
private var _textCredits:FlxText;
private var _textHighscores:FlxText;
private var _btnPlay:FlxButton;
private var _textOptions:FlxText;
private var _textStats:FlxText;
public function MenuRoom(){
ImgBackground = MenuRoom_ImgBackground;
Font04font = MenuRoom_Font04font;
super();
_bg = new FlxSprite(ImgBackground);
_textTitle = new FlxText(14, 4, 160, 8, ("Atomic Super Boss " + Global.VERSION), 4294967295, "04font", 8);
_alarmTitle = new FlxTimer();
_alarmTitle.addPeriod("Title Color", 0.03, onTitleColor);
_secret = new FlxSprite(null, 0, 0, false, false, 160, 160, 4294967295, false);
_secret.blendMode = BlendMode.INVERT;
_secret.visible = Global.secretIsOn;
_imgOff = new FlxArray();
_imgOn = new FlxArray();
var _local1:Number = 0;
while (_local1 < 6) {
_imgOff[_local1] = new FlxSprite(null, 0, 0, false, false, 160, 10, 268435456);
_imgOn[_local1] = new FlxSprite(null, 0, 0, false, false, 160, 10, 4294967295);
_imgOn[_local1].blendMode = BlendMode.INVERT;
_local1++;
};
_textPlay = new FlxText(0, 42, 160, 12, "PLAY", 4294967295, "04font", 12, "center");
_textMoreGames = new FlxText(0, 54, 160, 12, "MORE GAMES", 4294967295, "04font", 12, "center");
_textOptions = new FlxText(0, 66, 160, 12, "OPTION", 4294967295, "04font", 12, "center");
_textStats = new FlxText(0, 78, 160, 12, "STATS", 4294967295, "04font", 12, "center");
_textHighscores = new FlxText(0, 90, 160, 12, "HIGHSCORES", 4294967295, "04font", 12, "center");
_textCredits = new FlxText(0, 102, 160, 12, "CREDITS", 4294967295, "04font", 12, "center");
_btnPlay = new FlxButton(0, 44, _imgOff[0], onPlay, _imgOn[0]);
_btnMoreGames = new FlxButton(0, 56, _imgOff[1], onMoreGames, _imgOn[1]);
_btnOptions = new FlxButton(0, 68, _imgOff[2], onOptions, _imgOn[2]);
_btnStats = new FlxButton(0, 80, _imgOff[3], onStats, _imgOn[3]);
_btnHighscores = new FlxButton(0, 92, _imgOff[4], onHighscores, _imgOn[4]);
_btnCredits = new FlxButton(0, 104, _imgOff[5], onCredits, _imgOn[5]);
_waHighscores = new InvisibleButton();
_waHighscores.alpha = 0;
_waHighscores.x = 0;
_waHighscores.y = 92;
_waHighscores.width = 160;
_waHighscores.height = 10;
_waHighscores.addEventListener(MouseEvent.CLICK, onWAHighscores);
addChild(_waHighscores);
_waMoreGames = new InvisibleButton();
_waMoreGames.alpha = 0;
_waMoreGames.x = 0;
_waMoreGames.y = 56;
_waMoreGames.width = 160;
_waMoreGames.height = 10;
_waMoreGames.addEventListener(MouseEvent.CLICK, onWAMoreGames);
addChild(_waMoreGames);
_textglow = new TextGlow();
_presented = new presentedLogo();
_presented.scaleX = 0.25;
_presented.scaleY = 0.25;
_presented.x = (144 / 4);
_presented.y = (490 / 4);
addChild(_presented);
_hand = new HandLogo();
_hand.scaleX = 0.25;
_hand.scaleY = 0.25;
_hand.x = (20 / 4);
_hand.y = (595 / 4);
_hand.mcHand.gotoAndStop(1);
addChild(_hand);
_jw = new JWButton();
_jw.x = ((160 - _jw.width) - 4);
_jw.y = ((160 - _jw.height) - 4);
addChild(_jw);
add(_bg);
add(_textTitle);
add(_textPlay);
add(_textMoreGames);
add(_textOptions);
add(_textStats);
add(_textHighscores);
add(_textCredits);
add(_btnPlay);
add(_btnMoreGames);
add(_btnOptions);
add(_btnStats);
add(_btnHighscores);
add(_btnCredits);
add(_secret);
if (Global.musicOn){
FlxG.setMusic(SndMus2);
};
FlxG.flash(4278190080, 1);
FlxG.resetKeys();
}
private function onStats():void{
if (!FlxG.mouseClicked){
return;
};
FlxG.play(SndConfirm, 0.6);
FlxG.switchState(StatsRoom);
}
private function onWAMoreGames(_arg1:MouseEvent):void{
FlxG.play(SndConfirm, 0.6);
navigateToURL(new URLRequest(Global.MOREGAMES_URL), "_blank");
}
private function onWAHighscores(_arg1:MouseEvent):void{
FlxG.play(SndConfirm, 0.6);
navigateToURL(new URLRequest(Global.HIGHSCORES_URL), "_blank");
}
private function onHighscores():void{
}
private function onTitleColor():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_textglow.update();
_local1 = 0xFF;
_local2 = (0xFF - _textglow.glow);
_local3 = (0xFF - (_textglow.quickglow * 2));
_local4 = (0xFF - (_textglow.glow / 2));
_textTitle.setColor(((((_local1 << 24) | (_local2 << 16)) | (_local3 << 8)) | _local4));
}
private function onPlay():void{
if (!FlxG.mouseClicked){
return;
};
FlxG.play(SndConfirm, 0.6);
FlxG.switchState(DifficultyRoom);
}
private function onCredits():void{
if (!FlxG.mouseClicked){
return;
};
FlxG.play(SndConfirm, 0.6);
FlxG.switchState(CreditsRoom);
}
private function onOptions():void{
if (!FlxG.mouseClicked){
return;
};
FlxG.play(SndConfirm, 0.6);
FlxG.switchState(OptionsRoom);
}
override public function update():void{
_alarmTitle.update();
if (stage != null){
stage.quality = Global.stageQuality;
};
super.update();
}
private function onMoreGames():void{
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 62
//MenuRoom_Font04font (com.mirosurabu.AtomicSuperBoss.MenuRoom_Font04font)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class MenuRoom_Font04font extends FontAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 63
//MenuRoom_ImgBackground (com.mirosurabu.AtomicSuperBoss.MenuRoom_ImgBackground)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class MenuRoom_ImgBackground extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 64
//MGun (com.mirosurabu.AtomicSuperBoss.MGun)
package com.mirosurabu.AtomicSuperBoss {
public class MGun extends Enemy {
private var ImgMgun:Class;
public function MGun(_arg1:PlayRoom, _arg2:Number, _arg3:Number){
ImgMgun = MGun_ImgMgun;
super(ImgMgun, _arg1, _arg2, _arg3);
angle = (Math.random() * 360);
speed = 120;
setBoundingBox(2, 10, 1, 5);
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 65
//MGun_ImgMgun (com.mirosurabu.AtomicSuperBoss.MGun_ImgMgun)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class MGun_ImgMgun extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 66
//Miner (com.mirosurabu.AtomicSuperBoss.Miner)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
public class Miner extends Enemy {
private var _timer:FlxTimer;
private var ImgMgun:Class;
public function Miner(_arg1:PlayRoom, _arg2:Number, _arg3:Number):void{
ImgMgun = Miner_ImgMgun;
super(ImgMgun, _arg1, _arg2, _arg3);
angle = (Math.random() * 360);
speed = ((4 + (Math.random() * 3)) * 60);
_timer = new FlxTimer();
_timer.addPeriod("step", (1 / 60), onStep);
setBoundingBox(2, 10, 1, 5);
}
override public function update():void{
_timer.update();
computeVelocity();
super.update();
}
private function onStep():void{
if (speed > (0.5 * 60)){
speed = (speed - (0.5 * 60));
} else {
speed = (speed + (0.1 * 60));
};
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 67
//Miner_ImgMgun (com.mirosurabu.AtomicSuperBoss.Miner_ImgMgun)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class Miner_ImgMgun extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 68
//Missile (com.mirosurabu.AtomicSuperBoss.Missile)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
public class Missile extends Enemy {
private var _alarm:FlxTimer;
private var ImgMissile:Class;
private var _homing:Boolean;
public static const FRICTION:Number = 360;
public function Missile(_arg1:PlayRoom, _arg2:Number, _arg3:Number):void{
ImgMissile = Missile_ImgMissile;
super(ImgMissile, _arg1, _arg2, _arg3);
_homing = true;
_alarm = new FlxTimer();
_alarm.addPeriod("Step", 0.016, onStep);
_alarm.addPeriod("Homing", 0.83, onHomingOver);
_alarm.addPeriod("Trails", 0.016, onTrailAlarm);
setBoundingBox(6, 2, 3, 1);
}
private function onTrailAlarm():void{
var _local1:MissileTrail = new MissileTrail(x, y);
_room.getAtomicBoss().effectsLayer.add(_local1);
}
private function onStep():void{
if (((_homing) && (_room.playerExists()))){
motionAdd(Global.angleTowards(this, _room.getPlayer().ship), (0.15 * 60));
};
direction = (direction + ((Math.random() * 20) - 10));
speed = (1.5 * 60);
}
override public function update():void{
_alarm.update();
if (speed > 0){
speed = (speed - (FRICTION * FlxG.elapsed));
} else {
speed = 0;
};
computeVelocity();
angle = direction;
super.update();
}
private function onHomingOver():void{
_homing = false;
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 69
//Missile_ImgMissile (com.mirosurabu.AtomicSuperBoss.Missile_ImgMissile)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class Missile_ImgMissile extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 70
//MissileTrail (com.mirosurabu.AtomicSuperBoss.MissileTrail)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
public class MissileTrail extends FlxSpriteEx {
private var ImgMissileTrail:Class;
public function MissileTrail(_arg1:Number, _arg2:Number){
ImgMissileTrail = MissileTrail_ImgMissileTrail;
super(ImgMissileTrail, _arg1, _arg2, true, false, 2, 2);
smoothing = Global.useSmoothing;
offset.x = 1;
addAnimation("normal", [0, 1, 2, 3, 3], 18);
addAnimationCallback(onAnimation);
play("normal");
}
override public function update():void{
if ((((((((x > 180)) || ((x < -20)))) || ((y > 180)))) || ((y < -20)))){
active = false;
};
super.update();
}
private function onAnimation(_arg1:String, _arg2:uint, _arg3:uint):void{
if (_arg2 == 4){
active = false;
};
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 71
//MissileTrail_ImgMissileTrail (com.mirosurabu.AtomicSuperBoss.MissileTrail_ImgMissileTrail)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class MissileTrail_ImgMissileTrail extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 72
//OptionsRoom (com.mirosurabu.AtomicSuperBoss.OptionsRoom)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
import flash.display.*;
public class OptionsRoom extends FlxState {
private var _imgOn:FlxArray;
private var _imgOff:FlxArray;
private var _textSmoothing:FlxText;
private var _textBack:FlxText;
private var _btnSmoothing:FlxButton;
private var _textglow:TextGlow;
private var _textQuality:FlxText;
private var _textSecret:FlxText;
private var _secret:FlxSprite;
private var _btnMusic:FlxButton;
private var _bg:FlxSprite;
private var _alarmTitle:FlxTimer;
private var _btnQuality:FlxButton;
private var _btnBack:FlxButton;
private var _textTitle:FlxText;
private var ImgBackground:Class;
private var _textHint:FlxText;
private var _btnSecret:FlxButton;
private var _textMusic:FlxText;
public function OptionsRoom(){
ImgBackground = OptionsRoom_ImgBackground;
super();
_bg = new FlxSprite(ImgBackground);
_textTitle = new FlxText(14, 4, 160, 8, "Option", 4294967295, "04font", 8);
_alarmTitle = new FlxTimer();
_alarmTitle.addPeriod("Title Color", 0.03, onTitleColor);
_secret = new FlxSprite(null, 0, 0, false, false, 160, 160, 4294967295, false);
_secret.blendMode = BlendMode.INVERT;
_secret.visible = Global.secretIsOn;
_imgOff = new FlxArray();
_imgOn = new FlxArray();
var _local1:Number = 0;
while (_local1 < 5) {
_imgOff[_local1] = new FlxSprite(null, 0, 0, false, false, 160, 10, 268435456);
_imgOn[_local1] = new FlxSprite(null, 0, 0, false, false, 160, 10, 4294967295);
_imgOn[_local1].blendMode = BlendMode.INVERT;
_local1++;
};
_textMusic = new FlxText(0, 42, 160, 12, "MUSIC", 4294967295, "04font", 12, "center");
_textSmoothing = new FlxText(0, 54, 160, 12, "SMOOTHING", 4294967295, "04font", 12, "center");
_textQuality = new FlxText(0, 66, 160, 12, "QUALITY", 4294967295, "04font", 12, "center");
_textSecret = new FlxText(0, 78, 160, 12, "SECRET", 4294967295, "04font", 12, "center");
_textBack = new FlxText(0, 90, 160, 12, "BACK", 4294967295, "04font", 12, "center");
_btnMusic = new FlxButton(0, 44, _imgOff[0], onMusic, _imgOn[0]);
_btnSmoothing = new FlxButton(0, 56, _imgOff[1], onSmoothing, _imgOn[1]);
_btnQuality = new FlxButton(0, 68, _imgOff[2], onQuality, _imgOn[2]);
_btnSecret = new FlxButton(0, 80, _imgOff[3], onSecret, _imgOn[3]);
_btnBack = new FlxButton(0, 92, _imgOff[4], onBack, _imgOn[4]);
_textHint = new FlxText(0, 144, 160, 16, "", 4294967295, "04font", 8, "center");
_textglow = new TextGlow();
add(_bg);
add(_textTitle);
add(_textMusic);
add(_textSmoothing);
add(_textQuality);
add(_textSecret);
add(_textBack);
add(_btnMusic);
add(_btnSmoothing);
add(_btnQuality);
add(_btnSecret);
add(_btnBack);
add(_textHint);
add(_secret);
FlxG.flash(4278190080, 1);
FlxG.resetKeys();
}
private function onTitleColor():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_textglow.update();
_local1 = 0xFF;
_local2 = (0xFF - _textglow.glow);
_local3 = (0xFF - (_textglow.quickglow * 2));
_local4 = (0xFF - (_textglow.glow / 2));
_textTitle.setColor(((((_local1 << 24) | (_local2 << 16)) | (_local3 << 8)) | _local4));
}
override public function update():void{
_alarmTitle.update();
_secret.visible = Global.secretIsOn;
if (stage != null){
stage.quality = Global.stageQuality;
};
_textMusic.setText(("MUSIC " + (Global.musicOn) ? "ON" : "OFF"));
_textSmoothing.setText(("SMOOTHING " + (Global.useSmoothing) ? "ON" : "OFF"));
switch (Global.stageQuality){
case StageQuality.BEST:
_textQuality.setText("QUALITY BEST");
break;
case StageQuality.HIGH:
_textQuality.setText("QUALITY HIGH");
break;
case StageQuality.LOW:
_textQuality.setText("QUALITY LOW");
break;
case StageQuality.MEDIUM:
_textQuality.setText("QUALITY MEDIUM");
break;
};
_textHint.setText("");
if (_btnMusic.hasFocus()){
_textHint.setText("Toggle music");
};
if (_btnSmoothing.hasFocus()){
_textHint.setText("Toggle smoothing");
};
if (_btnQuality.hasFocus()){
_textHint.setText("Change quality");
};
if (_btnSecret.hasFocus()){
if (!Global.diedFromAllAttacks()){
_textHint.setText("Die from all atacks\nto unlock secret");
} else {
_textHint.setText("Secret is unlocked");
};
};
if (_btnBack.hasFocus()){
_textHint.setText("Go back to main menu");
};
super.update();
}
private function onName():void{
if (!FlxG.mouseClicked){
return;
};
FlxG.play(SndConfirm, 0.6);
Global.saveShared();
}
private function onMusic():void{
if (!FlxG.mouseClicked){
return;
};
FlxG.play(SndConfirm, 0.6);
Global.musicOn = !(Global.musicOn);
if (Global.musicOn){
FlxG.setMusic(SndMus2);
} else {
FlxG.stopMusic();
};
Global.saveShared();
}
private function onSmoothing():void{
if (!FlxG.mouseClicked){
return;
};
FlxG.play(SndConfirm, 0.6);
Global.useSmoothing = !(Global.useSmoothing);
Global.saveShared();
}
private function onQuality():void{
if (!FlxG.mouseClicked){
return;
};
FlxG.play(SndConfirm, 0.6);
switch (Global.stageQuality){
case StageQuality.LOW:
Global.stageQuality = StageQuality.MEDIUM;
break;
case StageQuality.MEDIUM:
Global.stageQuality = StageQuality.HIGH;
break;
case StageQuality.HIGH:
Global.stageQuality = StageQuality.BEST;
break;
case StageQuality.BEST:
Global.stageQuality = StageQuality.LOW;
break;
};
Global.saveShared();
}
private function onSecret():void{
if (!FlxG.mouseClicked){
return;
};
if (!Global.diedFromAllAttacks()){
return;
};
FlxG.play(SndConfirm, 0.6);
Global.secretIsOn = !(Global.secretIsOn);
Global.saveShared();
}
private function onBack():void{
if (!FlxG.mouseClicked){
return;
};
FlxG.play(SndConfirm, 0.6);
FlxG.switchState(MenuRoom);
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 73
//OptionsRoom_ImgBackground (com.mirosurabu.AtomicSuperBoss.OptionsRoom_ImgBackground)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class OptionsRoom_ImgBackground extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 74
//Player (com.mirosurabu.AtomicSuperBoss.Player)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
import flash.geom.*;
public class Player extends FlxLayer {
private var _shoot_timeout:Number;// = 0
public var canshoot:Boolean;// = true
public var bullets:FlxArray;
public var usercontrolled:Boolean;// = true
private var _room:PlayRoom;
public var ship:FlxSpriteEx;
private var ImgShip:Class;
private static var SPEED:Number = 120;
public function Player(_arg1:PlayRoom, _arg2:Number, _arg3:Number){
ImgShip = Player_ImgShip;
super();
_room = _arg1;
ship = new FlxSpriteEx(ImgShip, _arg2, _arg3, true, false, 16, 16, 0, false);
ship.offset = new Point(8, 8);
ship.setBoundingBox(2, 2, 1, 0);
ship.addAnimation("stand", [1]);
ship.addAnimation("left", [0]);
ship.addAnimation("right", [2]);
bullets = new FlxArray();
add(ship);
}
public function addBullet(_arg1:Number):void{
var _local2:Bullet;
_local2 = new Bullet();
_local2.x = ship.x;
_local2.y = ship.y;
_local2.angle = _arg1;
bullets.add(_local2);
add(_local2);
}
override public function update():void{
var _local1:Number;
var _local2:Number;
if ((((ship == null)) || (!(ship.active)))){
usercontrolled = false;
};
if (usercontrolled){
ship.velocity.x = 0;
ship.velocity.y = 0;
_local1 = (((FlxG.pressed("FIRE")) || (FlxG.pressed("FIRE2")))) ? 2 : 1;
if (((((FlxG.pressed("LEFT")) || (FlxG.pressed("A")))) && ((ship.x > 16)))){
ship.velocity.x = (-(SPEED) / _local1);
};
if (((((FlxG.pressed("RIGHT")) || (FlxG.pressed("D")))) && ((ship.x < 144)))){
ship.velocity.x = (SPEED / _local1);
};
if (((((FlxG.pressed("UP")) || (FlxG.pressed("W")))) && ((ship.y > 16)))){
ship.velocity.y = (-(SPEED) / _local1);
};
if (((((FlxG.pressed("DOWN")) || (FlxG.pressed("S")))) && ((ship.y < 144)))){
ship.velocity.y = (SPEED / _local1);
};
if (((((FlxG.pressed("FIRE")) || (FlxG.pressed("FIRE2")))) && (canshoot))){
_local2 = Global.angleTowards(ship, _room.getAtomicBoss().boss);
addBullet(_local2);
addBullet((_local2 + 6));
addBullet((_local2 + 12));
addBullet((_local2 - 6));
addBullet((_local2 - 12));
shootTimeout();
FlxG.play(SndPShoot, 0.4);
};
};
if (ship.x < 16){
ship.x = 16;
};
if (ship.x > 144){
ship.x = 144;
};
if (ship.y < 16){
ship.y = 16;
};
if (ship.y > 144){
ship.y = 144;
};
if (ship.velocity.x == 0){
ship.play("stand");
};
if (ship.velocity.x > 0){
ship.play("right");
};
if (ship.velocity.x < 0){
ship.play("left");
};
if (_shoot_timeout > 0){
_shoot_timeout = (_shoot_timeout - FlxG.elapsed);
} else {
canshoot = true;
};
super.update();
removeInactive();
bullets = FlxG.removeInactiveObjects(bullets);
}
public function shootTimeout():void{
canshoot = false;
_shoot_timeout = 0.06;
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 75
//Player_ImgShip (com.mirosurabu.AtomicSuperBoss.Player_ImgShip)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class Player_ImgShip extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 76
//PlayRoom (com.mirosurabu.AtomicSuperBoss.PlayRoom)
package com.mirosurabu.AtomicSuperBoss {
import flash.events.*;
import com.adamatomic.flixel.*;
import flash.display.*;
import flash.geom.*;
import flash.net.*;
public class PlayRoom extends FlxState {
private var _player:Player;
private var _imgOn:FlxArray;
private var _waMoreGames:InvisibleButton;
private var _btnRetry:FlxButton;
private var _stars1:FlxSprite;
private var _stars2:FlxSprite;
private var _textLayer:FlxLayer;
private var _deathTimeout:Number;// = 0
private var ImgBackground:Class;
private var _textHint:FlxText;
private var _bossTimeline:FlxTimeline;
private var _atomicboss:AtomicBoss;
private var _textMoreGames:FlxText;
private var _imgOff:FlxArray;
private var ImgStarfield1:Class;
private var ImgStarfield2:Class;
private var _hand:HandLogo;
private var _btnMoreGames:FlxButton;
private var _secret:FlxSprite;
private var _scoreText:FlxText;
private var _playerTimeline:FlxTimeline;
private var _bg:FlxSprite;
private var _deathOver:Boolean;// = false
private var _textMainMenu:FlxText;
private var _transition:String;
private var _btnMainMenu:FlxButton;
private var _textRetry:FlxText;
public function PlayRoom(){
ImgBackground = PlayRoom_ImgBackground;
ImgStarfield1 = PlayRoom_ImgStarfield1;
ImgStarfield2 = PlayRoom_ImgStarfield2;
super();
_bg = new FlxSprite(ImgBackground);
_stars1 = new FlxSprite(ImgStarfield1);
_stars2 = new FlxSprite(ImgStarfield2);
_secret = new FlxSprite(null, 0, 0, false, false, 160, 160, 4294967295, false);
_secret.blendMode = BlendMode.INVERT;
_secret.visible = Global.secretIsOn;
_atomicboss = new AtomicBoss(this);
_player = new Player(this, 80, 120);
_scoreText = new FlxText(0, 0, 160, 12, "234", 4294967295, "04font", 12, "center");
_textRetry = new FlxText(0, 52, 160, 12, "RETRY [ENTER]", 4294967295, "04font", 12, "center");
_textMoreGames = new FlxText(0, 64, 160, 12, "MORE GAMES", 4294967295, "04font", 12, "center");
_textMainMenu = new FlxText(0, 76, 160, 12, "MAIN MENU [ESC]", 4294967295, "04font", 12, "center");
_textHint = new FlxText(0, 144, 160, 16, "", 4294967295, "04font", 8, "center");
_imgOff = new FlxArray();
_imgOn = new FlxArray();
var _local1:Number = 0;
while (_local1 < 3) {
_imgOff[_local1] = new FlxSprite(null, 0, 0, false, false, 160, 10, 268435456);
_imgOn[_local1] = new FlxSprite(null, 0, 0, false, false, 160, 10, 4294967295);
_imgOn[_local1].blendMode = BlendMode.INVERT;
_local1++;
};
_btnRetry = new FlxButton(0, 54, _imgOff[0], onRetry, _imgOn[0]);
_btnMoreGames = new FlxButton(0, 66, _imgOff[1], onMoreGames, _imgOn[1]);
_btnMainMenu = new FlxButton(0, 78, _imgOff[2], onMainMenu, _imgOn[2]);
if (Global.difficultyLevel >= 0.5){
_textRetry.y = (_textRetry.y + 54);
_textMoreGames.y = (_textMoreGames.y + 54);
_textMainMenu.y = (_textMainMenu.y + 54);
_btnRetry.y = (_btnRetry.y + 54);
_btnMoreGames.y = (_btnMoreGames.y + 54);
_btnMainMenu.y = (_btnMainMenu.y + 54);
};
_waMoreGames = new InvisibleButton();
_waMoreGames.alpha = 0;
_waMoreGames.x = _btnMoreGames.x;
_waMoreGames.y = _btnMoreGames.y;
_waMoreGames.width = _btnMoreGames.width;
_waMoreGames.height = _btnMoreGames.height;
_waMoreGames.addEventListener(MouseEvent.CLICK, onWAMoreGames);
_textLayer = new FlxLayer();
_hand = new HandLogo();
_hand.scaleX = 0.25;
_hand.scaleY = 0.25;
_hand.x = (20 / 4);
_hand.y = (595 / 4);
_hand.mcHand.gotoAndStop(1);
addChild(_hand);
add(_bg);
add(_stars1);
add(_stars2);
add(_atomicboss);
add(_player);
add(_scoreText);
add(_textLayer);
add(_textHint);
add(_secret);
FlxG.flash(4278190080, 1);
FlxG.resetKeys();
_playerTimeline = new FlxTimeline(onPlayerTimeline);
_playerTimeline.addPeriod("ZOOMOUT", 1);
_playerTimeline.start();
}
private function onPlayerTimeline(_arg1:String, _arg2:Number, _arg3:Number):void{
switch (_arg1){
case "before ZOOMOUT":
_player.ship.scale = new Point(100, 100);
_player.usercontrolled = false;
break;
case "during ZOOMOUT":
_player.ship.scale = new Point((((1 - _arg2) * 99) + 1), (((1 - _arg2) * 99) + 1));
break;
case "after ZOOMOUT":
_player.ship.scale = new Point(1, 1);
_player.usercontrolled = true;
break;
};
}
private function onRetry():void{
_transition = "retry";
FlxG.fade(4278190080, 0.5, onFadeComplete);
FlxG.play(SndConfirm, 0.6);
}
private function onWAMoreGames(_arg1:MouseEvent):void{
FlxG.play(SndConfirm, 0.6);
navigateToURL(new URLRequest(Global.MOREGAMES_URL), "_blank");
}
public function playerExists():Boolean{
if (_player.ship == null){
return (false);
};
return (_player.ship.active);
}
private function onBulletHitsBoss(_arg1:FlxCore, _arg2:FlxCore):void{
_arg1.active = false;
_atomicboss.hits++;
_atomicboss.flash();
}
public function getAtomicBoss():AtomicBoss{
return (_atomicboss);
}
private function onEnemyHitsShip(_arg1:FlxCore, _arg2:FlxSpriteEx):void{
var _local4:Explosion;
if (!_arg2.active){
return;
};
Global.totalDeaths++;
if (_atomicboss.mode > 0){
var _local5 = Global.attackDeaths;
var _local6 = (_atomicboss.mode - 1);
var _local7 = (_local5[_local6] + 1);
_local5[_local6] = _local7;
};
_scoreText.setText(String(_atomicboss.hits));
switch (Global.difficultyLevel){
case 0.5:
_textHint.setText(((("Your score: " + String(_atomicboss.hits)) + "\nYour best: ") + String(Global.bestEScore)));
if (_atomicboss.hits > Global.bestEScore){
_textHint.setText(("New high score: " + String(_atomicboss.hits)));
Global.bestEScore = _atomicboss.hits;
};
Global.submitEasyScore(_atomicboss.hits);
break;
case 1:
_textHint.setText(((("Your score: " + String(_atomicboss.hits)) + "\nYour best: ") + String(Global.bestNScore)));
if (_atomicboss.hits > Global.bestNScore){
if ((((_atomicboss.hits > 2000)) && ((Global.bestNScore < 2000)))){
_textHint.setText((("New high score: " + String(_atomicboss.hits)) + "\nHARD MODE UNLOCKED"));
} else {
_textHint.setText(("New high score: " + String(_atomicboss.hits)));
};
Global.bestNScore = _atomicboss.hits;
};
Global.submitNormalScore(_atomicboss.hits);
break;
case 2:
_textHint.setText(((("Your score: " + String(_atomicboss.hits)) + "\nYour best: ") + String(Global.bestHScore)));
if (_atomicboss.hits > Global.bestHScore){
_textHint.setText(("New high score: " + String(_atomicboss.hits)));
Global.bestHScore = _atomicboss.hits;
};
Global.submitHardScore(_atomicboss.hits);
break;
};
Global.saveShared();
var _local3:Number = 0;
while (_local3 < 20) {
_local4 = new Explosion(((_arg2.x + (Math.random() * 20)) - 10), ((_arg2.y + (Math.random() * 20)) - 10));
_atomicboss.enemiesLayer.add(_local4);
_local3++;
};
_arg2.active = false;
_arg2.kill();
FlxG.play(SndPDie, 0.3);
}
private function onMainMenu():void{
_transition = "mainmenu";
FlxG.fade(4278190080, 0.5, onFadeComplete);
FlxG.play(SndConfirm, 0.6);
}
override public function update():void{
_playerTimeline.update();
FlxG.bOverlapArray(_player.bullets, _atomicboss.boss, onBulletHitsBoss);
FlxG.bOverlapArray(_atomicboss.enemies, _player.ship, onEnemyHitsShip);
if (((playerExists()) && (_player.usercontrolled))){
if (_atomicboss.boss.bOverlaps(_player.ship)){
onEnemyHitsShip(_atomicboss.boss, _player.ship);
};
};
_stars2.x = ((-(_player.ship.x) / 5) - (_atomicboss.boss.x / 10));
_stars2.y = ((-(_player.ship.y) / 5) - (_atomicboss.boss.y / 10));
_stars1.x = ((-(_player.ship.x) / 7) - (_atomicboss.boss.x / 13));
_stars1.y = ((-(_player.ship.y) / 7) - (_atomicboss.boss.y / 13));
if (playerExists()){
_scoreText.setText(String(_atomicboss.hits));
};
if (((FlxG.justPressed("ENTER")) && (!(playerExists())))){
FlxG.mouseClicked = true;
onRetry();
};
if (FlxG.justPressed("ESC")){
FlxG.mouseClicked = true;
onMainMenu();
};
if (((!(_deathOver)) && (!(playerExists())))){
_deathTimeout = (_deathTimeout + FlxG.elapsed);
if (_deathTimeout >= 1.5){
_deathOver = true;
_textLayer.add(_textRetry);
_textLayer.add(_textMoreGames);
_textLayer.add(_textMainMenu);
_textLayer.add(_btnRetry);
_textLayer.add(_btnMoreGames);
_textLayer.add(_btnMainMenu);
if (Global.difficultyLevel >= 0.5){
Global.hiScores.x = (80 - (Global.hiScores.width / 2));
Global.hiScores.y = 20;
addChild(Global.hiScores);
};
addChild(_waMoreGames);
};
};
super.update();
if (stage != null){
stage.quality = Global.stageQuality;
};
}
private function onFadeComplete():void{
switch (_transition){
case "retry":
FlxG.switchState(PlayRoom);
break;
case "mainmenu":
FlxG.switchState(MenuRoom);
break;
};
}
private function onMoreGames():void{
}
public function getPlayer():Player{
return (_player);
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 77
//PlayRoom_ImgBackground (com.mirosurabu.AtomicSuperBoss.PlayRoom_ImgBackground)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class PlayRoom_ImgBackground extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 78
//PlayRoom_ImgStarfield1 (com.mirosurabu.AtomicSuperBoss.PlayRoom_ImgStarfield1)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class PlayRoom_ImgStarfield1 extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 79
//PlayRoom_ImgStarfield2 (com.mirosurabu.AtomicSuperBoss.PlayRoom_ImgStarfield2)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class PlayRoom_ImgStarfield2 extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 80
//Splitter (com.mirosurabu.AtomicSuperBoss.Splitter)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
import flash.display.*;
public class Splitter extends Enemy {
private var ImgSplitter:Class;
private static const FRICTION:Number = 180;
public function Splitter(_arg1:PlayRoom, _arg2:Number, _arg3:Number):void{
ImgSplitter = Splitter_ImgSplitter;
super(ImgSplitter, _arg1, _arg2, _arg3);
speed = ((2 + (Math.random() * 1)) * 60);
alpha = 0.7;
blendMode = BlendMode.ADD;
setBoundingBox(8, 8, 4, 4);
}
override public function update():void{
var _local1:Number;
var _local2:Number;
var _local3:BigBullet;
angle = (Math.random() * 360);
if (speed > 0){
speed = (speed - (FRICTION * FlxG.elapsed));
};
if (speed < 0){
speed = 0;
};
computeVelocity();
if (speed == 0){
active = false;
_local1 = (Math.random() * 360);
_local2 = 0;
while (_local2 < 9) {
_local3 = new BigBullet(_room, x, y);
_local3.speed = 60;
_local3.direction = _local1;
_local1 = (_local1 + 40);
_local3.computeVelocity();
_room.getAtomicBoss().enemies.add(_local3);
_room.getAtomicBoss().enemiesLayer.add(_local3);
_local2++;
};
FlxG.play(SndBallExplo, 0.4);
};
super.update();
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 81
//Splitter_ImgSplitter (com.mirosurabu.AtomicSuperBoss.Splitter_ImgSplitter)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class Splitter_ImgSplitter extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 82
//StatsRoom (com.mirosurabu.AtomicSuperBoss.StatsRoom)
package com.mirosurabu.AtomicSuperBoss {
import com.adamatomic.flixel.*;
import flash.display.*;
public class StatsRoom extends FlxState {
private var _imgOn:FlxSprite;
private var _imgOff:FlxSprite;
private var _textBack:FlxText;
private var _textglow:TextGlow;
private var _secret:FlxSprite;
private var _bg:FlxSprite;
private var _percentLabels:FlxArray;
private var _alarmTitle:FlxTimer;
private var _textLabels:FlxText;
private var _textTitle:FlxText;
private var ImgBackground:Class;
private var _textHint:FlxText;
private var _textTotalDeaths:FlxText;
private var _textStats:FlxText;
private var _btnBack:FlxButton;
public function StatsRoom(){
var _local3:FlxSprite;
ImgBackground = StatsRoom_ImgBackground;
super();
_bg = new FlxSprite(ImgBackground);
_textTitle = new FlxText(14, 4, 160, 8, "Stats", 4294967295, "04font", 8);
_alarmTitle = new FlxTimer();
_alarmTitle.addPeriod("Title Color", 0.03, onTitleColor);
_secret = new FlxSprite(null, 0, 0, false, false, 160, 160, 4294967295, false);
_secret.blendMode = BlendMode.INVERT;
_secret.visible = Global.secretIsOn;
_imgOff = new FlxSprite(null, 0, 0, false, false, 160, 10, 268435456);
_imgOn = new FlxSprite(null, 0, 0, false, false, 160, 10, 4294967295);
_imgOn.blendMode = BlendMode.INVERT;
_textBack = new FlxText(0, 122, 160, 12, "BACK", 4294967295, "04font", 12, "center");
_btnBack = new FlxButton(0, 124, _imgOff, onBack, _imgOn);
_textLabels = new FlxText(28, 28, 160, 160, "rings:\nrainer:\nwires:\nburst:\nrocket:\nsplit:\ncurly:\npath:\nlaser:\nturns:\nmines:\nmover:\n", 4294967295, "04font");
_textStats = new FlxText(96, 28, 160, 160, "0 = 0%\n0 = 0%\n0 = 0%\n0 = 0%\n0 = 0%\n0 = 0%\n0 = 0%\n0 = 0%\n0 = 0%\n0 = 0%\n0 = 0%\n0 = 0%\n", 4294967295, "04font");
_textHint = new FlxText(0, 144, 160, 16, ((((("SCORES:\nE:" + String(Global.bestEScore)) + " N:") + String(Global.bestNScore)) + " H:") + String(Global.bestHScore)), 4294967295, "04font", 8, "center");
_textTotalDeaths = new FlxText(0, 108, 160, 8, ("total deaths: " + String(Global.totalDeaths)), 4294967295, "04font", 8, "center");
var _local1 = "";
var _local2:Number = 0;
while (_local2 < 12) {
_local1 = (_local1 + (((String(Global.attackDeaths[_local2]) + " = ") + String(Global.deathPercent(_local2))) + "%\n"));
_local2++;
};
_textStats.setText(_local1);
_percentLabels = new FlxArray();
_local2 = 0;
while (_local2 < 12) {
if (((Global.deathPercent(_local2) * 65) / 100) < 1){
} else {
_local3 = new FlxSprite(null, 29, (30 + (6 * _local2)), false, false, ((Global.deathPercent(_local2) * 65) / 100), 7, 4294967295, false);
_local3.blendMode = BlendMode.INVERT;
_percentLabels.add(_local3);
};
_local2++;
};
_textglow = new TextGlow();
add(_bg);
add(_textTitle);
add(_textBack);
add(_btnBack);
add(_textLabels);
add(_textStats);
add(_textTotalDeaths);
add(_textHint);
_local2 = 0;
while (_local2 < _percentLabels.length) {
add(_percentLabels[_local2]);
_local2++;
};
add(_secret);
FlxG.flash(4278190080, 1);
FlxG.resetKeys();
}
override public function update():void{
_alarmTitle.update();
super.update();
}
private function onBack():void{
if (!FlxG.mouseClicked){
return;
};
FlxG.play(SndConfirm, 0.6);
FlxG.switchState(MenuRoom);
}
private function onTitleColor():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_textglow.update();
_local1 = 0xFF;
_local2 = (0xFF - _textglow.glow);
_local3 = (0xFF - (_textglow.quickglow * 2));
_local4 = (0xFF - (_textglow.glow / 2));
_textTitle.setColor(((((_local1 << 24) | (_local2 << 16)) | (_local3 << 8)) | _local4));
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 83
//StatsRoom_ImgBackground (com.mirosurabu.AtomicSuperBoss.StatsRoom_ImgBackground)
package com.mirosurabu.AtomicSuperBoss {
import mx.core.*;
public class StatsRoom_ImgBackground extends BitmapAsset {
}
}//package com.mirosurabu.AtomicSuperBoss
Section 84
//TextGlow (com.mirosurabu.AtomicSuperBoss.TextGlow)
package com.mirosurabu.AtomicSuperBoss {
public class TextGlow {
private var _quickglowphase:uint;// = 0
public var quickglow:uint;// = 0
public var glow:uint;// = 0
private var _glowphase:uint;// = 0
public function update():void{
if (_glowphase == 0){
glow++;
if (glow >= 100){
glow = 100;
_glowphase = 1;
};
} else {
if (_glowphase == 1){
glow--;
if (glow <= 0){
glow = 0;
_glowphase = 0;
};
};
};
if (_quickglowphase == 0){
quickglow++;
if (quickglow >= 50){
quickglow = 50;
_quickglowphase = 1;
};
} else {
if (_quickglowphase == 1){
quickglow--;
if (quickglow <= 0){
quickglow = 0;
_quickglowphase = 0;
};
};
};
}
}
}//package com.mirosurabu.AtomicSuperBoss
Section 85
//rollout_6 (G5buttons_fla.rollout_6)
package G5buttons_fla {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class rollout_6 extends MovieClip {
public function rollout_6(){
addFrameScript(0, frame1, 29, frame30);
}
function frame1(){
addEventListener(MouseEvent.CLICK, onLink);
}
function frame30(){
stop();
}
public function onLink(_arg1:Event):void{
navigateToURL(new URLRequest("http://gimme5games.com/?ref=atomic"), "_blank");
}
}
}//package G5buttons_fla
Section 86
//movAutoEntryScreen0_18 (HiScores_fla.movAutoEntryScreen0_18)
package HiScores_fla {
import flash.display.*;
import flash.text.*;
public dynamic class movAutoEntryScreen0_18 extends MovieClip {
public var txtName:TextField;
public var txtMsg2:TextField;
public var btnEnterAnother:SimpleButton;
public var txtMsg1:TextField;
public var btnSubmit:SimpleButton;
}
}//package HiScores_fla
Section 87
//movAutoEntryScreen1_8 (HiScores_fla.movAutoEntryScreen1_8)
package HiScores_fla {
import flash.display.*;
import flash.text.*;
public dynamic class movAutoEntryScreen1_8 extends MovieClip {
public var txtName:TextField;
public var txtMsg2:TextField;
public var btnEnterAnother:SimpleButton;
public var txtMsg1:TextField;
public var btnSubmit:SimpleButton;
}
}//package HiScores_fla
Section 88
//movEntryScreen0_14 (HiScores_fla.movEntryScreen0_14)
package HiScores_fla {
import flash.display.*;
import flash.text.*;
public dynamic class movEntryScreen0_14 extends MovieClip {
public var txtName:TextField;
public var movCode:MovieClip;
public var txtMsg2:TextField;
public var btnRefreshCode:SimpleButton;
public var txtCode:TextField;
public var txtMsg1:TextField;
public var btnSubmit:SimpleButton;
}
}//package HiScores_fla
Section 89
//movEntryScreen1_4 (HiScores_fla.movEntryScreen1_4)
package HiScores_fla {
import flash.display.*;
import flash.text.*;
public dynamic class movEntryScreen1_4 extends MovieClip {
public var txtName:TextField;
public var movCode:MovieClip;
public var txtMsg2:TextField;
public var btnRefreshCode:SimpleButton;
public var txtCode:TextField;
public var txtMsg1:TextField;
public var btnSubmit:SimpleButton;
}
}//package HiScores_fla
Section 90
//movInfoScreen0_20 (HiScores_fla.movInfoScreen0_20)
package HiScores_fla {
import flash.display.*;
import flash.text.*;
public dynamic class movInfoScreen0_20 extends MovieClip {
public var btnView:SimpleButton;
public var txtInfo:TextField;
public var btnBack:SimpleButton;
}
}//package HiScores_fla
Section 91
//movInfoScreen1_10 (HiScores_fla.movInfoScreen1_10)
package HiScores_fla {
import flash.display.*;
import flash.text.*;
public dynamic class movInfoScreen1_10 extends MovieClip {
public var btnView:SimpleButton;
public var txtInfo:TextField;
public var btnBack:SimpleButton;
}
}//package HiScores_fla
Section 92
//movSkin0_13 (HiScores_fla.movSkin0_13)
package HiScores_fla {
import flash.display.*;
public dynamic class movSkin0_13 extends MovieClip {
public var movAutoEntryScreen:MovieClip;
public var movEntryScreen:MovieClip;
public var movInfoScreen:MovieClip;
}
}//package HiScores_fla
Section 93
//movSkin1_2 (HiScores_fla.movSkin1_2)
package HiScores_fla {
import flash.display.*;
public dynamic class movSkin1_2 extends MovieClip {
public var movAutoEntryScreen:MovieClip;
public var movEntryScreen:MovieClip;
public var movInfoScreen:MovieClip;
}
}//package HiScores_fla
Section 94
//g5logo_16 (movLoader_fla.g5logo_16)
package movLoader_fla {
import flash.display.*;
public dynamic class g5logo_16 extends MovieClip {
public function g5logo_16(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package movLoader_fla
Section 95
//hand_17 (movLoader_fla.hand_17)
package movLoader_fla {
import flash.display.*;
public dynamic class hand_17 extends MovieClip {
public function hand_17(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package movLoader_fla
Section 96
//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.3.0.4589";
public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
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(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
}
}//package mx.core
Section 97
//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.3.0.4589";
public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0);
;
public function EdgeMetrics(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){
this.left = _arg1;
this.top = _arg2;
this.right = _arg3;
this.bottom = _arg4;
}
public function clone():EdgeMetrics{
return (new EdgeMetrics(left, top, right, bottom));
}
}
}//package mx.core
Section 98
//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.3.0.4589";
public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
var bitmapData = _arg1;
var pixelSnapping = _arg2;
var smoothing = _arg3;
super(bitmapData, pixelSnapping, smoothing);
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 99
//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.3.0.4589";
public function FlexLoader(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 100
//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.3.0.4589";
public function FlexShape(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 101
//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.3.0.4589";
private static var compatibilityVersionChanged:Boolean = false;
private static var _compatibilityErrorFunction:Function;
private static var _compatibilityVersion:uint = 50331648;
private static var compatibilityVersionRead:Boolean = false;
mx_internal static function changeCompatibilityVersionString(_arg1:String):void{
var _local2:Array = _arg1.split(".");
var _local3:uint = parseInt(_local2[0]);
var _local4:uint = parseInt(_local2[1]);
var _local5:uint = parseInt(_local2[2]);
_compatibilityVersion = (((_local3 << 24) + (_local4 << 16)) + _local5);
}
public static function set compatibilityVersion(_arg1:uint):void{
var _local2:String;
if (_arg1 == _compatibilityVersion){
return;
};
if (compatibilityVersionChanged){
if (compatibilityErrorFunction == null){
_local2 = ResourceManager.getInstance().getString("core", VERSION_ALREADY_SET);
throw (new Error(_local2));
};
compatibilityErrorFunction(_arg1, VERSION_ALREADY_SET);
};
if (compatibilityVersionRead){
if (compatibilityErrorFunction == null){
_local2 = ResourceManager.getInstance().getString("core", VERSION_ALREADY_READ);
throw (new Error(_local2));
};
compatibilityErrorFunction(_arg1, VERSION_ALREADY_READ);
};
_compatibilityVersion = _arg1;
compatibilityVersionChanged = true;
}
public static function get compatibilityVersion():uint{
compatibilityVersionRead = true;
return (_compatibilityVersion);
}
public static function set compatibilityErrorFunction(_arg1:Function):void{
_compatibilityErrorFunction = _arg1;
}
public static function set compatibilityVersionString(_arg1:String):void{
var _local2:Array = _arg1.split(".");
var _local3:uint = parseInt(_local2[0]);
var _local4:uint = parseInt(_local2[1]);
var _local5:uint = parseInt(_local2[2]);
compatibilityVersion = (((_local3 << 24) + (_local4 << 16)) + _local5);
}
public static function get compatibilityErrorFunction():Function{
return (_compatibilityErrorFunction);
}
public static function get compatibilityVersionString():String{
var _local1:uint = ((compatibilityVersion >> 24) & 0xFF);
var _local2:uint = ((compatibilityVersion >> 16) & 0xFF);
var _local3:uint = (compatibilityVersion & 0xFFFF);
return (((((_local1.toString() + ".") + _local2.toString()) + ".") + _local3.toString()));
}
}
}//package mx.core
Section 102
//FontAsset (mx.core.FontAsset)
package mx.core {
import flash.text.*;
public class FontAsset extends Font implements IFlexAsset {
mx_internal static const VERSION:String = "3.3.0.4589";
}
}//package mx.core
Section 103
//IBorder (mx.core.IBorder)
package mx.core {
public interface IBorder {
function get borderMetrics():EdgeMetrics;
}
}//package mx.core
Section 104
//IButton (mx.core.IButton)
package mx.core {
public interface IButton extends IUIComponent {
function get emphasized():Boolean;
function set emphasized(_arg1:Boolean):void;
function callLater(_arg1:Function, _arg2:Array=null):void;
}
}//package mx.core
Section 105
//IChildList (mx.core.IChildList)
package mx.core {
import flash.display.*;
import flash.geom.*;
public interface IChildList {
function get numChildren():int;
function removeChild(_arg1:DisplayObject):DisplayObject;
function getChildByName(_arg1:String):DisplayObject;
function removeChildAt(_arg1:int):DisplayObject;
function getChildIndex(_arg1:DisplayObject):int;
function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject;
function getObjectsUnderPoint(_arg1:Point):Array;
function setChildIndex(_arg1:DisplayObject, _arg2:int):void;
function getChildAt(_arg1:int):DisplayObject;
function addChild(_arg1:DisplayObject):DisplayObject;
function contains(_arg1:DisplayObject):Boolean;
}
}//package mx.core
Section 106
//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(_arg1:Sprite):void;
function swapChildrenAt(_arg1:int, _arg2:int):void;
function getChildByName(_arg1:String):DisplayObject;
function get doubleClickEnabled():Boolean;
function get graphics():Graphics;
function get useHandCursor():Boolean;
function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject;
function set mouseChildren(_arg1:Boolean):void;
function set creatingContentPane(_arg1:Boolean):void;
function get textSnapshot():TextSnapshot;
function getChildIndex(_arg1:DisplayObject):int;
function set doubleClickEnabled(_arg1:Boolean):void;
function getObjectsUnderPoint(_arg1:Point):Array;
function get creatingContentPane():Boolean;
function setChildIndex(_arg1:DisplayObject, _arg2:int):void;
function get soundTransform():SoundTransform;
function set useHandCursor(_arg1:Boolean):void;
function get numChildren():int;
function contains(_arg1:DisplayObject):Boolean;
function get verticalScrollPosition():Number;
function set defaultButton(_arg1:IFlexDisplayObject):void;
function swapChildren(_arg1:DisplayObject, _arg2:DisplayObject):void;
function set horizontalScrollPosition(_arg1:Number):void;
function get focusManager():IFocusManager;
function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void;
function set mouseEnabled(_arg1:Boolean):void;
function getChildAt(_arg1:int):DisplayObject;
function set soundTransform(_arg1:SoundTransform):void;
function get tabChildren():Boolean;
function get tabIndex():int;
function set focusRect(_arg1:Object):void;
function get hitArea():Sprite;
function get mouseChildren():Boolean;
function removeChildAt(_arg1:int):DisplayObject;
function get defaultButton():IFlexDisplayObject;
function stopDrag():void;
function set tabEnabled(_arg1:Boolean):void;
function get horizontalScrollPosition():Number;
function get focusRect():Object;
function get viewMetrics():EdgeMetrics;
function set verticalScrollPosition(_arg1:Number):void;
function get dropTarget():DisplayObject;
function get mouseEnabled():Boolean;
function set tabChildren(_arg1:Boolean):void;
function set buttonMode(_arg1:Boolean):void;
function get tabEnabled():Boolean;
function get buttonMode():Boolean;
function removeChild(_arg1:DisplayObject):DisplayObject;
function set tabIndex(_arg1:int):void;
function addChild(_arg1:DisplayObject):DisplayObject;
function areInaccessibleObjectsUnderPoint(_arg1:Point):Boolean;
}
}//package mx.core
Section 107
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 108
//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(_arg1:Point):Point;
function get name():String;
function set width(_arg1:Number):void;
function get measuredHeight():Number;
function get blendMode():String;
function get scale9Grid():Rectangle;
function set name(_arg1:String):void;
function set scaleX(_arg1:Number):void;
function set scaleY(_arg1:Number):void;
function get measuredWidth():Number;
function get accessibilityProperties():AccessibilityProperties;
function set scrollRect(_arg1:Rectangle):void;
function get cacheAsBitmap():Boolean;
function globalToLocal(_arg1:Point):Point;
function get height():Number;
function set blendMode(_arg1:String):void;
function get parent():DisplayObjectContainer;
function getBounds(_arg1:DisplayObject):Rectangle;
function get opaqueBackground():Object;
function set scale9Grid(_arg1:Rectangle):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set alpha(_arg1:Number):void;
function set accessibilityProperties(_arg1:AccessibilityProperties):void;
function get width():Number;
function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean;
function set cacheAsBitmap(_arg1: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(_arg1:Number):void;
function set mask(_arg1:DisplayObject):void;
function getRect(_arg1:DisplayObject):Rectangle;
function get alpha():Number;
function set transform(_arg1:Transform):void;
function move(_arg1:Number, _arg2:Number):void;
function get loaderInfo():LoaderInfo;
function get root():DisplayObject;
function hitTestObject(_arg1:DisplayObject):Boolean;
function set opaqueBackground(_arg1:Object):void;
function set visible(_arg1:Boolean):void;
function get mask():DisplayObject;
function set x(_arg1:Number):void;
function set y(_arg1:Number):void;
function get transform():Transform;
function set filters(_arg1:Array):void;
function get x():Number;
function get y():Number;
function get filters():Array;
function set rotation(_arg1:Number):void;
function get stage():Stage;
}
}//package mx.core
Section 109
//IFlexModuleFactory (mx.core.IFlexModuleFactory)
package mx.core {
public interface IFlexModuleFactory {
function create(... _args):Object;
function info():Object;
}
}//package mx.core
Section 110
//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 111
//IProgrammaticSkin (mx.core.IProgrammaticSkin)
package mx.core {
public interface IProgrammaticSkin {
function validateNow():void;
function validateDisplayList():void;
}
}//package mx.core
Section 112
//IRawChildrenContainer (mx.core.IRawChildrenContainer)
package mx.core {
public interface IRawChildrenContainer {
function get rawChildren():IChildList;
}
}//package mx.core
Section 113
//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(_arg1:Rectangle):void;
function layoutBackgroundImage():void;
}
}//package mx.core
Section 114
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function get instanceIndices():Array;
function set instanceIndices(_arg1:Array):void;
function get isDocument():Boolean;
function set repeaters(_arg1:Array):void;
function initializeRepeaterArrays(_arg1:IRepeaterClient):void;
function get repeaters():Array;
function set repeaterIndices(_arg1:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 115
//ISWFBridgeGroup (mx.core.ISWFBridgeGroup)
package mx.core {
import flash.events.*;
public interface ISWFBridgeGroup {
function getChildBridgeProvider(_arg1:IEventDispatcher):ISWFBridgeProvider;
function removeChildBridge(_arg1:IEventDispatcher):void;
function get parentBridge():IEventDispatcher;
function addChildBridge(_arg1:IEventDispatcher, _arg2:ISWFBridgeProvider):void;
function set parentBridge(_arg1:IEventDispatcher):void;
function containsBridge(_arg1:IEventDispatcher):Boolean;
function getChildBridges():Array;
}
}//package mx.core
Section 116
//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 117
//IUIComponent (mx.core.IUIComponent)
package mx.core {
import flash.display.*;
import mx.managers.*;
public interface IUIComponent extends IFlexDisplayObject {
function set focusPane(_arg1:Sprite):void;
function get enabled():Boolean;
function set enabled(_arg1:Boolean):void;
function set isPopUp(_arg1: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(_arg1: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(_arg1:Number):void;
function get minHeight():Number;
function set percentWidth(_arg1:Number):void;
function get document():Object;
function get focusPane():Sprite;
function getExplicitOrMeasuredHeight():Number;
function set tweeningProperties(_arg1:Array):void;
function set explicitWidth(_arg1:Number):void;
function set measuredMinHeight(_arg1:Number):void;
function get explicitMinWidth():Number;
function get tweeningProperties():Array;
function get maxHeight():Number;
function set owner(_arg1:DisplayObjectContainer):void;
function set includeInLayout(_arg1:Boolean):void;
function setVisible(_arg1:Boolean, _arg2:Boolean=false):void;
function parentChanged(_arg1:DisplayObjectContainer):void;
function get explicitWidth():Number;
function get measuredMinHeight():Number;
function set measuredMinWidth(_arg1:Number):void;
function set explicitHeight(_arg1:Number):void;
function get includeInLayout():Boolean;
function get measuredMinWidth():Number;
function get explicitHeight():Number;
function set systemManager(_arg1:ISystemManager):void;
function set document(_arg1:Object):void;
function get systemManager():ISystemManager;
}
}//package mx.core
Section 118
//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 119
//Singleton (mx.core.Singleton)
package mx.core {
public class Singleton {
mx_internal static const VERSION:String = "3.3.0.4589";
private static var classMap:Object = {};
public static function registerClass(_arg1:String, _arg2:Class):void{
var _local3:Class = classMap[_arg1];
if (!_local3){
classMap[_arg1] = _arg2;
};
}
public static function getClass(_arg1:String):Class{
return (classMap[_arg1]);
}
public static function getInstance(_arg1:String):Object{
var _local2:Class = classMap[_arg1];
if (!_local2){
throw (new Error((("No class registered for interface '" + _arg1) + "'.")));
};
return (_local2["getInstance"]());
}
}
}//package mx.core
Section 120
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "3.3.0.4589";
}
}//package mx.core
Section 121
//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 static function set catchCallLaterExceptions(_arg1:Boolean):void{
_catchCallLaterExceptions = _arg1;
}
public static function get designMode():Boolean{
return (designTime);
}
public static function set designMode(_arg1:Boolean):void{
designTime = _arg1;
}
public static function get catchCallLaterExceptions():Boolean{
return (_catchCallLaterExceptions);
}
}
}//package mx.core
Section 122
//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.3.0.4589";
public static const SETUP:String = "setup";
public static const UNLOAD:String = "unload";
public function ModuleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null, _arg7:IModuleInfo=null){
super(_arg1, _arg2, _arg3, _arg4, _arg5);
this.errorText = _arg6;
this._module = _arg7;
}
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 123
//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.3.0.4589";
public static const COMPLETE:String = "complete";
public static const PROGRESS:String = "progress";
public static const ERROR:String = "error";
public function ResourceEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null){
super(_arg1, _arg2, _arg3, _arg4, _arg5);
this.errorText = _arg6;
}
override public function clone():Event{
return (new ResourceEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText));
}
}
}//package mx.events
Section 124
//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.3.0.4589";
public static const COMPLETE:String = "complete";
public static const PROGRESS:String = "progress";
public static const ERROR:String = "error";
public function StyleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null){
super(_arg1, _arg2, _arg3, _arg4, _arg5);
this.errorText = _arg6;
}
override public function clone():Event{
return (new StyleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText));
}
}
}//package mx.events
Section 125
//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.3.0.4589";
public function get blRadius():Number{
return (_blRadius);
}
public function set brRadius(_arg1:Number):void{
if (_brRadius != _arg1){
_brRadius = _arg1;
changed = true;
};
}
public function set color(_arg1:int):void{
if (_color != _arg1){
_color = _arg1;
changed = true;
};
}
public function drawShadow(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
if (changed){
createShadowBitmaps();
changed = false;
};
_arg4 = Math.ceil(_arg4);
_arg5 = Math.ceil(_arg5);
var _local6:int = (leftShadow) ? leftShadow.width : 0;
var _local7:int = (rightShadow) ? rightShadow.width : 0;
var _local8:int = (topShadow) ? topShadow.height : 0;
var _local9:int = (bottomShadow) ? bottomShadow.height : 0;
var _local10:int = (_local6 + _local7);
var _local11:int = (_local8 + _local9);
var _local12:Number = ((_arg5 + _local11) / 2);
var _local13:Number = ((_arg4 + _local10) / 2);
var _local14:Matrix = new Matrix();
if (((leftShadow) || (topShadow))){
_local15 = Math.min((tlRadius + _local10), _local13);
_local16 = Math.min((tlRadius + _local11), _local12);
_local14.tx = (_arg2 - _local6);
_local14.ty = (_arg3 - _local8);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((_arg2 - _local6), (_arg3 - _local8), _local15, _local16);
_arg1.endFill();
};
if (((rightShadow) || (topShadow))){
_local17 = Math.min((trRadius + _local10), _local13);
_local18 = Math.min((trRadius + _local11), _local12);
_local14.tx = (((_arg2 + _arg4) + _local7) - shadow.width);
_local14.ty = (_arg3 - _local8);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((((_arg2 + _arg4) + _local7) - _local17), (_arg3 - _local8), _local17, _local18);
_arg1.endFill();
};
if (((leftShadow) || (bottomShadow))){
_local19 = Math.min((blRadius + _local10), _local13);
_local20 = Math.min((blRadius + _local11), _local12);
_local14.tx = (_arg2 - _local6);
_local14.ty = (((_arg3 + _arg5) + _local9) - shadow.height);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((_arg2 - _local6), (((_arg3 + _arg5) + _local9) - _local20), _local19, _local20);
_arg1.endFill();
};
if (((rightShadow) || (bottomShadow))){
_local21 = Math.min((brRadius + _local10), _local13);
_local22 = Math.min((brRadius + _local11), _local12);
_local14.tx = (((_arg2 + _arg4) + _local7) - shadow.width);
_local14.ty = (((_arg3 + _arg5) + _local9) - shadow.height);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((((_arg2 + _arg4) + _local7) - _local21), (((_arg3 + _arg5) + _local9) - _local22), _local21, _local22);
_arg1.endFill();
};
if (leftShadow){
_local14.tx = (_arg2 - _local6);
_local14.ty = 0;
_arg1.beginBitmapFill(leftShadow, _local14);
_arg1.drawRect((_arg2 - _local6), ((_arg3 - _local8) + _local16), _local6, ((((_arg5 + _local8) + _local9) - _local16) - _local20));
_arg1.endFill();
};
if (rightShadow){
_local14.tx = (_arg2 + _arg4);
_local14.ty = 0;
_arg1.beginBitmapFill(rightShadow, _local14);
_arg1.drawRect((_arg2 + _arg4), ((_arg3 - _local8) + _local18), _local7, ((((_arg5 + _local8) + _local9) - _local18) - _local22));
_arg1.endFill();
};
if (topShadow){
_local14.tx = 0;
_local14.ty = (_arg3 - _local8);
_arg1.beginBitmapFill(topShadow, _local14);
_arg1.drawRect(((_arg2 - _local6) + _local15), (_arg3 - _local8), ((((_arg4 + _local6) + _local7) - _local15) - _local17), _local8);
_arg1.endFill();
};
if (bottomShadow){
_local14.tx = 0;
_local14.ty = (_arg3 + _arg5);
_arg1.beginBitmapFill(bottomShadow, _local14);
_arg1.drawRect(((_arg2 - _local6) + _local19), (_arg3 + _arg5), ((((_arg4 + _local6) + _local7) - _local19) - _local21), _local9);
_arg1.endFill();
};
}
public function get brRadius():Number{
return (_brRadius);
}
public function get angle():Number{
return (_angle);
}
private function createShadowBitmaps():void{
var _local1:Number = ((Math.max(tlRadius, blRadius) + (2 * distance)) + Math.max(trRadius, brRadius));
var _local2:Number = ((Math.max(tlRadius, trRadius) + (2 * distance)) + Math.max(blRadius, brRadius));
if ((((_local1 < 0)) || ((_local2 < 0)))){
return;
};
var _local3:Shape = new FlexShape();
var _local4:Graphics = _local3.graphics;
_local4.beginFill(0xFFFFFF);
GraphicsUtil.drawRoundRectComplex(_local4, 0, 0, _local1, _local2, tlRadius, trRadius, blRadius, brRadius);
_local4.endFill();
var _local5:BitmapData = new BitmapData(_local1, _local2, true, 0);
_local5.draw(_local3, new Matrix());
var _local6:DropShadowFilter = new DropShadowFilter(distance, angle, color, alpha);
_local6.knockout = true;
var _local7:Rectangle = new Rectangle(0, 0, _local1, _local2);
var _local8:Rectangle = _local5.generateFilterRect(_local7, _local6);
var _local9:Number = (_local7.left - _local8.left);
var _local10:Number = (_local8.right - _local7.right);
var _local11:Number = (_local7.top - _local8.top);
var _local12:Number = (_local8.bottom - _local7.bottom);
shadow = new BitmapData(_local8.width, _local8.height);
shadow.applyFilter(_local5, _local7, new Point(_local9, _local11), _local6);
var _local13:Point = new Point(0, 0);
var _local14:Rectangle = new Rectangle();
if (_local9 > 0){
_local14.x = 0;
_local14.y = ((tlRadius + _local11) + _local12);
_local14.width = _local9;
_local14.height = 1;
leftShadow = new BitmapData(_local9, 1);
leftShadow.copyPixels(shadow, _local14, _local13);
} else {
leftShadow = null;
};
if (_local10 > 0){
_local14.x = (shadow.width - _local10);
_local14.y = ((trRadius + _local11) + _local12);
_local14.width = _local10;
_local14.height = 1;
rightShadow = new BitmapData(_local10, 1);
rightShadow.copyPixels(shadow, _local14, _local13);
} else {
rightShadow = null;
};
if (_local11 > 0){
_local14.x = ((tlRadius + _local9) + _local10);
_local14.y = 0;
_local14.width = 1;
_local14.height = _local11;
topShadow = new BitmapData(1, _local11);
topShadow.copyPixels(shadow, _local14, _local13);
} else {
topShadow = null;
};
if (_local12 > 0){
_local14.x = ((blRadius + _local9) + _local10);
_local14.y = (shadow.height - _local12);
_local14.width = 1;
_local14.height = _local12;
bottomShadow = new BitmapData(1, _local12);
bottomShadow.copyPixels(shadow, _local14, _local13);
} else {
bottomShadow = null;
};
}
public function get alpha():Number{
return (_alpha);
}
public function get color():int{
return (_color);
}
public function set angle(_arg1:Number):void{
if (_angle != _arg1){
_angle = _arg1;
changed = true;
};
}
public function set trRadius(_arg1:Number):void{
if (_trRadius != _arg1){
_trRadius = _arg1;
changed = true;
};
}
public function set tlRadius(_arg1:Number):void{
if (_tlRadius != _arg1){
_tlRadius = _arg1;
changed = true;
};
}
public function get trRadius():Number{
return (_trRadius);
}
public function set distance(_arg1:Number):void{
if (_distance != _arg1){
_distance = _arg1;
changed = true;
};
}
public function get distance():Number{
return (_distance);
}
public function get tlRadius():Number{
return (_tlRadius);
}
public function set alpha(_arg1:Number):void{
if (_alpha != _arg1){
_alpha = _arg1;
changed = true;
};
}
public function set blRadius(_arg1:Number):void{
if (_blRadius != _arg1){
_blRadius = _arg1;
changed = true;
};
}
}
}//package mx.graphics
Section 126
//IFocusManager (mx.managers.IFocusManager)
package mx.managers {
import flash.events.*;
import mx.core.*;
import flash.display.*;
public interface IFocusManager {
function get focusPane():Sprite;
function getFocus():IFocusManagerComponent;
function deactivate():void;
function set defaultButton(_arg1:IButton):void;
function set focusPane(_arg1:Sprite):void;
function set showFocusIndicator(_arg1:Boolean):void;
function moveFocus(_arg1:String, _arg2:DisplayObject=null):void;
function addSWFBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void;
function removeSWFBridge(_arg1:IEventDispatcher):void;
function get defaultButtonEnabled():Boolean;
function findFocusManagerComponent(_arg1:InteractiveObject):IFocusManagerComponent;
function get nextTabIndex():int;
function get defaultButton():IButton;
function get showFocusIndicator():Boolean;
function setFocus(_arg1:IFocusManagerComponent):void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(_arg1:Boolean):void;
function hideFocus():void;
function getNextFocusManagerComponent(_arg1:Boolean=false):IFocusManagerComponent;
}
}//package mx.managers
Section 127
//IFocusManagerComponent (mx.managers.IFocusManagerComponent)
package mx.managers {
public interface IFocusManagerComponent {
function set focusEnabled(_arg1:Boolean):void;
function drawFocus(_arg1:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package mx.managers
Section 128
//IFocusManagerContainer (mx.managers.IFocusManagerContainer)
package mx.managers {
import flash.events.*;
import flash.display.*;
public interface IFocusManagerContainer extends IEventDispatcher {
function set focusManager(_arg1:IFocusManager):void;
function get focusManager():IFocusManager;
function get systemManager():ISystemManager;
function contains(_arg1:DisplayObject):Boolean;
}
}//package mx.managers
Section 129
//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(_arg1:ILayoutManagerClient):void;
function set usePhasedInstantiation(_arg1:Boolean):void;
function invalidateSize(_arg1:ILayoutManagerClient):void;
function get usePhasedInstantiation():Boolean;
function invalidateProperties(_arg1:ILayoutManagerClient):void;
}
}//package mx.managers
Section 130
//ILayoutManagerClient (mx.managers.ILayoutManagerClient)
package mx.managers {
import flash.events.*;
public interface ILayoutManagerClient extends IEventDispatcher {
function get updateCompletePendingFlag():Boolean;
function set updateCompletePendingFlag(_arg1:Boolean):void;
function set initialized(_arg1:Boolean):void;
function validateProperties():void;
function validateDisplayList():void;
function get nestLevel():int;
function get initialized():Boolean;
function get processedDescriptors():Boolean;
function validateSize(_arg1:Boolean=false):void;
function set nestLevel(_arg1:int):void;
function set processedDescriptors(_arg1:Boolean):void;
}
}//package mx.managers
Section 131
//ISystemManager (mx.managers.ISystemManager)
package mx.managers {
import flash.events.*;
import mx.core.*;
import flash.display.*;
import flash.geom.*;
import flash.text.*;
public interface ISystemManager extends IEventDispatcher, IChildList, IFlexModuleFactory {
function set focusPane(_arg1:Sprite):void;
function get toolTipChildren():IChildList;
function useSWFBridge():Boolean;
function isFontFaceEmbedded(_arg1:TextFormat):Boolean;
function deployMouseShields(_arg1: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(_arg1: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(_arg1:IEventDispatcher):void;
function isDisplayObjectInABridgedApplication(_arg1:DisplayObject):Boolean;
function get popUpChildren():IChildList;
function get screen():Rectangle;
function removeChildFromSandboxRoot(_arg1:String, _arg2:DisplayObject):void;
function getDefinitionByName(_arg1:String):Object;
function activate(_arg1:IFocusManagerContainer):void;
function deactivate(_arg1:IFocusManagerContainer):void;
function get cursorChildren():IChildList;
function set document(_arg1:Object):void;
function get embeddedFontList():Object;
function set numModalWindows(_arg1:int):void;
function isTopLevel():Boolean;
function isTopLevelRoot():Boolean;
function get numModalWindows():int;
function addFocusManager(_arg1:IFocusManagerContainer):void;
function get stage():Stage;
function getVisibleApplicationRect(_arg1:Rectangle=null):Rectangle;
}
}//package mx.managers
Section 132
//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;
}
}//package mx.managers
Section 133
//IModuleInfo (mx.modules.IModuleInfo)
package mx.modules {
import flash.events.*;
import mx.core.*;
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(_arg1:IFlexModuleFactory):void;
function get factory():IFlexModuleFactory;
function set data(_arg1:Object):void;
function get url():String;
function get setup():Boolean;
function unload():void;
}
}//package mx.modules
Section 134
//ModuleManager (mx.modules.ModuleManager)
package mx.modules {
import mx.core.*;
public class ModuleManager {
mx_internal static const VERSION:String = "3.3.0.4589";
public static function getModule(_arg1:String):IModuleInfo{
return (getSingleton().getModule(_arg1));
}
private static function getSingleton():Object{
if (!ModuleManagerGlobals.managerSingleton){
ModuleManagerGlobals.managerSingleton = new ModuleManagerImpl();
};
return (ModuleManagerGlobals.managerSingleton);
}
public static function getAssociatedFactory(_arg1:Object):IFlexModuleFactory{
return (getSingleton().getAssociatedFactory(_arg1));
}
}
}//package mx.modules
import flash.events.*;
import mx.core.*;
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(_arg1:ModuleInfo){
this.info = _arg1;
_arg1.addEventListener(ModuleEvent.SETUP, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.PROGRESS, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.READY, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.ERROR, moduleEventHandler, false, 0, true);
_arg1.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(_arg1:IFlexModuleFactory):void{
info.publish(_arg1);
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
public function get ready():Boolean{
return (info.ready);
}
public function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void{
var _local4: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){
_local4 = new ModuleEvent(ModuleEvent.PROGRESS);
_local4.bytesLoaded = info.size;
_local4.bytesTotal = info.size;
dispatchEvent(_local4);
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
};
};
} else {
info.load(_arg1, _arg2, _arg3);
};
};
}
private function moduleEventHandler(_arg1:ModuleEvent):void{
dispatchEvent(_arg1);
}
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(_arg1:String):IModuleInfo{
var _local2:ModuleInfo = (moduleList[_arg1] as ModuleInfo);
if (!_local2){
_local2 = new ModuleInfo(_arg1);
moduleList[_arg1] = _local2;
};
return (new ModuleInfoProxy(_local2));
}
public function getAssociatedFactory(_arg1:Object):IFlexModuleFactory{
var m:Object;
var info:ModuleInfo;
var domain:ApplicationDomain;
var cls:Class;
var object = _arg1;
var className:String = getQualifiedClassName(object);
for each (m in moduleList) {
info = (m as ModuleInfo);
if (!info.ready){
} else {
domain = info.applicationDomain;
try {
cls = Class(domain.getDefinition(className));
if ((object is cls)){
return (info.factory);
};
} catch(error: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(_arg1:String){
_url = _arg1;
}
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);
};
try {
if (loader.content){
loader.content.removeEventListener("ready", readyHandler);
loader.content.removeEventListener("error", moduleErrorHandler);
};
} catch(error:Error) {
};
if (_loaded){
try {
loader.close();
} catch(error:Error) {
};
};
try {
loader.unload();
} catch(error: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(_arg1:Event):void{
var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = loader.contentLoaderInfo.bytesLoaded;
_local2.bytesTotal = loader.contentLoaderInfo.bytesTotal;
dispatchEvent(_local2);
}
public function publish(_arg1:IFlexModuleFactory):void{
if (factoryInfo){
return;
};
if (_url.indexOf("published://") != 0){
return;
};
factoryInfo = new FactoryInfo();
factoryInfo.factory = _arg1;
_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(_arg1:Event):void{
var moduleEvent:ModuleEvent;
var event = _arg1;
factoryInfo = new FactoryInfo();
try {
factoryInfo.factory = (loader.content as IFlexModuleFactory);
} catch(error: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);
try {
factoryInfo.applicationDomain = loader.contentLoaderInfo.applicationDomain;
} catch(error:Error) {
};
_setup = true;
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
}
public function resurrect():void{
var _local1:Object;
if (((!(factoryInfo)) && (limbo))){
for (_local1 in limbo) {
factoryInfo = (_local1 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(_arg1:ErrorEvent):void{
_error = true;
var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = 0;
_local2.bytesTotal = 0;
_local2.errorText = _arg1.text;
dispatchEvent(_local2);
}
public function get ready():Boolean{
return ((limbo) ? false : _ready);
}
private function loadBytes(_arg1:ApplicationDomain, _arg2:ByteArray):void{
var _local3:LoaderContext = new LoaderContext();
_local3.applicationDomain = (_arg1) ? _arg1 : new ApplicationDomain(ApplicationDomain.currentDomain);
if (("allowLoadBytesCodeExecution" in _local3)){
_local3["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(_arg2, _local3);
}
public function removeReference():void{
numReferences--;
if (numReferences == 0){
release();
};
}
public function addReference():void{
numReferences++;
}
public function progressHandler(_arg1:ProgressEvent):void{
var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
dispatchEvent(_local2);
}
public function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void{
if (_loaded){
return;
};
_loaded = true;
limbo = null;
if (_arg3){
loadBytes(_arg1, _arg3);
return;
};
if (_url.indexOf("published://") == 0){
return;
};
var _local4:URLRequest = new URLRequest(_url);
var _local5:LoaderContext = new LoaderContext();
_local5.applicationDomain = (_arg1) ? _arg1 : new ApplicationDomain(ApplicationDomain.currentDomain);
_local5.securityDomain = _arg2;
if ((((_arg2 == null)) && ((Security.sandboxType == Security.REMOTE)))){
_local5.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(_local4, _local5);
}
public function get url():String{
return (_url);
}
public function get applicationDomain():ApplicationDomain{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.applicationDomain : null);
}
public function moduleErrorHandler(_arg1:Event):void{
var _local2:ModuleEvent;
_ready = true;
factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal;
clearLoader();
if ((_arg1 is ModuleEvent)){
_local2 = ModuleEvent(_arg1);
} else {
_local2 = new ModuleEvent(ModuleEvent.ERROR);
};
dispatchEvent(_local2);
}
public function readyHandler(_arg1:Event):void{
_ready = true;
factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal;
clearLoader();
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
}
public function get setup():Boolean{
return ((limbo) ? false : _setup);
}
public function unload():void{
clearLoader();
if (_loaded){
dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD));
};
limbo = null;
factoryInfo = null;
_loaded = false;
_setup = false;
_ready = false;
_error = false;
}
}
class FactoryInfo {
public var bytesTotal:int;// = 0
public var factory:IFlexModuleFactory;
public var applicationDomain:ApplicationDomain;
private function FactoryInfo(){
}
}
Section 135
//ModuleManagerGlobals (mx.modules.ModuleManagerGlobals)
package mx.modules {
public class ModuleManagerGlobals {
public static var managerSingleton:Object = null;
}
}//package mx.modules
Section 136
//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 137
//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(_arg1: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(_arg1:Array):void;
function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint;
function addResourceBundle(_arg1:IResourceBundle):void;
function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array;
function getBundleNamesForLocale(_arg1: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(_arg1:Array):void;
function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number;
}
}//package mx.resources
Section 138
//IResourceModule (mx.resources.IResourceModule)
package mx.resources {
public interface IResourceModule {
function get resourceBundles():Array;
}
}//package mx.resources
Section 139
//LocaleSorter (mx.resources.LocaleSorter)
package mx.resources {
public class LocaleSorter {
mx_internal static const VERSION:String = "3.3.0.4589";
private static function normalizeLocale(_arg1:String):String{
return (_arg1.toLowerCase().replace(/-/g, "_"));
}
public static function sortLocalesByPreference(_arg1:Array, _arg2:Array, _arg3:String=null, _arg4: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 = _arg1;
var systemPreferences = _arg2;
var ultimateFallbackLocale = _arg3;
var addAll = _arg4;
var promote:Function = function (_arg1:String):void{
if (typeof(hasLocale[_arg1]) != "undefined"){
result.push(appLocales[hasLocale[_arg1]]);
delete hasLocale[_arg1];
};
};
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(_arg1:Array, _arg2:String):void{
var _local3:String;
if (((!((_arg2 == null))) && (!((_arg2 == ""))))){
_local3 = normalizeLocale(_arg2);
if (_arg1.indexOf(_local3) == -1){
_arg1.push(_local3);
};
};
}
private static function trimAndNormalize(_arg1:Array):Array{
var _local2:Array = [];
var _local3:int;
while (_local3 < _arg1.length) {
_local2.push(normalizeLocale(_arg1[_local3]));
_local3++;
};
return (_local2);
}
}
}//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(_arg1:LocaleID):Boolean{
return ((toString() == _arg1.toString()));
}
public function canonicalize():void{
var _local1:String;
for (_local1 in extensions) {
if (extensions.hasOwnProperty(_local1)){
if (extensions[_local1].length == 0){
delete extensions[_local1];
} else {
extensions[_local1] = extensions[_local1].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 _local2:String;
var _local1:Array = [lang];
Array.prototype.push.apply(_local1, extended_langs);
if (script != ""){
_local1.push(script);
};
if (region != ""){
_local1.push(region);
};
Array.prototype.push.apply(_local1, variants);
for (_local2 in extensions) {
if (extensions.hasOwnProperty(_local2)){
_local1.push(_local2);
Array.prototype.push.apply(_local1, extensions[_local2]);
};
};
if (privates.length > 0){
_local1.push("x");
Array.prototype.push.apply(_local1, privates);
};
return (_local1.join("_"));
}
public function isSiblingOf(_arg1:LocaleID):Boolean{
return ((((lang == _arg1.lang)) && ((script == _arg1.script))));
}
public function transformToParent():Boolean{
var _local2:String;
var _local3:Array;
var _local4:String;
if (privates.length > 0){
privates.splice((privates.length - 1), 1);
return (true);
};
var _local1:String;
for (_local2 in extensions) {
if (extensions.hasOwnProperty(_local2)){
_local1 = _local2;
};
};
if (_local1){
_local3 = extensions[_local1];
if (_local3.length == 1){
delete extensions[_local1];
return (true);
};
_local3.splice((_local3.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 == ""){
_local4 = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script);
if (_local4 != ""){
region = _local4;
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(_arg1:String):LocaleID{
var _local5:Array;
var _local8:String;
var _local9:int;
var _local10:String;
var _local2:LocaleID = new (LocaleID);
var _local3:int = STATE_PRIMARY_LANGUAGE;
var _local4:Array = _arg1.replace(/-/g, "_").split("_");
var _local6:int;
var _local7:int = _local4.length;
while (_local6 < _local7) {
_local8 = _local4[_local6].toLowerCase();
if (_local3 == STATE_PRIMARY_LANGUAGE){
if (_local8 == "x"){
_local2.privateLangs = true;
} else {
if (_local8 == "i"){
_local2.lang = (_local2.lang + "i-");
} else {
_local2.lang = (_local2.lang + _local8);
_local3 = STATE_EXTENDED_LANGUAGES;
};
};
} else {
_local9 = _local8.length;
if (_local9 == 0){
} else {
_local10 = _local8.charAt(0).toLowerCase();
if ((((_local3 <= STATE_EXTENDED_LANGUAGES)) && ((_local9 == 3)))){
_local2.extended_langs.push(_local8);
if (_local2.extended_langs.length == 3){
_local3 = STATE_SCRIPT;
};
} else {
if ((((_local3 <= STATE_SCRIPT)) && ((_local9 == 4)))){
_local2.script = _local8;
_local3 = STATE_REGION;
} else {
if ((((_local3 <= STATE_REGION)) && ((((_local9 == 2)) || ((_local9 == 3)))))){
_local2.region = _local8;
_local3 = STATE_VARIANTS;
} else {
if ((((_local3 <= STATE_VARIANTS)) && ((((((((_local10 >= "a")) && ((_local10 <= "z")))) && ((_local9 >= 5)))) || ((((((_local10 >= "0")) && ((_local10 <= "9")))) && ((_local9 >= 4)))))))){
_local2.variants.push(_local8);
_local3 = STATE_VARIANTS;
} else {
if ((((_local3 < STATE_PRIVATES)) && ((_local9 == 1)))){
if (_local8 == "x"){
_local3 = STATE_PRIVATES;
_local5 = _local2.privates;
} else {
_local3 = STATE_EXTENSIONS;
_local5 = ((_local2.extensions[_local8]) || ([]));
_local2.extensions[_local8] = _local5;
};
} else {
if (_local3 >= STATE_EXTENSIONS){
_local5.push(_local8);
};
};
};
};
};
};
};
};
_local6++;
};
_local2.canonicalize();
return (_local2);
}
}
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(){
}
public static function getScriptByLangAndRegion(_arg1:String, _arg2:String):String{
var _local3:Object = SCRIPT_ID_BY_LANG_AND_REGION[_arg1];
if (_local3 == null){
return ("");
};
var _local4:Object = _local3[_arg2];
if (_local4 == null){
return ("");
};
return (SCRIPTS[int(_local4)].toLowerCase());
}
public static function getScriptByLang(_arg1:String):String{
var _local2:Object = SCRIPT_ID_BY_LANG[_arg1];
if (_local2 == null){
return ("");
};
return (SCRIPTS[int(_local2)].toLowerCase());
}
public static function getDefaultRegionForLangAndScript(_arg1:String, _arg2:String):String{
var _local3:Object = DEFAULT_REGION_BY_LANG_AND_SCRIPT[_arg1];
var _local4:Object = SCRIPT_BY_ID[_arg2];
if ((((_local3 == null)) || ((_local4 == null)))){
return ("");
};
return (((_local3[int(_local4)]) || ("")));
}
}
Section 140
//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.3.0.4589";
mx_internal static var backupApplicationDomain:ApplicationDomain;
mx_internal static var locale:String;
public function ResourceBundle(_arg1:String=null, _arg2:String=null){
_content = {};
super();
mx_internal::_locale = _arg1;
mx_internal::_bundleName = _arg2;
_content = getContent();
}
protected function getContent():Object{
return ({});
}
public function getString(_arg1:String):String{
return (String(_getObject(_arg1)));
}
public function get content():Object{
return (_content);
}
public function getBoolean(_arg1:String, _arg2:Boolean=true):Boolean{
var _local3:String = _getObject(_arg1).toLowerCase();
if (_local3 == "false"){
return (false);
};
if (_local3 == "true"){
return (true);
};
return (_arg2);
}
public function getStringArray(_arg1:String):Array{
var _local2:Array = _getObject(_arg1).split(",");
var _local3:int = _local2.length;
var _local4:int;
while (_local4 < _local3) {
_local2[_local4] = StringUtil.trim(_local2[_local4]);
_local4++;
};
return (_local2);
}
public function getObject(_arg1:String):Object{
return (_getObject(_arg1));
}
private function _getObject(_arg1:String):Object{
var _local2:Object = content[_arg1];
if (!_local2){
throw (new Error(((("Key " + _arg1) + " was not found in resource bundle ") + bundleName)));
};
return (_local2);
}
public function get locale():String{
return (mx_internal::_locale);
}
public function get bundleName():String{
return (mx_internal::_bundleName);
}
public function getNumber(_arg1:String):Number{
return (Number(_getObject(_arg1)));
}
private static function getClassByName(_arg1:String, _arg2:ApplicationDomain):Class{
var _local3:Class;
if (_arg2.hasDefinition(_arg1)){
_local3 = (_arg2.getDefinition(_arg1) as Class);
};
return (_local3);
}
public static function getResourceBundle(_arg1:String, _arg2:ApplicationDomain=null):ResourceBundle{
var _local3:String;
var _local4:Class;
var _local5:Object;
var _local6:ResourceBundle;
if (!_arg2){
_arg2 = ApplicationDomain.currentDomain;
};
_local3 = (((mx_internal::locale + "$") + _arg1) + "_properties");
_local4 = getClassByName(_local3, _arg2);
if (!_local4){
_local3 = (_arg1 + "_properties");
_local4 = getClassByName(_local3, _arg2);
};
if (!_local4){
_local3 = _arg1;
_local4 = getClassByName(_local3, _arg2);
};
if (((!(_local4)) && (mx_internal::backupApplicationDomain))){
_local3 = (_arg1 + "_properties");
_local4 = getClassByName(_local3, mx_internal::backupApplicationDomain);
if (!_local4){
_local3 = _arg1;
_local4 = getClassByName(_local3, mx_internal::backupApplicationDomain);
};
};
if (_local4){
_local5 = new (_local4);
if ((_local5 is ResourceBundle)){
_local6 = ResourceBundle(_local5);
return (_local6);
};
};
throw (new Error(("Could not find resource bundle " + _arg1)));
}
}
}//package mx.resources
Section 141
//ResourceManager (mx.resources.ResourceManager)
package mx.resources {
import mx.core.*;
public class ResourceManager {
mx_internal static const VERSION:String = "3.3.0.4589";
private static var implClassDependency:ResourceManagerImpl;
private static var instance:IResourceManager;
public static function getInstance():IResourceManager{
if (!instance){
try {
instance = IResourceManager(Singleton.getInstance("mx.resources::IResourceManager"));
} catch(e:Error) {
instance = new ResourceManagerImpl();
};
};
return (instance);
}
}
}//package mx.resources
Section 142
//ResourceManagerImpl (mx.resources.ResourceManagerImpl)
package mx.resources {
import flash.events.*;
import mx.core.*;
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.3.0.4589";
private static var instance:IResourceManager;
public function ResourceManagerImpl(){
localeMap = {};
resourceModules = {};
super();
}
public function get localeChain():Array{
return (_localeChain);
}
public function set localeChain(_arg1:Array):void{
_localeChain = _arg1;
update();
}
public function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (null);
};
var _local5:* = _local4.content[_arg2];
var _local6:Array = String(_local5).split(",");
var _local7:int = _local6.length;
var _local8:int;
while (_local8 < _local7) {
_local6[_local8] = StringUtil.trim(_local6[_local8]);
_local8++;
};
return (_local6);
}
mx_internal function installCompiledResourceBundle(_arg1:ApplicationDomain, _arg2:String, _arg3:String):void{
var _local4:String;
var _local5:String = _arg3;
var _local6:int = _arg3.indexOf(":");
if (_local6 != -1){
_local4 = _arg3.substring(0, _local6);
_local5 = _arg3.substring((_local6 + 1));
};
if (getResourceBundle(_arg2, _arg3)){
return;
};
var _local7 = (((_arg2 + "$") + _local5) + "_properties");
if (_local4 != null){
_local7 = ((_local4 + ".") + _local7);
};
var _local8:Class;
if (_arg1.hasDefinition(_local7)){
_local8 = Class(_arg1.getDefinition(_local7));
};
if (!_local8){
_local7 = _arg3;
if (_arg1.hasDefinition(_local7)){
_local8 = Class(_arg1.getDefinition(_local7));
};
};
if (!_local8){
_local7 = (_arg3 + "_properties");
if (_arg1.hasDefinition(_local7)){
_local8 = Class(_arg1.getDefinition(_local7));
};
};
if (!_local8){
throw (new Error((((("Could not find compiled resource bundle '" + _arg3) + "' for locale '") + _arg2) + "'.")));
};
var _local9:ResourceBundle = ResourceBundle(new (_local8));
_local9.mx_internal::_locale = _arg2;
_local9.mx_internal::_bundleName = _arg3;
addResourceBundle(_local9);
}
public function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String{
var _local5:IResourceBundle = findBundle(_arg1, _arg2, _arg4);
if (!_local5){
return (null);
};
var _local6:String = String(_local5.content[_arg2]);
if (_arg3){
_local6 = StringUtil.substitute(_local6, _arg3);
};
return (_local6);
}
public function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher{
var moduleInfo:IModuleInfo;
var resourceEventDispatcher:ResourceEventDispatcher;
var timer:Timer;
var timerHandler:Function;
var url = _arg1;
var updateFlag = _arg2;
var applicationDomain = _arg3;
var securityDomain = _arg4;
moduleInfo = ModuleManager.getModule(url);
resourceEventDispatcher = new ResourceEventDispatcher(moduleInfo);
var readyHandler:Function = function (_arg1:ModuleEvent):void{
var _local2:* = _arg1.module.factory.create();
resourceModules[_arg1.module.url].resourceModule = _local2;
if (updateFlag){
update();
};
};
moduleInfo.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true);
var errorHandler:Function = function (_arg1:ModuleEvent):void{
var _local3:ResourceEvent;
var _local2:String = ("Unable to load resource module from " + url);
if (resourceEventDispatcher.willTrigger(ResourceEvent.ERROR)){
_local3 = new ResourceEvent(ResourceEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local3.bytesLoaded = 0;
_local3.bytesTotal = 0;
_local3.errorText = _local2;
resourceEventDispatcher.dispatchEvent(_local3);
} else {
throw (new Error(_local2));
};
};
moduleInfo.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true);
resourceModules[url] = new ResourceModuleInfo(moduleInfo, readyHandler, errorHandler);
timer = new Timer(0);
timerHandler = function (_arg1: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 _local2:String;
var _local1:Array = [];
for (_local2 in localeMap) {
_local1.push(_local2);
};
return (_local1);
}
public function removeResourceBundlesForLocale(_arg1:String):void{
delete localeMap[_arg1];
}
public function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle{
var _local3:Object = localeMap[_arg1];
if (!_local3){
return (null);
};
return (_local3[_arg2]);
}
private function dumpResourceModule(_arg1):void{
var _local2:ResourceBundle;
var _local3:String;
for each (_local2 in _arg1.resourceBundles) {
trace(_local2.locale, _local2.bundleName);
for (_local3 in _local2.content) {
};
};
}
public function addResourceBundle(_arg1:IResourceBundle):void{
var _local2:String = _arg1.locale;
var _local3:String = _arg1.bundleName;
if (!localeMap[_local2]){
localeMap[_local2] = {};
};
localeMap[_local2][_local3] = _arg1;
}
public function getObject(_arg1:String, _arg2:String, _arg3:String=null){
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (undefined);
};
return (_local4.content[_arg2]);
}
public function getInt(_arg1:String, _arg2:String, _arg3:String=null):int{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (0);
};
var _local5:* = _local4.content[_arg2];
return (int(_local5));
}
private function findBundle(_arg1:String, _arg2:String, _arg3:String):IResourceBundle{
supportNonFrameworkApps();
return (((_arg3)!=null) ? getResourceBundle(_arg3, _arg1) : findResourceBundleWithResource(_arg1, _arg2));
}
private function supportNonFrameworkApps():void{
if (initializedForNonFrameworkApp){
return;
};
initializedForNonFrameworkApp = true;
if (getLocales().length > 0){
return;
};
var _local1:ApplicationDomain = ApplicationDomain.currentDomain;
if (!_local1.hasDefinition("_CompiledResourceBundleInfo")){
return;
};
var _local2:Class = Class(_local1.getDefinition("_CompiledResourceBundleInfo"));
var _local3:Array = _local2.compiledLocales;
var _local4:Array = _local2.compiledResourceBundleNames;
installCompiledResourceBundles(_local1, _local3, _local4);
localeChain = _local3;
}
public function getBundleNamesForLocale(_arg1:String):Array{
var _local3:String;
var _local2:Array = [];
for (_local3 in localeMap[_arg1]) {
_local2.push(_local3);
};
return (_local2);
}
public function getPreferredLocaleChain():Array{
return (LocaleSorter.sortLocalesByPreference(getLocales(), getSystemPreferredLocales(), null, true));
}
public function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (NaN);
};
var _local5:* = _local4.content[_arg2];
return (Number(_local5));
}
public function update():void{
dispatchEvent(new Event(Event.CHANGE));
}
public function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (null);
};
var _local5:* = _local4.content[_arg2];
return ((_local5 as Class));
}
public function removeResourceBundle(_arg1:String, _arg2:String):void{
delete localeMap[_arg1][_arg2];
if (getBundleNamesForLocale(_arg1).length == 0){
delete localeMap[_arg1];
};
}
public function initializeLocaleChain(_arg1:Array):void{
localeChain = LocaleSorter.sortLocalesByPreference(_arg1, getSystemPreferredLocales(), null, true);
}
public function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle{
var _local5:String;
var _local6:Object;
var _local7:ResourceBundle;
if (!_localeChain){
return (null);
};
var _local3:int = _localeChain.length;
var _local4:int;
while (_local4 < _local3) {
_local5 = localeChain[_local4];
_local6 = localeMap[_local5];
if (!_local6){
} else {
_local7 = _local6[_arg1];
if (!_local7){
} else {
if ((_arg2 in _local7.content)){
return (_local7);
};
};
};
_local4++;
};
return (null);
}
public function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (0);
};
var _local5:* = _local4.content[_arg2];
return (uint(_local5));
}
private function getSystemPreferredLocales():Array{
var _local1:Array;
if (Capabilities["languages"]){
_local1 = Capabilities["languages"];
} else {
_local1 = [Capabilities.language];
};
return (_local1);
}
public function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void{
var _local7:String;
var _local8:int;
var _local9:String;
var _local4:int = (_arg2) ? _arg2.length : 0;
var _local5:int = (_arg3) ? _arg3.length : 0;
var _local6:int;
while (_local6 < _local4) {
_local7 = _arg2[_local6];
_local8 = 0;
while (_local8 < _local5) {
_local9 = _arg3[_local8];
mx_internal::installCompiledResourceBundle(_arg1, _local7, _local9);
_local8++;
};
_local6++;
};
}
public function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (false);
};
var _local5:* = _local4.content[_arg2];
return ((String(_local5).toLowerCase() == "true"));
}
public function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void{
throw (new Error("unloadResourceModule() is not yet implemented."));
}
public static function getInstance():IResourceManager{
if (!instance){
instance = new (ResourceManagerImpl);
};
return (instance);
}
}
}//package mx.resources
import flash.events.*;
import mx.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(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){
this.moduleInfo = _arg1;
this.readyHandler = _arg2;
this.errorHandler = _arg3;
}
}
class ResourceEventDispatcher extends EventDispatcher {
private function ResourceEventDispatcher(_arg1:IModuleInfo){
_arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true);
}
private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{
var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
dispatchEvent(_local2);
}
private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{
var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.COMPLETE);
dispatchEvent(_local2);
}
private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{
var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
_local2.errorText = _arg1.errorText;
dispatchEvent(_local2);
}
}
Section 143
//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.3.0.4589";
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(){
BORDER_WIDTHS["default"] = 3;
}
override public function styleChanged(_arg1:String):void{
if ((((((((((_arg1 == null)) || ((_arg1 == "styleName")))) || ((_arg1 == "borderStyle")))) || ((_arg1 == "borderThickness")))) || ((_arg1 == "borderSides")))){
_borderMetrics = null;
};
invalidateDisplayList();
}
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
if (((isNaN(_arg1)) || (isNaN(_arg2)))){
return;
};
super.updateDisplayList(_arg1, _arg2);
backgroundColor = getBackgroundColor();
bRoundedCorners = false;
backgroundAlphaName = "backgroundAlpha";
backgroundHole = null;
radius = 0;
radiusObj = null;
drawBorder(_arg1, _arg2);
drawBackground(_arg1, _arg2);
}
mx_internal function drawBorder(_arg1:Number, _arg2:Number):void{
var _local5:Number;
var _local6:uint;
var _local7:uint;
var _local8:String;
var _local9:Number;
var _local10:uint;
var _local11:Boolean;
var _local12:uint;
var _local13:Array;
var _local14:Array;
var _local15:uint;
var _local16:uint;
var _local17:uint;
var _local18:uint;
var _local19:Boolean;
var _local20:Object;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Object;
var _local27:Number;
var _local28:Number;
var _local29:IContainer;
var _local30:EdgeMetrics;
var _local31:Boolean;
var _local32:Number;
var _local33:Array;
var _local34:uint;
var _local35:Boolean;
var _local36:Number;
var _local3:String = getStyle("borderStyle");
var _local4:Array = getStyle("highlightAlphas");
var _local21:Boolean;
var _local26:Graphics = graphics;
_local26.clear();
if (_local3){
switch (_local3){
case "none":
break;
case "inset":
_local7 = getStyle("borderColor");
_local22 = ColorUtil.adjustBrightness2(_local7, -40);
_local23 = ColorUtil.adjustBrightness2(_local7, 25);
_local24 = ColorUtil.adjustBrightness2(_local7, 40);
_local25 = backgroundColor;
if ((((_local25 === null)) || ((_local25 === "")))){
_local25 = _local7;
};
draw3dBorder(_local23, _local22, _local24, Number(_local25), Number(_local25), Number(_local25));
break;
case "outset":
_local7 = getStyle("borderColor");
_local22 = ColorUtil.adjustBrightness2(_local7, -40);
_local23 = ColorUtil.adjustBrightness2(_local7, -25);
_local24 = ColorUtil.adjustBrightness2(_local7, 40);
_local25 = backgroundColor;
if ((((_local25 === null)) || ((_local25 === "")))){
_local25 = _local7;
};
draw3dBorder(_local23, _local24, _local22, Number(_local25), Number(_local25), Number(_local25));
break;
case "alert":
case "default":
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
_local27 = getStyle("backgroundAlpha");
_local5 = getStyle("borderAlpha");
backgroundAlphaName = "borderAlpha";
radius = getStyle("cornerRadius");
bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true");
_local28 = (bRoundedCorners) ? radius : 0;
drawDropShadow(0, 0, _arg1, _arg2, radius, radius, _local28, _local28);
if (!bRoundedCorners){
radiusObj = {};
};
_local29 = (parent as IContainer);
if (_local29){
_local30 = _local29.viewMetrics;
backgroundHole = {x:_local30.left, y:_local30.top, w:Math.max(0, ((_arg1 - _local30.left) - _local30.right)), h:Math.max(0, ((_arg2 - _local30.top) - _local30.bottom)), r:0};
if ((((backgroundHole.w > 0)) && ((backgroundHole.h > 0)))){
if (_local27 != _local5){
drawDropShadow(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h, 0, 0, 0, 0);
};
_local26.beginFill(Number(backgroundColor), _local27);
_local26.drawRect(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h);
_local26.endFill();
};
};
backgroundColor = getStyle("borderColor");
};
break;
case "dropdown":
_local12 = getStyle("dropdownBorderColor");
drawDropShadow(0, 0, _arg1, _arg2, 4, 0, 0, 4);
drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, 5068126, 1);
drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, [0xFFFFFF, 0xFFFFFF], [0.7, 0], verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1);
drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3)));
if (!isNaN(_local12)){
drawRoundRect(0, 0, (_arg1 + 1), _arg2, {tl:4, tr:0, br:0, bl:4}, _local12, 0.5);
drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1);
drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3)));
};
backgroundColor = null;
break;
case "menuBorder":
_local7 = getStyle("borderColor");
drawRoundRect(0, 0, _arg1, _arg2, 0, _local7, 1);
drawDropShadow(1, 1, (_arg1 - 2), (_arg2 - 2), 0, 0, 0, 0);
break;
case "comboNonEdit":
break;
case "controlBar":
if ((((_arg1 == 0)) || ((_arg2 == 0)))){
backgroundColor = null;
break;
};
_local14 = getStyle("footerColors");
_local31 = !((_local14 == null));
_local32 = getStyle("borderAlpha");
if (_local31){
_local26.lineStyle(0, ((_local14.length > 0)) ? _local14[1] : _local14[0], _local32);
_local26.moveTo(0, 0);
_local26.lineTo(_arg1, 0);
_local26.lineStyle(0, 0, 0);
if (((((parent) && (parent.parent))) && ((parent.parent is IStyleClient)))){
radius = IStyleClient(parent.parent).getStyle("cornerRadius");
_local32 = IStyleClient(parent.parent).getStyle("borderAlpha");
};
if (isNaN(radius)){
radius = 0;
};
if (IStyleClient(parent.parent).getStyle("roundedBottomCorners").toString().toLowerCase() != "true"){
radius = 0;
};
drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2));
if ((((_local14.length > 1)) && (!((_local14[0] == _local14[1]))))){
drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(1, 2, (_arg1 - 2), (_arg2 - 3), {tl:0, tr:0, bl:(radius - 1), br:(radius - 1)}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2));
};
};
backgroundColor = null;
break;
case "applicationControlBar":
_local13 = getStyle("fillColors");
_local5 = getStyle("backgroundAlpha");
_local4 = getStyle("highlightAlphas");
_local33 = getStyle("fillAlphas");
_local11 = getStyle("docked");
_local34 = uint(backgroundColor);
radius = getStyle("cornerRadius");
if (!radius){
radius = 0;
};
drawDropShadow(0, 1, _arg1, (_arg2 - 1), radius, radius, radius, radius);
if (((!((backgroundColor === null))) && (StyleManager.isValidStyleValue(backgroundColor)))){
drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local34, _local5, verticalGradientMatrix(0, 0, _arg1, _arg2));
};
drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local13, _local33, verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(0, 1, _arg1, ((_arg2 / 2) - 1), {tl:radius, tr:radius, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, ((_arg2 / 2) - 1)));
drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, 0.3, null, GradientType.LINEAR, null, {x:0, y:2, w:_arg1, h:(_arg2 - 2), r:{tl:radius, tr:radius, bl:0, br:0}});
backgroundColor = null;
break;
default:
_local7 = getStyle("borderColor");
_local9 = getStyle("borderThickness");
_local8 = getStyle("borderSides");
_local35 = true;
radius = getStyle("cornerRadius");
bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true");
_local36 = Math.max((radius - _local9), 0);
_local20 = {x:_local9, y:_local9, w:(_arg1 - (_local9 * 2)), h:(_arg2 - (_local9 * 2)), r:_local36};
if (!bRoundedCorners){
radiusObj = {tl:radius, tr:radius, bl:0, br:0};
_local20.r = {tl:_local36, tr:_local36, bl:0, br:0};
};
if (_local8 != "left top right bottom"){
_local20.r = {tl:_local36, tr:_local36, bl:(bRoundedCorners) ? _local36 : 0, br:(bRoundedCorners) ? _local36 : 0};
radiusObj = {tl:radius, tr:radius, bl:(bRoundedCorners) ? radius : 0, br:(bRoundedCorners) ? radius : 0};
_local8 = _local8.toLowerCase();
if (_local8.indexOf("left") == -1){
_local20.x = 0;
_local20.w = (_local20.w + _local9);
_local20.r.tl = 0;
_local20.r.bl = 0;
radiusObj.tl = 0;
radiusObj.bl = 0;
_local35 = false;
};
if (_local8.indexOf("top") == -1){
_local20.y = 0;
_local20.h = (_local20.h + _local9);
_local20.r.tl = 0;
_local20.r.tr = 0;
radiusObj.tl = 0;
radiusObj.tr = 0;
_local35 = false;
};
if (_local8.indexOf("right") == -1){
_local20.w = (_local20.w + _local9);
_local20.r.tr = 0;
_local20.r.br = 0;
radiusObj.tr = 0;
radiusObj.br = 0;
_local35 = false;
};
if (_local8.indexOf("bottom") == -1){
_local20.h = (_local20.h + _local9);
_local20.r.bl = 0;
_local20.r.br = 0;
radiusObj.bl = 0;
radiusObj.br = 0;
_local35 = false;
};
};
if ((((radius == 0)) && (_local35))){
drawDropShadow(0, 0, _arg1, _arg2, 0, 0, 0, 0);
_local26.beginFill(_local7);
_local26.drawRect(0, 0, _arg1, _arg2);
_local26.drawRect(_local9, _local9, (_arg1 - (2 * _local9)), (_arg2 - (2 * _local9)));
_local26.endFill();
} else {
if (radiusObj){
drawDropShadow(0, 0, _arg1, _arg2, radiusObj.tl, radiusObj.tr, radiusObj.br, radiusObj.bl);
drawRoundRect(0, 0, _arg1, _arg2, radiusObj, _local7, 1, null, null, null, _local20);
radiusObj.tl = Math.max((radius - _local9), 0);
radiusObj.tr = Math.max((radius - _local9), 0);
radiusObj.bl = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0;
radiusObj.br = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0;
} else {
drawDropShadow(0, 0, _arg1, _arg2, radius, radius, radius, radius);
drawRoundRect(0, 0, _arg1, _arg2, radius, _local7, 1, null, null, null, _local20);
radius = Math.max((getStyle("cornerRadius") - _local9), 0);
};
};
};
};
}
mx_internal function drawBackground(_arg1:Number, _arg2:Number):void{
var _local4:Number;
var _local5:Number;
var _local6:EdgeMetrics;
var _local7:Graphics;
var _local8:Number;
var _local9:Number;
var _local10:Array;
var _local11:Number;
if (((((((!((backgroundColor === null))) && (!((backgroundColor === ""))))) || (getStyle("mouseShield")))) || (getStyle("mouseShieldChildren")))){
_local4 = Number(backgroundColor);
_local5 = 1;
_local6 = getBackgroundColorMetrics();
_local7 = graphics;
if (((((isNaN(_local4)) || ((backgroundColor === "")))) || ((backgroundColor === null)))){
_local5 = 0;
_local4 = 0xFFFFFF;
} else {
_local5 = getStyle(backgroundAlphaName);
};
if (((!((radius == 0))) || (backgroundHole))){
_local8 = _local6.bottom;
if (radiusObj){
_local9 = (bRoundedCorners) ? radius : 0;
radiusObj = {tl:radius, tr:radius, bl:_local9, br:_local9};
drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radiusObj, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole);
} else {
drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radius, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole);
};
} else {
_local7.beginFill(_local4, _local5);
_local7.drawRect(_local6.left, _local6.top, ((_arg1 - _local6.right) - _local6.left), ((_arg2 - _local6.bottom) - _local6.top));
_local7.endFill();
};
};
var _local3:String = getStyle("borderStyle");
if ((((((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) && ((((_local3 == "alert")) || ((_local3 == "default")))))) && ((getStyle("headerColors") == null)))){
_local10 = getStyle("highlightAlphas");
_local11 = (_local10) ? _local10[0] : 0.3;
drawRoundRect(0, 0, _arg1, _arg2, {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, _local11, null, GradientType.LINEAR, null, {x:0, y:1, w:_arg1, h:(_arg2 - 1), r:{tl:radius, tr:radius, bl:0, br:0}});
};
}
mx_internal function drawDropShadow(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):void{
var _local11:Number;
var _local12:Boolean;
if ((((((((getStyle("dropShadowEnabled") == false)) || ((getStyle("dropShadowEnabled") == "false")))) || ((_arg3 == 0)))) || ((_arg4 == 0)))){
return;
};
var _local9:Number = getStyle("shadowDistance");
var _local10:String = getStyle("shadowDirection");
if (getStyle("borderStyle") == "applicationControlBar"){
_local12 = getStyle("docked");
_local11 = (_local12) ? 90 : getDropShadowAngle(_local9, _local10);
_local9 = Math.abs(_local9);
} else {
_local11 = getDropShadowAngle(_local9, _local10);
_local9 = (Math.abs(_local9) + 2);
};
if (!dropShadow){
dropShadow = new RectangularDropShadow();
};
dropShadow.distance = _local9;
dropShadow.angle = _local11;
dropShadow.color = getStyle("dropShadowColor");
dropShadow.alpha = 0.4;
dropShadow.tlRadius = _arg5;
dropShadow.trRadius = _arg6;
dropShadow.blRadius = _arg8;
dropShadow.brRadius = _arg7;
dropShadow.drawShadow(graphics, _arg1, _arg2, _arg3, _arg4);
}
mx_internal function getBackgroundColor():Object{
var _local2:Object;
var _local1:IUIComponent = (parent as IUIComponent);
if (((_local1) && (!(_local1.enabled)))){
_local2 = getStyle("backgroundDisabledColor");
if (((!((_local2 === null))) && (StyleManager.isValidStyleValue(_local2)))){
return (_local2);
};
};
return (getStyle("backgroundColor"));
}
mx_internal function draw3dBorder(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{
var _local7:Number = width;
var _local8:Number = height;
drawDropShadow(0, 0, width, height, 0, 0, 0, 0);
var _local9:Graphics = graphics;
_local9.beginFill(_arg1);
_local9.drawRect(0, 0, _local7, _local8);
_local9.drawRect(1, 0, (_local7 - 2), _local8);
_local9.endFill();
_local9.beginFill(_arg2);
_local9.drawRect(1, 0, (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg3);
_local9.drawRect(1, (_local8 - 1), (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg4);
_local9.drawRect(1, 1, (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg5);
_local9.drawRect(1, (_local8 - 2), (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg6);
_local9.drawRect(1, 2, (_local7 - 2), (_local8 - 4));
_local9.drawRect(2, 2, (_local7 - 4), (_local8 - 4));
_local9.endFill();
}
mx_internal function getBackgroundColorMetrics():EdgeMetrics{
return (borderMetrics);
}
mx_internal function getDropShadowAngle(_arg1:Number, _arg2:String):Number{
if (_arg2 == "left"){
return (((_arg1 >= 0)) ? 135 : 225);
//unresolved jump
};
if (_arg2 == "right"){
return (((_arg1 >= 0)) ? 45 : 315);
//unresolved jump
};
return (((_arg1 >= 0)) ? 90 : 270);
}
override public function get borderMetrics():EdgeMetrics{
var _local1:Number;
var _local3:String;
if (_borderMetrics){
return (_borderMetrics);
};
var _local2:String = getStyle("borderStyle");
if ((((_local2 == "default")) || ((_local2 == "alert")))){
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
_borderMetrics = new EdgeMetrics(0, 0, 0, 0);
} else {
return (EdgeMetrics.EMPTY);
};
} else {
if ((((_local2 == "controlBar")) || ((_local2 == "applicationControlBar")))){
_borderMetrics = new EdgeMetrics(1, 1, 1, 1);
} else {
if (_local2 == "solid"){
_local1 = getStyle("borderThickness");
if (isNaN(_local1)){
_local1 = 0;
};
_borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1);
_local3 = getStyle("borderSides");
if (_local3 != "left top right bottom"){
if (_local3.indexOf("left") == -1){
_borderMetrics.left = 0;
};
if (_local3.indexOf("top") == -1){
_borderMetrics.top = 0;
};
if (_local3.indexOf("right") == -1){
_borderMetrics.right = 0;
};
if (_local3.indexOf("bottom") == -1){
_borderMetrics.bottom = 0;
};
};
} else {
_local1 = BORDER_WIDTHS[_local2];
if (isNaN(_local1)){
_local1 = 0;
};
_borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1);
};
};
};
return (_borderMetrics);
}
}
}//package mx.skins.halo
Section 144
//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.3.0.4589";
public function get inheritingStyles():Object{
return (styleName.inheritingStyles);
}
public function set inheritingStyles(_arg1:Object):void{
}
public function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void{
}
public function registerEffects(_arg1:Array):void{
}
public function regenerateStyleCache(_arg1: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(_arg1:String):void{
if (_arg1 == "focusColor"){
_focusColor = NaN;
};
}
public function setStyle(_arg1:String, _arg2):void{
if (_arg1 == "focusColor"){
_focusColor = _arg2;
};
}
public function set nonInheritingStyles(_arg1:Object):void{
}
public function get nonInheritingStyles():Object{
return (styleName.nonInheritingStyles);
}
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
super.updateDisplayList(_arg1, _arg2);
var _local3:String = getStyle("focusBlendMode");
var _local4:Number = getStyle("focusAlpha");
var _local5:Number = getStyle("focusColor");
var _local6:Number = getStyle("cornerRadius");
var _local7:Number = getStyle("focusThickness");
var _local8:String = getStyle("focusRoundedCorners");
var _local9:Number = getStyle("themeColor");
var _local10:Number = _local5;
if (isNaN(_local10)){
_local10 = _local9;
};
var _local11:Graphics = graphics;
_local11.clear();
blendMode = _local3;
if (((!((_local8 == "tl tr bl br"))) && ((_local6 > 0)))){
_local12 = 0;
_local13 = 0;
_local14 = 0;
_local15 = 0;
_local16 = (_local6 + _local7);
if (_local8.indexOf("tl") >= 0){
_local12 = _local16;
};
if (_local8.indexOf("tr") >= 0){
_local14 = _local16;
};
if (_local8.indexOf("bl") >= 0){
_local13 = _local16;
};
if (_local8.indexOf("br") >= 0){
_local15 = _local16;
};
_local11.beginFill(_local10, _local4);
GraphicsUtil.drawRoundRectComplex(_local11, 0, 0, _arg1, _arg2, _local12, _local14, _local13, _local15);
_local12 = (_local12) ? _local6 : 0;
_local14 = (_local14) ? _local6 : 0;
_local13 = (_local13) ? _local6 : 0;
_local15 = (_local15) ? _local6 : 0;
GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15);
_local11.endFill();
_local16 = (_local6 + (_local7 / 2));
_local12 = (_local12) ? _local16 : 0;
_local14 = (_local14) ? _local16 : 0;
_local13 = (_local13) ? _local16 : 0;
_local15 = (_local15) ? _local16 : 0;
_local11.beginFill(_local10, _local4);
GraphicsUtil.drawRoundRectComplex(_local11, (_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local12, _local14, _local13, _local15);
_local12 = (_local12) ? _local6 : 0;
_local14 = (_local14) ? _local6 : 0;
_local13 = (_local13) ? _local6 : 0;
_local15 = (_local15) ? _local6 : 0;
GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15);
_local11.endFill();
} else {
_local11.beginFill(_local10, _local4);
_local17 = (((_local6 > 0)) ? (_local6 + _local7) : 0 * 2);
_local11.drawRoundRect(0, 0, _arg1, _arg2, _local17, _local17);
_local17 = (_local6 * 2);
_local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17);
_local11.endFill();
_local11.beginFill(_local10, _local4);
_local17 = (((_local6 > 0)) ? (_local6 + (_local7 / 2)) : 0 * 2);
_local11.drawRoundRect((_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local17, _local17);
_local17 = (_local6 * 2);
_local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17);
_local11.endFill();
};
}
override public function getStyle(_arg1:String){
return (((_arg1 == "focusColor")) ? _focusColor : super.getStyle(_arg1));
}
public function set styleDeclaration(_arg1:CSSStyleDeclaration):void{
}
}
}//package mx.skins.halo
Section 145
//Border (mx.skins.Border)
package mx.skins {
import mx.core.*;
public class Border extends ProgrammaticSkin implements IBorder {
mx_internal static const VERSION:String = "3.3.0.4589";
public function get borderMetrics():EdgeMetrics{
return (EdgeMetrics.EMPTY);
}
}
}//package mx.skins
Section 146
//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.3.0.4589";
private static var tempMatrix:Matrix = new Matrix();
public function ProgrammaticSkin(){
_width = measuredWidth;
_height = measuredHeight;
}
public function getStyle(_arg1:String){
return ((_styleName) ? _styleName.getStyle(_arg1) : null);
}
protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
}
public function get nestLevel():int{
return (_nestLevel);
}
public function set nestLevel(_arg1:int):void{
_nestLevel = _arg1;
invalidateDisplayList();
}
override public function get height():Number{
return (_height);
}
public function get updateCompletePendingFlag():Boolean{
return (_updateCompletePendingFlag);
}
protected function verticalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{
return (rotatedGradientMatrix(_arg1, _arg2, _arg3, _arg4, 90));
}
public function validateSize(_arg1:Boolean=false):void{
}
public function invalidateDisplayList():void{
if (((!(invalidateDisplayListFlag)) && ((nestLevel > 0)))){
invalidateDisplayListFlag = true;
UIComponentGlobals.layoutManager.invalidateDisplayList(this);
};
}
public function set updateCompletePendingFlag(_arg1:Boolean):void{
_updateCompletePendingFlag = _arg1;
}
protected function horizontalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{
return (rotatedGradientMatrix(_arg1, _arg2, _arg3, _arg4, 0));
}
override public function set height(_arg1:Number):void{
_height = _arg1;
invalidateDisplayList();
}
public function set processedDescriptors(_arg1:Boolean):void{
_processedDescriptors = _arg1;
}
public function validateDisplayList():void{
invalidateDisplayListFlag = false;
updateDisplayList(width, height);
}
public function get measuredWidth():Number{
return (0);
}
override public function set width(_arg1:Number):void{
_width = _arg1;
invalidateDisplayList();
}
public function get measuredHeight():Number{
return (0);
}
public function set initialized(_arg1:Boolean):void{
_initialized = _arg1;
}
protected function drawRoundRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null, _arg6:Object=null, _arg7:Object=null, _arg8:Matrix=null, _arg9:String="linear", _arg10:Array=null, _arg11:Object=null):void{
var _local13:Number;
var _local14:Array;
var _local15:Object;
var _local12:Graphics = graphics;
if ((((_arg3 == 0)) || ((_arg4 == 0)))){
return;
};
if (_arg6 !== null){
if ((_arg6 is uint)){
_local12.beginFill(uint(_arg6), Number(_arg7));
} else {
if ((_arg6 is Array)){
_local14 = ((_arg7 is Array)) ? (_arg7 as Array) : [_arg7, _arg7];
if (!_arg10){
_arg10 = [0, 0xFF];
};
_local12.beginGradientFill(_arg9, (_arg6 as Array), _local14, _arg10, _arg8);
};
};
};
if (!_arg5){
_local12.drawRect(_arg1, _arg2, _arg3, _arg4);
} else {
if ((_arg5 is Number)){
_local13 = (Number(_arg5) * 2);
_local12.drawRoundRect(_arg1, _arg2, _arg3, _arg4, _local13, _local13);
} else {
GraphicsUtil.drawRoundRectComplex(_local12, _arg1, _arg2, _arg3, _arg4, _arg5.tl, _arg5.tr, _arg5.bl, _arg5.br);
};
};
if (_arg11){
_local15 = _arg11.r;
if ((_local15 is Number)){
_local13 = (Number(_local15) * 2);
_local12.drawRoundRect(_arg11.x, _arg11.y, _arg11.w, _arg11.h, _local13, _local13);
} else {
GraphicsUtil.drawRoundRectComplex(_local12, _arg11.x, _arg11.y, _arg11.w, _arg11.h, _local15.tl, _local15.tr, _local15.bl, _local15.br);
};
};
if (_arg6 !== null){
_local12.endFill();
};
}
public function get processedDescriptors():Boolean{
return (_processedDescriptors);
}
public function set styleName(_arg1:Object):void{
if (_styleName != _arg1){
_styleName = (_arg1 as IStyleClient);
invalidateDisplayList();
};
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
var _local3:Boolean;
if (_width != _arg1){
_width = _arg1;
_local3 = true;
};
if (_height != _arg2){
_height = _arg2;
_local3 = true;
};
if (_local3){
invalidateDisplayList();
};
}
public function styleChanged(_arg1: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(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Matrix{
tempMatrix.createGradientBox(_arg3, _arg4, ((_arg5 * Math.PI) / 180), _arg1, _arg2);
return (tempMatrix);
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
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 147
//RectangularBorder (mx.skins.RectangularBorder)
package mx.skins {
import flash.events.*;
import mx.core.*;
import mx.styles.*;
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.3.0.4589";
public function RectangularBorder(){
resourceManager = ResourceManager.getInstance();
super();
addEventListener(Event.REMOVED, removedHandler);
}
public function layoutBackgroundImage():void{
var _local4:Number;
var _local5:Number;
var _local7:Number;
var _local8:Number;
var _local14:Number;
var _local15:Graphics;
var _local1:DisplayObject = parent;
var _local2:EdgeMetrics = ((_local1 is IContainer)) ? IContainer(_local1).viewMetrics : borderMetrics;
var _local3 = !((getStyle("backgroundAttachment") == "fixed"));
if (_backgroundImageBounds){
_local4 = _backgroundImageBounds.width;
_local5 = _backgroundImageBounds.height;
} else {
_local4 = ((width - _local2.left) - _local2.right);
_local5 = ((height - _local2.top) - _local2.bottom);
};
var _local6:Number = getBackgroundSize();
if (isNaN(_local6)){
_local7 = 1;
_local8 = 1;
} else {
_local14 = (_local6 * 0.01);
_local7 = ((_local14 * _local4) / backgroundImageWidth);
_local8 = ((_local14 * _local5) / backgroundImageHeight);
};
backgroundImage.scaleX = _local7;
backgroundImage.scaleY = _local8;
var _local9:Number = Math.round((0.5 * (_local4 - (backgroundImageWidth * _local7))));
var _local10:Number = Math.round((0.5 * (_local5 - (backgroundImageHeight * _local8))));
backgroundImage.x = _local2.left;
backgroundImage.y = _local2.top;
var _local11:Shape = Shape(backgroundImage.mask);
_local11.x = _local2.left;
_local11.y = _local2.top;
if (((_local3) && ((_local1 is IContainer)))){
_local9 = (_local9 - IContainer(_local1).horizontalScrollPosition);
_local10 = (_local10 - IContainer(_local1).verticalScrollPosition);
};
backgroundImage.alpha = getStyle("backgroundAlpha");
backgroundImage.x = (backgroundImage.x + _local9);
backgroundImage.y = (backgroundImage.y + _local10);
var _local12:Number = ((width - _local2.left) - _local2.right);
var _local13:Number = ((height - _local2.top) - _local2.bottom);
if (((!((_local11.width == _local12))) || (!((_local11.height == _local13))))){
_local15 = _local11.graphics;
_local15.clear();
_local15.beginFill(0xFFFFFF);
_local15.drawRect(0, 0, _local12, _local13);
_local15.endFill();
};
}
public function set backgroundImageBounds(_arg1:Rectangle):void{
_backgroundImageBounds = _arg1;
invalidateDisplayList();
}
private function getBackgroundSize():Number{
var _local3:int;
var _local1:Number = NaN;
var _local2:Object = getStyle("backgroundSize");
if (((_local2) && ((_local2 is String)))){
_local3 = _local2.indexOf("%");
if (_local3 != -1){
_local1 = Number(_local2.substr(0, _local3));
};
};
return (_local1);
}
private function removedHandler(_arg1:Event):void{
var _local2:IChildList;
if (backgroundImage){
_local2 = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent);
_local2.removeChild(backgroundImage.mask);
_local2.removeChild(backgroundImage);
backgroundImage = null;
};
}
private function initBackgroundImage(_arg1:DisplayObject):void{
backgroundImage = _arg1;
if ((_arg1 is Loader)){
backgroundImageWidth = Loader(_arg1).contentLoaderInfo.width;
backgroundImageHeight = Loader(_arg1).contentLoaderInfo.height;
} else {
backgroundImageWidth = backgroundImage.width;
backgroundImageHeight = backgroundImage.height;
if ((_arg1 is ISimpleStyleClient)){
ISimpleStyleClient(_arg1).styleName = styleName;
};
};
var _local2:IChildList = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent);
var _local3:Shape = new FlexShape();
_local3.name = "backgroundMask";
_local3.x = 0;
_local3.y = 0;
_local2.addChild(_local3);
var _local4:int = _local2.getChildIndex(this);
_local2.addChildAt(backgroundImage, (_local4 + 1));
backgroundImage.mask = _local3;
}
public function get backgroundImageBounds():Rectangle{
return (_backgroundImageBounds);
}
public function get hasBackgroundImage():Boolean{
return (!((backgroundImage == null)));
}
private function completeEventHandler(_arg1:Event):void{
if (!parent){
return;
};
var _local2:DisplayObject = DisplayObject(LoaderInfo(_arg1.target).loader);
initBackgroundImage(_local2);
layoutBackgroundImage();
dispatchEvent(_arg1.clone());
}
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
var cls:Class;
var newStyleObj:DisplayObject;
var loader:Loader;
var loaderContext:LoaderContext;
var message:String;
var unscaledWidth = _arg1;
var unscaledHeight = _arg2;
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)))){
try {
cls = Class(getDefinitionByName(String(newStyle)));
} catch(e:Error) {
};
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(_arg1:Event):void{
}
}
}//package mx.skins
Section 148
//CSSStyleDeclaration (mx.styles.CSSStyleDeclaration)
package mx.styles {
import flash.events.*;
import mx.core.*;
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.3.0.4589";
private static const NOT_A_COLOR:uint = 4294967295;
private static const FILTERMAP_PROP:String = "__reserved__filterMap";
public function CSSStyleDeclaration(_arg1:String=null){
clones = new Dictionary(true);
super();
if (_arg1){
styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2);
styleManager.setStyleDeclaration(_arg1, this, false);
};
}
mx_internal function addStyleToProtoChain(_arg1:Object, _arg2:DisplayObject, _arg3:Object=null):Object{
var p:String;
var emptyObjectFactory:Function;
var filteredChain:Object;
var filterObjectFactory:Function;
var i:String;
var chain = _arg1;
var target = _arg2;
var filterMap = _arg3;
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(_arg1:String){
var _local2:*;
var _local3:*;
if (overrides){
if ((((_arg1 in overrides)) && ((overrides[_arg1] === undefined)))){
return (undefined);
};
_local3 = overrides[_arg1];
if (_local3 !== undefined){
return (_local3);
};
};
if (factory != null){
factory.prototype = {};
_local2 = new factory();
_local3 = _local2[_arg1];
if (_local3 !== undefined){
return (_local3);
};
};
if (defaultFactory != null){
defaultFactory.prototype = {};
_local2 = new defaultFactory();
_local3 = _local2[_arg1];
if (_local3 !== undefined){
return (_local3);
};
};
return (undefined);
}
public function clearStyle(_arg1:String):void{
setStyle(_arg1, undefined);
}
public function setStyle(_arg1:String, _arg2):void{
var _local7:int;
var _local8:Object;
var _local3:Object = getStyle(_arg1);
var _local4:Boolean;
if ((((((((((selectorRefCount > 0)) && ((factory == null)))) && ((defaultFactory == null)))) && (!(overrides)))) && (!((_local3 === _arg2))))){
_local4 = true;
};
if (_arg2 !== undefined){
setStyle(_arg1, _arg2);
} else {
if (_arg2 == _local3){
return;
};
setStyle(_arg1, _arg2);
};
var _local5:Array = SystemManagerGlobals.topLevelSystemManagers;
var _local6:int = _local5.length;
if (_local4){
_local7 = 0;
while (_local7 < _local6) {
_local8 = _local5[_local7];
_local8.regenerateStyleCache(true);
_local7++;
};
};
_local7 = 0;
while (_local7 < _local6) {
_local8 = _local5[_local7];
_local8.notifyStyleChangeInChildren(_arg1, true);
_local7++;
};
}
private function clearStyleAttr(_arg1:String):void{
var _local2:*;
if (!overrides){
overrides = {};
};
overrides[_arg1] = undefined;
for (_local2 in clones) {
delete _local2[_arg1];
};
}
mx_internal function createProtoChainRoot():Object{
var _local1:Object = {};
if (defaultFactory != null){
defaultFactory.prototype = _local1;
_local1 = new defaultFactory();
};
if (factory != null){
factory.prototype = _local1;
_local1 = new factory();
};
clones[_local1] = 1;
return (_local1);
}
mx_internal function clearOverride(_arg1:String):void{
if (((overrides) && (overrides[_arg1]))){
delete overrides[_arg1];
};
}
mx_internal function setStyle(_arg1:String, _arg2):void{
var _local3:Object;
var _local4:*;
var _local5:Number;
var _local6:Object;
if (_arg2 === undefined){
clearStyleAttr(_arg1);
return;
};
if ((_arg2 is String)){
if (!styleManager){
styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2);
};
_local5 = styleManager.getColorName(_arg2);
if (_local5 != NOT_A_COLOR){
_arg2 = _local5;
};
};
if (defaultFactory != null){
_local3 = new defaultFactory();
if (_local3[_arg1] !== _arg2){
if (!overrides){
overrides = {};
};
overrides[_arg1] = _arg2;
} else {
if (overrides){
delete overrides[_arg1];
};
};
};
if (factory != null){
_local3 = new factory();
if (_local3[_arg1] !== _arg2){
if (!overrides){
overrides = {};
};
overrides[_arg1] = _arg2;
} else {
if (overrides){
delete overrides[_arg1];
};
};
};
if ((((defaultFactory == null)) && ((factory == null)))){
if (!overrides){
overrides = {};
};
overrides[_arg1] = _arg2;
};
for (_local4 in clones) {
_local6 = _local4[FILTERMAP_PROP];
if (_local6){
if (_local6[_arg1] != null){
_local4[_local6[_arg1]] = _arg2;
};
} else {
_local4[_arg1] = _arg2;
};
};
}
}
}//package mx.styles
Section 149
//ISimpleStyleClient (mx.styles.ISimpleStyleClient)
package mx.styles {
public interface ISimpleStyleClient {
function set styleName(_arg1:Object):void;
function styleChanged(_arg1:String):void;
function get styleName():Object;
}
}//package mx.styles
Section 150
//IStyleClient (mx.styles.IStyleClient)
package mx.styles {
public interface IStyleClient extends ISimpleStyleClient {
function regenerateStyleCache(_arg1:Boolean):void;
function get className():String;
function clearStyle(_arg1:String):void;
function getClassStyleDeclarations():Array;
function get inheritingStyles():Object;
function set nonInheritingStyles(_arg1:Object):void;
function setStyle(_arg1:String, _arg2):void;
function get styleDeclaration():CSSStyleDeclaration;
function set styleDeclaration(_arg1:CSSStyleDeclaration):void;
function get nonInheritingStyles():Object;
function set inheritingStyles(_arg1:Object):void;
function getStyle(_arg1:String);
function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void;
function registerEffects(_arg1:Array):void;
}
}//package mx.styles
Section 151
//IStyleManager (mx.styles.IStyleManager)
package mx.styles {
import flash.events.*;
public interface IStyleManager {
function isColorName(_arg1:String):Boolean;
function registerParentDisplayListInvalidatingStyle(_arg1:String):void;
function registerInheritingStyle(_arg1:String):void;
function set stylesRoot(_arg1:Object):void;
function get typeSelectorCache():Object;
function styleDeclarationsChanged():void;
function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void;
function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean;
function isSizeInvalidatingStyle(_arg1:String):Boolean;
function get inheritingStyles():Object;
function isValidStyleValue(_arg1):Boolean;
function isParentSizeInvalidatingStyle(_arg1:String):Boolean;
function getColorName(_arg1:Object):uint;
function set typeSelectorCache(_arg1:Object):void;
function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void;
function getColorNames(_arg1:Array):void;
function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher;
function isInheritingStyle(_arg1:String):Boolean;
function set inheritingStyles(_arg1:Object):void;
function get stylesRoot():Object;
function initProtoChainRoots():void;
function registerColorName(_arg1:String, _arg2:uint):void;
function registerParentSizeInvalidatingStyle(_arg1:String):void;
function registerSizeInvalidatingStyle(_arg1:String):void;
function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void;
function isInheritingTextFormatStyle(_arg1:String):Boolean;
function getStyleDeclaration(_arg1:String):CSSStyleDeclaration;
}
}//package mx.styles
Section 152
//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 153
//IStyleModule (mx.styles.IStyleModule)
package mx.styles {
public interface IStyleModule {
function unload():void;
}
}//package mx.styles
Section 154
//StyleManager (mx.styles.StyleManager)
package mx.styles {
import flash.events.*;
import mx.core.*;
import flash.system.*;
public class StyleManager {
mx_internal static const VERSION:String = "3.3.0.4589";
public static const NOT_A_COLOR:uint = 4294967295;
private static var _impl:IStyleManager2;
private static var implClassDependency:StyleManagerImpl;
public static function isParentSizeInvalidatingStyle(_arg1:String):Boolean{
return (impl.isParentSizeInvalidatingStyle(_arg1));
}
public static function registerInheritingStyle(_arg1:String):void{
impl.registerInheritingStyle(_arg1);
}
mx_internal static function set stylesRoot(_arg1:Object):void{
impl.stylesRoot = _arg1;
}
mx_internal static function get inheritingStyles():Object{
return (impl.inheritingStyles);
}
mx_internal static function styleDeclarationsChanged():void{
impl.styleDeclarationsChanged();
}
public static function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void{
impl.setStyleDeclaration(_arg1, _arg2, _arg3);
}
public static function registerParentDisplayListInvalidatingStyle(_arg1:String):void{
impl.registerParentDisplayListInvalidatingStyle(_arg1);
}
mx_internal static function get typeSelectorCache():Object{
return (impl.typeSelectorCache);
}
mx_internal static function set inheritingStyles(_arg1:Object):void{
impl.inheritingStyles = _arg1;
}
public static function isColorName(_arg1:String):Boolean{
return (impl.isColorName(_arg1));
}
public static function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean{
return (impl.isParentDisplayListInvalidatingStyle(_arg1));
}
public static function isSizeInvalidatingStyle(_arg1:String):Boolean{
return (impl.isSizeInvalidatingStyle(_arg1));
}
public static function getColorName(_arg1:Object):uint{
return (impl.getColorName(_arg1));
}
mx_internal static function set typeSelectorCache(_arg1:Object):void{
impl.typeSelectorCache = _arg1;
}
public static function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void{
impl.unloadStyleDeclarations(_arg1, _arg2);
}
public static function getColorNames(_arg1:Array):void{
impl.getColorNames(_arg1);
}
public static function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false, _arg4:ApplicationDomain=null, _arg5:SecurityDomain=null):IEventDispatcher{
return (impl.loadStyleDeclarations2(_arg1, _arg2, _arg4, _arg5));
}
private static function get impl():IStyleManager2{
if (!_impl){
_impl = IStyleManager2(Singleton.getInstance("mx.styles::IStyleManager2"));
};
return (_impl);
}
public static function isValidStyleValue(_arg1):Boolean{
return (impl.isValidStyleValue(_arg1));
}
mx_internal static function get stylesRoot():Object{
return (impl.stylesRoot);
}
public static function isInheritingStyle(_arg1:String):Boolean{
return (impl.isInheritingStyle(_arg1));
}
mx_internal static function initProtoChainRoots():void{
impl.initProtoChainRoots();
}
public static function registerParentSizeInvalidatingStyle(_arg1:String):void{
impl.registerParentSizeInvalidatingStyle(_arg1);
}
public static function get selectors():Array{
return (impl.selectors);
}
public static function registerSizeInvalidatingStyle(_arg1:String):void{
impl.registerSizeInvalidatingStyle(_arg1);
}
public static function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void{
impl.clearStyleDeclaration(_arg1, _arg2);
}
public static function registerColorName(_arg1:String, _arg2:uint):void{
impl.registerColorName(_arg1, _arg2);
}
public static function isInheritingTextFormatStyle(_arg1:String):Boolean{
return (impl.isInheritingTextFormatStyle(_arg1));
}
public static function getStyleDeclaration(_arg1:String):CSSStyleDeclaration{
return (impl.getStyleDeclaration(_arg1));
}
}
}//package mx.styles
Section 155
//StyleManagerImpl (mx.styles.StyleManagerImpl)
package mx.styles {
import flash.events.*;
import mx.core.*;
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.3.0.4589";
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(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void{
_arg2.selectorRefCount++;
_selectors[_arg1] = _arg2;
typeSelectorCache = {};
if (_arg3){
styleDeclarationsChanged();
};
}
public function registerParentDisplayListInvalidatingStyle(_arg1:String):void{
parentDisplayListInvalidatingStyles[_arg1] = true;
}
public function getStyleDeclaration(_arg1:String):CSSStyleDeclaration{
var _local2:int;
if (_arg1.charAt(0) != "."){
_local2 = _arg1.lastIndexOf(".");
if (_local2 != -1){
_arg1 = _arg1.substr((_local2 + 1));
};
};
return (_selectors[_arg1]);
}
public function set typeSelectorCache(_arg1:Object):void{
_typeSelectorCache = _arg1;
}
public function isColorName(_arg1:String):Boolean{
return (!((colorNames[_arg1.toLowerCase()] === undefined)));
}
public function set inheritingStyles(_arg1:Object):void{
_inheritingStyles = _arg1;
}
public function getColorNames(_arg1:Array):void{
var _local4:uint;
if (!_arg1){
return;
};
var _local2:int = _arg1.length;
var _local3:int;
while (_local3 < _local2) {
if (((!((_arg1[_local3] == null))) && (isNaN(_arg1[_local3])))){
_local4 = getColorName(_arg1[_local3]);
if (_local4 != StyleManager.NOT_A_COLOR){
_arg1[_local3] = _local4;
};
};
_local3++;
};
}
public function isInheritingTextFormatStyle(_arg1:String):Boolean{
return ((inheritingTextFormatStyles[_arg1] == true));
}
public function registerParentSizeInvalidatingStyle(_arg1:String):void{
parentSizeInvalidatingStyles[_arg1] = true;
}
public function registerColorName(_arg1:String, _arg2:uint):void{
colorNames[_arg1.toLowerCase()] = _arg2;
}
public function isParentSizeInvalidatingStyle(_arg1:String):Boolean{
return ((parentSizeInvalidatingStyles[_arg1] == true));
}
public function registerInheritingStyle(_arg1:String):void{
inheritingStyles[_arg1] = true;
}
public function set stylesRoot(_arg1:Object):void{
_stylesRoot = _arg1;
}
public function get typeSelectorCache():Object{
return (_typeSelectorCache);
}
public function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean{
return ((parentDisplayListInvalidatingStyles[_arg1] == true));
}
public function isSizeInvalidatingStyle(_arg1:String):Boolean{
return ((sizeInvalidatingStyles[_arg1] == true));
}
public function styleDeclarationsChanged():void{
var _local4:Object;
var _local1:Array = SystemManagerGlobals.topLevelSystemManagers;
var _local2:int = _local1.length;
var _local3:int;
while (_local3 < _local2) {
_local4 = _local1[_local3];
_local4.regenerateStyleCache(true);
_local4.notifyStyleChangeInChildren(null, true);
_local3++;
};
}
public function isValidStyleValue(_arg1):Boolean{
return (!((_arg1 === undefined)));
}
public function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher{
return (loadStyleDeclarations2(_arg1, _arg2));
}
public function get inheritingStyles():Object{
return (_inheritingStyles);
}
public function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void{
var _local4:IModuleInfo;
var _local3:StyleModuleInfo = styleModules[_arg1];
if (_local3){
_local3.styleModule.unload();
_local4 = _local3.module;
_local4.unload();
_local4.removeEventListener(ModuleEvent.READY, _local3.readyHandler);
_local4.removeEventListener(ModuleEvent.ERROR, _local3.errorHandler);
styleModules[_arg1] = null;
};
if (_arg2){
styleDeclarationsChanged();
};
}
public function getColorName(_arg1:Object):uint{
var _local2:Number;
var _local3:*;
if ((_arg1 is String)){
if (_arg1.charAt(0) == "#"){
_local2 = Number(("0x" + _arg1.slice(1)));
return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2));
};
if ((((_arg1.charAt(1) == "x")) && ((_arg1.charAt(0) == "0")))){
_local2 = Number(_arg1);
return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2));
};
_local3 = colorNames[_arg1.toLowerCase()];
if (_local3 === undefined){
return (StyleManager.NOT_A_COLOR);
};
return (uint(_local3));
};
return (uint(_arg1));
}
public function isInheritingStyle(_arg1:String):Boolean{
return ((inheritingStyles[_arg1] == 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(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher{
var module:IModuleInfo;
var styleEventDispatcher:StyleEventDispatcher;
var timer:Timer;
var timerHandler:Function;
var url = _arg1;
var update = _arg2;
var applicationDomain = _arg3;
var securityDomain = _arg4;
module = ModuleManager.getModule(url);
var readyHandler:Function = function (_arg1:ModuleEvent):void{
var _local2:IStyleModule = IStyleModule(_arg1.module.factory.create());
styleModules[_arg1.module.url].styleModule = _local2;
if (update){
styleDeclarationsChanged();
};
};
module.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true);
styleEventDispatcher = new StyleEventDispatcher(module);
var errorHandler:Function = function (_arg1:ModuleEvent):void{
var _local3:StyleEvent;
var _local2:String = resourceManager.getString("styles", "unableToLoad", [_arg1.errorText, url]);
if (styleEventDispatcher.willTrigger(StyleEvent.ERROR)){
_local3 = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local3.bytesLoaded = 0;
_local3.bytesTotal = 0;
_local3.errorText = _local2;
styleEventDispatcher.dispatchEvent(_local3);
} else {
throw (new Error(_local2));
};
};
module.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true);
styleModules[url] = new StyleModuleInfo(module, readyHandler, errorHandler);
timer = new Timer(0);
timerHandler = function (_arg1: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(_arg1:String):void{
sizeInvalidatingStyles[_arg1] = true;
}
public function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void{
var _local3:CSSStyleDeclaration = getStyleDeclaration(_arg1);
if (((_local3) && ((_local3.selectorRefCount > 0)))){
_local3.selectorRefCount--;
};
delete _selectors[_arg1];
if (_arg2){
styleDeclarationsChanged();
};
}
public function get selectors():Array{
var _local2:String;
var _local1:Array = [];
for (_local2 in _selectors) {
_local1.push(_local2);
};
return (_local1);
}
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(_arg1:IModuleInfo){
_arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true);
}
private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{
var _local2:StyleEvent = new StyleEvent(StyleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
dispatchEvent(_local2);
}
private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{
var _local2:StyleEvent = new StyleEvent(StyleEvent.COMPLETE);
dispatchEvent(_local2);
}
private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{
var _local2:StyleEvent = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
_local2.errorText = _arg1.errorText;
dispatchEvent(_local2);
}
}
class StyleModuleInfo {
public var errorHandler:Function;
public var readyHandler:Function;
public var module:IModuleInfo;
public var styleModule:IStyleModule;
private function StyleModuleInfo(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){
this.module = _arg1;
this.readyHandler = _arg2;
this.errorHandler = _arg3;
}
}
Section 156
//ColorUtil (mx.utils.ColorUtil)
package mx.utils {
public class ColorUtil {
mx_internal static const VERSION:String = "3.3.0.4589";
public static function adjustBrightness2(_arg1:uint, _arg2:Number):uint{
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (_arg2 == 0){
return (_arg1);
};
if (_arg2 < 0){
_arg2 = ((100 + _arg2) / 100);
_local3 = (((_arg1 >> 16) & 0xFF) * _arg2);
_local4 = (((_arg1 >> 8) & 0xFF) * _arg2);
_local5 = ((_arg1 & 0xFF) * _arg2);
} else {
_arg2 = (_arg2 / 100);
_local3 = ((_arg1 >> 16) & 0xFF);
_local4 = ((_arg1 >> 8) & 0xFF);
_local5 = (_arg1 & 0xFF);
_local3 = (_local3 + ((0xFF - _local3) * _arg2));
_local4 = (_local4 + ((0xFF - _local4) * _arg2));
_local5 = (_local5 + ((0xFF - _local5) * _arg2));
_local3 = Math.min(_local3, 0xFF);
_local4 = Math.min(_local4, 0xFF);
_local5 = Math.min(_local5, 0xFF);
};
return ((((_local3 << 16) | (_local4 << 8)) | _local5));
}
public static function rgbMultiply(_arg1:uint, _arg2:uint):uint{
var _local3:Number = ((_arg1 >> 16) & 0xFF);
var _local4:Number = ((_arg1 >> 8) & 0xFF);
var _local5:Number = (_arg1 & 0xFF);
var _local6:Number = ((_arg2 >> 16) & 0xFF);
var _local7:Number = ((_arg2 >> 8) & 0xFF);
var _local8:Number = (_arg2 & 0xFF);
return ((((((_local3 * _local6) / 0xFF) << 16) | (((_local4 * _local7) / 0xFF) << 8)) | ((_local5 * _local8) / 0xFF)));
}
public static function adjustBrightness(_arg1:uint, _arg2:Number):uint{
var _local3:Number = Math.max(Math.min((((_arg1 >> 16) & 0xFF) + _arg2), 0xFF), 0);
var _local4:Number = Math.max(Math.min((((_arg1 >> 8) & 0xFF) + _arg2), 0xFF), 0);
var _local5:Number = Math.max(Math.min(((_arg1 & 0xFF) + _arg2), 0xFF), 0);
return ((((_local3 << 16) | (_local4 << 8)) | _local5));
}
}
}//package mx.utils
Section 157
//GraphicsUtil (mx.utils.GraphicsUtil)
package mx.utils {
import flash.display.*;
public class GraphicsUtil {
mx_internal static const VERSION:String = "3.3.0.4589";
public static function drawRoundRectComplex(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number):void{
var _local10:Number = (_arg2 + _arg4);
var _local11:Number = (_arg3 + _arg5);
var _local12:Number = ((_arg4 < _arg5)) ? (_arg4 * 2) : (_arg5 * 2);
_arg6 = ((_arg6 < _local12)) ? _arg6 : _local12;
_arg7 = ((_arg7 < _local12)) ? _arg7 : _local12;
_arg8 = ((_arg8 < _local12)) ? _arg8 : _local12;
_arg9 = ((_arg9 < _local12)) ? _arg9 : _local12;
var _local13:Number = (_arg9 * 0.292893218813453);
var _local14:Number = (_arg9 * 0.585786437626905);
_arg1.moveTo(_local10, (_local11 - _arg9));
_arg1.curveTo(_local10, (_local11 - _local14), (_local10 - _local13), (_local11 - _local13));
_arg1.curveTo((_local10 - _local14), _local11, (_local10 - _arg9), _local11);
_local13 = (_arg8 * 0.292893218813453);
_local14 = (_arg8 * 0.585786437626905);
_arg1.lineTo((_arg2 + _arg8), _local11);
_arg1.curveTo((_arg2 + _local14), _local11, (_arg2 + _local13), (_local11 - _local13));
_arg1.curveTo(_arg2, (_local11 - _local14), _arg2, (_local11 - _arg8));
_local13 = (_arg6 * 0.292893218813453);
_local14 = (_arg6 * 0.585786437626905);
_arg1.lineTo(_arg2, (_arg3 + _arg6));
_arg1.curveTo(_arg2, (_arg3 + _local14), (_arg2 + _local13), (_arg3 + _local13));
_arg1.curveTo((_arg2 + _local14), _arg3, (_arg2 + _arg6), _arg3);
_local13 = (_arg7 * 0.292893218813453);
_local14 = (_arg7 * 0.585786437626905);
_arg1.lineTo((_local10 - _arg7), _arg3);
_arg1.curveTo((_local10 - _local14), _arg3, (_local10 - _local13), (_arg3 + _local13));
_arg1.curveTo(_local10, (_arg3 + _local14), _local10, (_arg3 + _arg7));
_arg1.lineTo(_local10, (_local11 - _arg9));
}
}
}//package mx.utils
Section 158
//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.3.0.4589";
private static var counter:int = 0;
public static function displayObjectToString(_arg1:DisplayObject):String{
var result:String;
var o:DisplayObject;
var s:String;
var indices:Array;
var displayObject = _arg1;
try {
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;
};
} catch(e:SecurityError) {
};
return (result);
}
public static function createUniqueName(_arg1:Object):String{
if (!_arg1){
return (null);
};
var _local2:String = getQualifiedClassName(_arg1);
var _local3:int = _local2.indexOf("::");
if (_local3 != -1){
_local2 = _local2.substr((_local3 + 2));
};
var _local4:int = _local2.charCodeAt((_local2.length - 1));
if ((((_local4 >= 48)) && ((_local4 <= 57)))){
_local2 = (_local2 + "_");
};
return ((_local2 + counter++));
}
}
}//package mx.utils
Section 159
//StringUtil (mx.utils.StringUtil)
package mx.utils {
public class StringUtil {
mx_internal static const VERSION:String = "3.3.0.4589";
public static function trim(_arg1:String):String{
if (_arg1 == null){
return ("");
};
var _local2:int;
while (isWhitespace(_arg1.charAt(_local2))) {
_local2++;
};
var _local3:int = (_arg1.length - 1);
while (isWhitespace(_arg1.charAt(_local3))) {
_local3--;
};
if (_local3 >= _local2){
return (_arg1.slice(_local2, (_local3 + 1)));
};
return ("");
}
public static function isWhitespace(_arg1:String):Boolean{
switch (_arg1){
case " ":
case "\t":
case "\r":
case "\n":
case "\f":
return (true);
default:
return (false);
};
}
public static function substitute(_arg1:String, ... _args):String{
var _local4:Array;
if (_arg1 == null){
return ("");
};
var _local3:uint = _args.length;
if ((((_local3 == 1)) && ((_args[0] is Array)))){
_local4 = (_args[0] as Array);
_local3 = _local4.length;
} else {
_local4 = _args;
};
var _local5:int;
while (_local5 < _local3) {
_arg1 = _arg1.replace(new RegExp((("\\{" + _local5) + "\\}"), "g"), _local4[_local5]);
_local5++;
};
return (_arg1);
}
public static function trimArrayElements(_arg1:String, _arg2:String):String{
var _local3:Array;
var _local4:int;
var _local5:int;
if (((!((_arg1 == ""))) && (!((_arg1 == null))))){
_local3 = _arg1.split(_arg2);
_local4 = _local3.length;
_local5 = 0;
while (_local5 < _local4) {
_local3[_local5] = StringUtil.trim(_local3[_local5]);
_local5++;
};
if (_local4 > 0){
_arg1 = _local3.join(_arg2);
};
};
return (_arg1);
}
}
}//package mx.utils
Section 160
//_activeButtonStyleStyle (_activeButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _activeButtonStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 161
//_activeTabStyleStyle (_activeTabStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _activeTabStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 162
//_alertButtonStyleStyle (_alertButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _alertButtonStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 163
//_comboDropdownStyle (_comboDropdownStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _comboDropdownStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 164
//_dataGridStylesStyle (_dataGridStylesStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _dataGridStylesStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 165
//_dateFieldPopupStyle (_dateFieldPopupStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _dateFieldPopupStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 166
//_errorTipStyle (_errorTipStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _errorTipStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 167
//_globalStyle (_globalStyle)
package {
import mx.core.*;
import mx.styles.*;
import mx.skins.halo.*;
public class _globalStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 168
//_headerDateTextStyle (_headerDateTextStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _headerDateTextStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 169
//_headerDragProxyStyleStyle (_headerDragProxyStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _headerDragProxyStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 170
//_linkButtonStyleStyle (_linkButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _linkButtonStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 171
//_opaquePanelStyle (_opaquePanelStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _opaquePanelStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 172
//_plainStyle (_plainStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _plainStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 173
//_popUpMenuStyle (_popUpMenuStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _popUpMenuStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 174
//_richTextEditorTextAreaStyleStyle (_richTextEditorTextAreaStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _richTextEditorTextAreaStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 175
//_swatchPanelTextFieldStyle (_swatchPanelTextFieldStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _swatchPanelTextFieldStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 176
//_textAreaHScrollBarStyleStyle (_textAreaHScrollBarStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _textAreaHScrollBarStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 177
//_textAreaVScrollBarStyleStyle (_textAreaVScrollBarStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _textAreaVScrollBarStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 178
//_todayStyleStyle (_todayStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _todayStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 179
//_weekDayStyleStyle (_weekDayStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _weekDayStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 180
//_windowStatusStyle (_windowStatusStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _windowStatusStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 181
//_windowStylesStyle (_windowStylesStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _windowStylesStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
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 182
//AtomicSuperBoss (AtomicSuperBoss)
package {
import com.adamatomic.flixel.*;
import com.mirosurabu.AtomicSuperBoss.*;
public class AtomicSuperBoss extends FlxGame {
public function AtomicSuperBoss(){
super(160, 160, Intro, 4, 0, false);
Global.configureKeys();
Global.loadShared();
Global.loadHighscores();
}
}
}//package
Section 183
//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 184
//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 185
//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 186
//HandLogo (HandLogo)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class HandLogo extends MovieClip {
public var mcHand:MovieClip;
public function HandLogo(){
addFrameScript(0, frame1);
}
public function onMouseRollOver(_arg1:Event):void{
mcHand.gotoAndPlay(1);
}
function frame1(){
mouseEnabled = false;
mcHand.useHandCursor = true;
mcHand.buttonMode = true;
mcHand.stop();
mcHand.addEventListener(MouseEvent.CLICK, onLink);
mcHand.addEventListener(MouseEvent.ROLL_OVER, onMouseRollOver);
mcHand.addEventListener(MouseEvent.ROLL_OUT, onMouseRollOut);
}
public function onLink(_arg1:Event):void{
navigateToURL(new URLRequest("http://gimme5games.com/?ref=atomic"), "_blank");
}
public function onMouseRollOut(_arg1:Event):void{
mcHand.gotoAndStop(1);
}
}
}//package
Section 187
//HiScoreRow (HiScoreRow)
package {
public class HiScoreRow {
private var name:String;// = ""
private var score:Number;// = 0
private var levelId:Number;// = 0
public function HiScoreRow(){
levelId = 0;
name = "";
score = 0;
super();
}
public function getName():String{
return (this.name);
}
public function getLevelId():Number{
return (this.levelId);
}
public function toString():String{
return ((((((("[" + getLevelId()) + ",") + getName()) + ",") + getScore()) + "]"));
}
public function setName(_arg1:String):void{
this.name = _arg1;
}
public function setScore(_arg1:Number):void{
this.score = _arg1;
}
public function getScore():Number{
return (this.score);
}
public function setLevelId(_arg1:Number):void{
this.levelId = _arg1;
}
}
}//package
Section 188
//HiScores (HiScores)
package {
import flash.events.*;
import flash.display.*;
import com.hexagonstar.util.debug.*;
import flash.net.*;
import flash.external.*;
public dynamic class HiScores extends MovieClip {
private var fbUserExists:Boolean;
private var SKIN_ID:int;// = 0
private var DEBUG:Boolean;// = true
private var KEY:String;// = "rocket"
private var NUM_SKINS:int;// = 2
private var VERSION_NUM:String;// = "1.0.1"
private var autoEntryScreen:MovieClip;// = null
private var g5UserExists:Boolean;
private var theSkin:MovieClip;// = null
private var g5User:Object;
private var caller:Object;
public var movSkin0:MovieClip;
private var score:Number;
public var movSkin1:MovieClip;
private var lowIsBest:Boolean;
private var gameId:Number;
private var infoScreen:MovieClip;// = null
private var fbSessionKey:String;
private var fbUser:Object;
private var levelId:Number;
private var fbAppId:Number;
private var msg1:String;
private var msg2:String;
private var entryScreen:MovieClip;// = null
private var gameCode:String;
private static var SERVER_URLS:Array = ["http://www.gimme5games.com", "http://www.differencegames.com"];
private static var HS_SERVLET_URL:String = "";
private static var HI_SCORE_URL:String = "";
public static var G5HS_SERVER_ERROR:Number = -1;
public static var HS_DATA_DELIM_COL:String = "/";
private static var OP_HS_GET_DATA:Number = 1;
private static var SERVER_URL:String = "";
public static var G5HS_TOO_MANY_SCORES:Number = -2;
public static var HS_DATA_DELIM_ROW:String = ">";
public static var G5HS_SUCCESS:Number = 1;
public function HiScores(){
DEBUG = true;
VERSION_NUM = "1.0.1";
SKIN_ID = 0;
NUM_SKINS = 2;
KEY = "rocket";
theSkin = null;
entryScreen = null;
autoEntryScreen = null;
infoScreen = null;
super();
debug((("[G5AS3HiScores VERSION " + VERSION_NUM) + "]"));
this.visible = false;
setSkin(0);
}
public function setSkin(_arg1:Number):void{
this.SKIN_ID = _arg1;
SERVER_URL = SERVER_URLS[this.SKIN_ID];
HS_SERVLET_URL = (SERVER_URL + "/servlet/hiServlet");
HI_SCORE_URL = (SERVER_URL + "/index.jsp?id=");
}
public function submitHiScoreHandler(_arg1:Event):void{
var loader:URLLoader;
var resCode:Number;
var event = _arg1;
loader = URLLoader(event.target);
resCode = loader.data.res;
if (resCode == -1){
showInfoMessage("Could not store hi-score details. Click on back, generate a new security code and re-submit.", true);
} else {
if (resCode == 0){
showInfoMessage("Sorry, a better score already exists with that name.", false);
} else {
if (resCode == 1){
showInfoMessage("Congratulations! You made it into the\nhi-score table.", false);
try {
if (fbUserExists){
ExternalInterface.call("setFBHiScoresRefresh", true);
};
} catch(err:Error) {
};
};
};
};
}
public function enterAnotherName():void{
this.g5UserExists = false;
autoEntryScreen.visible = false;
showEntryScreen();
}
public function secCodeLoad():void{
var _local1:Loader;
var _local2:String;
_local1 = new Loader();
_local1.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, secCodeLoadError);
_local2 = ((HS_SERVLET_URL + "?type=genCode&cachebuster=") + new Date().getTime());
_local1.load(new URLRequest(_local2));
entryScreen["movCode"].addChild(_local1);
}
public function showInfoMessage(_arg1:String, _arg2:Boolean):void{
infoScreen["txtInfo"].text = _arg1;
infoScreen["btnBack"].visible = _arg2;
infoScreen["btnView"].visible = ((!(_arg2)) && (!(fbUserExists)));
}
private function showEntryScreen():void{
entryScreen["txtMsg1"].text = msg1;
entryScreen["txtMsg2"].text = msg2;
entryScreen["txtName"].text = "";
entryScreen["txtCode"].text = "";
entryScreen.visible = true;
secCodeLoad();
}
public function getHiScoreData(_arg1:Object, _arg2:Number, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:Boolean):void{
var maxRecs:Number;
var vars:URLVariables;
var request:URLRequest;
var loader:URLLoader;
var caller = _arg1;
var gameId = _arg2;
var startPos = _arg3;
var endPos = _arg4;
var startLevel = _arg5;
var endLevel = _arg6;
var lowIsBest = _arg7;
this.caller = caller;
maxRecs = (((endPos + 1) - startPos) * ((endLevel + 1) - startLevel));
if (maxRecs <= 100){
vars = new URLVariables();
vars.op = OP_HS_GET_DATA;
vars.gameId = gameId;
vars.startPos = startPos;
vars.endPos = endPos;
vars.startLevel = startLevel;
vars.endLevel = endLevel;
vars.lowIsBest = lowIsBest;
request = new URLRequest(HS_SERVLET_URL);
loader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
request.data = vars;
request.method = URLRequestMethod.POST;
loader.addEventListener(Event.COMPLETE, function (_arg1:Event):void{
loadHandler(true, _arg1);
});
loader.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:Event):void{
loadHandler(false, _arg1);
});
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function (_arg1:Event):void{
loadHandler(false, _arg1);
});
loader.load(request);
} else {
caller.getHiScoreData_Callback(G5HS_TOO_MANY_SCORES, null);
};
}
private function debug(_arg1:String):void{
if (!DEBUG){
return;
};
trace(_arg1);
Debug.trace(_arg1);
}
public function submitScore():void{
var _local1:Boolean;
var _local2:String;
var _local3:String;
var _local4:Number;
var _local5:Number;
var _local6:URLVariables;
var _local7:URLRequest;
var _local8:URLLoader;
entryScreen.visible = false;
autoEntryScreen.visible = false;
infoScreen.visible = true;
_local1 = true;
if (((!(this.g5UserExists)) && ((entryScreen["txtName"].text.length == 0)))){
showInfoMessage("Please enter your name.", true);
} else {
if (((!(this.g5UserExists)) && (!((entryScreen["txtCode"].text.length == 5))))){
showInfoMessage("Please enter all 5 letters of the security code.", true);
} else {
showInfoMessage("Submitting hi-score details to the server, please wait.", true);
infoScreen["btnBack"].visible = false;
_local1 = false;
};
};
if (!_local1){
_local2 = "save|";
if (this.g5UserExists){
_local2 = (_local2 + ((((((("----------|-----|" + score) + "|") + gameId) + "|") + levelId) + "|") + this.g5User[0]));
} else {
if (this.fbUserExists){
_local2 = (_local2 + ((((((("----------|-----|" + score) + "|") + gameId) + "|") + levelId) + "|-----|") + this.fbUser[0]));
} else {
_local2 = (_local2 + ((((((((entryScreen["txtName"].text + "|") + entryScreen["txtCode"].text) + "|") + score) + "|") + gameId) + "|") + levelId));
};
};
_local3 = "";
_local4 = 0;
_local5 = 0;
while (_local4 < _local2.length) {
if (_local5 >= KEY.length){
_local5 = 0;
};
_local3 = (_local3 + String.fromCharCode(((_local2.charCodeAt(_local4) ^ KEY.charCodeAt(_local5)) + 1)));
_local4++;
_local5++;
};
_local6 = new URLVariables();
_local6.ffdata = _local3;
_local6.lowIsBest = lowIsBest;
if (this.fbUserExists){
_local6.fbAppId = this.fbAppId;
_local6.fbSessionKey = this.fbSessionKey;
};
_local7 = new URLRequest(HS_SERVLET_URL);
_local8 = new URLLoader();
_local8.dataFormat = URLLoaderDataFormat.VARIABLES;
_local7.data = _local6;
_local7.method = URLRequestMethod.POST;
_local8.addEventListener(Event.COMPLETE, submitHiScoreHandler);
_local8.addEventListener(IOErrorEvent.IO_ERROR, submitHiScoreError);
_local8.load(_local7);
};
}
public function secCodeLoadError(_arg1:IOErrorEvent):void{
entryScreen.visible = false;
infoScreen.visible = true;
showInfoMessage("Could not generate a security code. Click on back and try to refresh the code window.", true);
}
public function setDetails(_arg1:Number, _arg2:Number, _arg3:String, _arg4:Boolean, _arg5:Number, _arg6:String, _arg7:String):void{
var i:Number;
var gameId = _arg1;
var levelId = _arg2;
var gameCode = _arg3;
var lowIsBest = _arg4;
var score = _arg5;
var msg1 = _arg6;
var msg2 = _arg7;
debug(((((((((("[G5AS3HiScores::setDetails], gameId = " + gameId) + ", levelId = ") + levelId) + ", gameCode = ") + gameCode) + ", lowIsBest = ") + lowIsBest) + ", score = ") + score));
try {
this.g5User = ExternalInterface.call("getG5User");
this.g5UserExists = ((g5User == null)) ? false : !(isNaN(this.g5User[0]));
if (g5UserExists){
debug(((("[G5AS3HiScores::setDetails], g5UserExists, userId = " + this.g5User[0]) + ", userName = ") + this.g5User[1]));
} else {
this.fbUser = ExternalInterface.call("getFBUser");
this.fbUserExists = ((fbUser == null)) ? false : !(isNaN(this.fbUser[0]));
this.fbAppId = ExternalInterface.call("getFBAppId");
this.fbSessionKey = ExternalInterface.call("getFBSessionKey");
if (fbUserExists){
debug(((((((("[G5AS3HiScores::setDetails], fbUserExists, userId = " + this.fbUser[0]) + ", userName = ") + this.fbUser[1]) + ", appId = ") + this.fbAppId) + ", sessionKey = ") + this.fbSessionKey));
};
};
} catch(err:Error) {
};
this.gameId = gameId;
this.levelId = levelId;
this.gameCode = gameCode;
this.lowIsBest = lowIsBest;
this.score = score;
this.msg1 = msg1;
this.msg2 = msg2;
i = 0;
while (i < NUM_SKINS) {
this[("movSkin" + i)].visible = false;
i = (i + 1);
};
theSkin = this[("movSkin" + SKIN_ID)];
theSkin.visible = true;
entryScreen = theSkin["movEntryScreen"];
autoEntryScreen = theSkin["movAutoEntryScreen"];
infoScreen = theSkin["movInfoScreen"];
entryScreen.visible = false;
autoEntryScreen.visible = false;
infoScreen.visible = false;
entryScreen["btnRefreshCode"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
entryScreen["btnSubmit"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
autoEntryScreen["btnSubmit"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
autoEntryScreen["btnEnterAnother"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
infoScreen["btnView"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
infoScreen["btnBack"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
if (((this.g5UserExists) || (this.fbUserExists))){
showAutoEntryScreen();
} else {
showEntryScreen();
};
this.visible = true;
}
public function loadHandler(_arg1:Boolean, _arg2:Event):void{
var _local3:URLLoader;
var _local4:URLVariables;
var _local5:Array;
var _local6:Array;
var _local7:Number;
var _local8:Array;
var _local9:HiScoreRow;
if (_arg1){
_local3 = URLLoader(_arg2.target);
_local4 = new URLVariables(_local3.data);
_local5 = new Array();
_local6 = _local3.data.res.split(HS_DATA_DELIM_ROW);
_local7 = 0;
while (_local7 < _local6.length) {
_local8 = _local6[_local7].split(HS_DATA_DELIM_COL);
if (_local8[1] != null){
_local9 = new HiScoreRow();
_local9.setLevelId(_local8[0]);
_local9.setName(_local8[1]);
_local9.setScore(_local8[2]);
_local5.push(_local9);
};
_local7++;
};
caller.getHiScoreData_Callback(G5HS_SUCCESS, _local5);
} else {
caller.getHiScoreData_Callback(G5HS_SERVER_ERROR, null);
};
}
public function onButtonPress(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "btnRefreshCode":
secCodeLoad();
break;
case "btnSubmit":
submitScore();
break;
case "btnEnterAnother":
enterAnotherName();
break;
case "btnView":
viewScore();
break;
case "btnBack":
back();
break;
};
}
private function showAutoEntryScreen():void{
autoEntryScreen["txtMsg1"].text = msg1;
autoEntryScreen["txtMsg2"].text = msg2;
autoEntryScreen["txtName"].text = (g5UserExists) ? g5User[1] : fbUser[1];
autoEntryScreen["btnEnterAnother"].visible = g5UserExists;
autoEntryScreen.visible = true;
}
public function submitHiScoreError(_arg1:IOErrorEvent):void{
showInfoMessage("A serious problem was encountered with the server, please try again in a few minutes.", true);
}
public function viewScore():void{
var _local1:URLRequest;
_local1 = null;
if (this.g5UserExists){
_local1 = new URLRequest(((((((((HI_SCORE_URL + gameCode) + "_hs") + "&userId=") + this.g5User[0]) + "&levelId=") + levelId) + "&cachebuster=") + new Date().getTime()));
} else {
_local1 = new URLRequest(((((((((HI_SCORE_URL + gameCode) + "_hs") + "&name=") + entryScreen["txtName"].text) + "&levelId=") + levelId) + "&cachebuster=") + new Date().getTime()));
};
navigateToURL(_local1, "_blank");
}
public function back():void{
setDetails(this.gameId, this.levelId, this.gameCode, this.lowIsBest, this.score, this.msg1, this.msg2);
}
}
}//package
Section 189
//InvisibleButton (InvisibleButton)
package {
import flash.display.*;
public dynamic class InvisibleButton extends SimpleButton {
}
}//package
Section 190
//JWButton (JWButton)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class JWButton extends MovieClip {
public function JWButton(){
addFrameScript(0, frame1);
}
function frame1(){
useHandCursor = true;
buttonMode = true;
addEventListener(MouseEvent.CLICK, onLink);
}
public function onLink(_arg1:Event):void{
navigateToURL(new URLRequest("http://www.slordig.com"), "_blank");
}
}
}//package
Section 191
//MochiBot (MochiBot)
package {
import flash.system.*;
import flash.display.*;
import flash.net.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
if (Security.sandboxType == "localWithFile"){
return (null);
};
var _local3:MochiBot = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
var _local4 = "http://core.mochibot.com/my/core.swf";
var _local5:URLVariables = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
var _local6:String = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
var _local7:URLRequest = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
var _local8:Loader = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 192
//movLoader (movLoader)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.net.*;
public dynamic class movLoader extends MovieClip {
public var movLoadingBar:MovieClip;
public var btnLink:SimpleButton;
public var txtPercent:TextField;
public function movLoader(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
btnLink.addEventListener(MouseEvent.CLICK, onLink);
}
public function onLink(_arg1:Event):void{
navigateToURL(new URLRequest("http://gimme5games.com/?ref=atomic"), "_blank");
}
}
}//package
Section 193
//movSplash (movSplash)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class movSplash extends MovieClip {
public var hand:MovieClip;
public var btnLink:SimpleButton;
public var btnPlay:SimpleButton;
public function movSplash(){
addFrameScript(0, frame1, 98, frame99);
}
function frame1(){
mouseEnabled = false;
btnLink.addEventListener(MouseEvent.CLICK, onLink);
}
public function onLink(_arg1:Event):void{
navigateToURL(new URLRequest("http://gimme5games.com/?ref=atomic"), "_blank");
}
function frame99(){
stop();
}
}
}//package
Section 194
//Preloader (Preloader)
package {
import com.adamatomic.flixel.*;
import com.adamatomic.flixel.data.*;
public class Preloader extends FlxFactory {
public function Preloader():void{
myURLs = new FlxArray();
className = "AtomicSuperBoss";
super();
}
}
}//package
Section 195
//presentedLogo (presentedLogo)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class presentedLogo extends MovieClip {
public var btnLogo:SimpleButton;
public function presentedLogo(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
btnLogo.addEventListener(MouseEvent.CLICK, onLink);
}
public function onLink(_arg1:Event):void{
navigateToURL(new URLRequest("http://gimme5games.com/?ref=atomic"), "_blank");
}
}
}//package
Section 196
//SndBallExplo (SndBallExplo)
package {
import flash.media.*;
public dynamic class SndBallExplo extends Sound {
}
}//package
Section 197
//SndConfirm (SndConfirm)
package {
import flash.media.*;
public dynamic class SndConfirm extends Sound {
}
}//package
Section 198
//SndCurly (SndCurly)
package {
import flash.media.*;
public dynamic class SndCurly extends Sound {
}
}//package
Section 199
//SndExplo (SndExplo)
package {
import flash.media.*;
public dynamic class SndExplo extends Sound {
}
}//package
Section 200
//SndFire1 (SndFire1)
package {
import flash.media.*;
public dynamic class SndFire1 extends Sound {
}
}//package
Section 201
//SndFire2 (SndFire2)
package {
import flash.media.*;
public dynamic class SndFire2 extends Sound {
}
}//package
Section 202
//SndFire3 (SndFire3)
package {
import flash.media.*;
public dynamic class SndFire3 extends Sound {
}
}//package
Section 203
//SndFire4 (SndFire4)
package {
import flash.media.*;
public dynamic class SndFire4 extends Sound {
}
}//package
Section 204
//SndFire5 (SndFire5)
package {
import flash.media.*;
public dynamic class SndFire5 extends Sound {
}
}//package
Section 205
//SndFire6 (SndFire6)
package {
import flash.media.*;
public dynamic class SndFire6 extends Sound {
}
}//package
Section 206
//SndMiner (SndMiner)
package {
import flash.media.*;
public dynamic class SndMiner extends Sound {
}
}//package
Section 207
//SndMissile (SndMissile)
package {
import flash.media.*;
public dynamic class SndMissile extends Sound {
}
}//package
Section 208
//SndMus1 (SndMus1)
package {
import flash.media.*;
public dynamic class SndMus1 extends Sound {
}
}//package
Section 209
//SndMus2 (SndMus2)
package {
import flash.media.*;
public dynamic class SndMus2 extends Sound {
}
}//package
Section 210
//SndPDie (SndPDie)
package {
import flash.media.*;
public dynamic class SndPDie extends Sound {
}
}//package
Section 211
//SndPShoot (SndPShoot)
package {
import flash.media.*;
public dynamic class SndPShoot extends Sound {
}
}//package
Section 212
//sndSlap (sndSlap)
package {
import flash.media.*;
public dynamic class sndSlap extends Sound {
}
}//package
Section 213
//SndSplitter (SndSplitter)
package {
import flash.media.*;
public dynamic class SndSplitter extends Sound {
}
}//package
Section 214
//sponsoredLogo (sponsoredLogo)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class sponsoredLogo extends MovieClip {
public var btnLogo:SimpleButton;
public function sponsoredLogo(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
btnLogo.addEventListener(MouseEvent.CLICK, onLink);
}
public function onLink(_arg1:Event):void{
navigateToURL(new URLRequest("http://gimme5games.com/?ref=atomic"), "_blank");
}
}
}//package