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

<div style="position:absolute;top:-99px;left:-99px;"><img src="https://tools.swfchan.com/stathit.asp?noj=FRM15039811-8DC&rnd=15039811" width="1" height="1"></div>

armorgames defem-6186.swf

This is the info page for
Flash #263639

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


ActionScript [AS3]
Section 1
//BitmapAsset (mx.core.BitmapAsset) package mx.core { import flash.display.*; public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject { mx_internal static const VERSION:String = "3.4.0.9271"; 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 2
//EdgeMetrics (mx.core.EdgeMetrics) package mx.core { public class EdgeMetrics { public var top:Number; public var left:Number; public var bottom:Number; public var right:Number; mx_internal static const VERSION:String = "3.4.0.9271"; 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 3
//FlexBitmap (mx.core.FlexBitmap) package mx.core { import flash.display.*; import mx.utils.*; public class FlexBitmap extends Bitmap { mx_internal static const VERSION:String = "3.4.0.9271"; 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 4
//FlexLoader (mx.core.FlexLoader) package mx.core { import flash.display.*; import mx.utils.*; public class FlexLoader extends Loader { mx_internal static const VERSION:String = "3.4.0.9271"; 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 5
//FlexShape (mx.core.FlexShape) package mx.core { import flash.display.*; import mx.utils.*; public class FlexShape extends Shape { mx_internal static const VERSION:String = "3.4.0.9271"; 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 6
//FlexVersion (mx.core.FlexVersion) package mx.core { import mx.resources.*; public class FlexVersion { public static const VERSION_2_0_1:uint = 33554433; public static const CURRENT_VERSION:uint = 50331648; public static const VERSION_3_0:uint = 50331648; public static const VERSION_2_0:uint = 33554432; public static const VERSION_ALREADY_READ:String = "versionAlreadyRead"; public static const VERSION_ALREADY_SET:String = "versionAlreadySet"; mx_internal static const VERSION:String = "3.4.0.9271"; 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 7
//FontAsset (mx.core.FontAsset) package mx.core { import flash.text.*; public class FontAsset extends Font implements IFlexAsset { mx_internal static const VERSION:String = "3.4.0.9271"; } }//package mx.core
Section 8
//IBorder (mx.core.IBorder) package mx.core { public interface IBorder { function get borderMetrics():EdgeMetrics; } }//package mx.core
Section 9
//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 10
//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 11
//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 12
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 13
//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 14
//IFlexModuleFactory (mx.core.IFlexModuleFactory) package mx.core { import flash.utils.*; public interface IFlexModuleFactory { function get preloadedRSLs():Dictionary; function allowInsecureDomain(... _args):void; function create(... _args):Object; function allowDomain(... _args):void; function info():Object; } }//package mx.core
Section 15
//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 16
//IProgrammaticSkin (mx.core.IProgrammaticSkin) package mx.core { public interface IProgrammaticSkin { function validateNow():void; function validateDisplayList():void; } }//package mx.core
Section 17
//IRawChildrenContainer (mx.core.IRawChildrenContainer) package mx.core { public interface IRawChildrenContainer { function get rawChildren():IChildList; } }//package mx.core
Section 18
//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 19
//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 20
//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 21
//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 22
//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 23
//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 24
//Singleton (mx.core.Singleton) package mx.core { public class Singleton { mx_internal static const VERSION:String = "3.4.0.9271"; 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 25
//SoundAsset (mx.core.SoundAsset) package mx.core { import flash.media.*; public class SoundAsset extends Sound implements IFlexAsset { mx_internal static const VERSION:String = "3.4.0.9271"; } }//package mx.core
Section 26
//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 27
//ModuleEvent (mx.events.ModuleEvent) package mx.events { import flash.events.*; import mx.modules.*; public class ModuleEvent extends ProgressEvent { public var errorText:String; private var _module:IModuleInfo; public static const READY:String = "ready"; public static const ERROR:String = "error"; public static const PROGRESS:String = "progress"; mx_internal static const VERSION:String = "3.4.0.9271"; 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 28
//ResourceEvent (mx.events.ResourceEvent) package mx.events { import flash.events.*; public class ResourceEvent extends ProgressEvent { public var errorText:String; mx_internal static const VERSION:String = "3.4.0.9271"; 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 29
//StyleEvent (mx.events.StyleEvent) package mx.events { import flash.events.*; public class StyleEvent extends ProgressEvent { public var errorText:String; mx_internal static const VERSION:String = "3.4.0.9271"; 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 30
//RectangularDropShadow (mx.graphics.RectangularDropShadow) package mx.graphics { import mx.core.*; import flash.display.*; import flash.geom.*; import mx.utils.*; import flash.filters.*; public class RectangularDropShadow { private var leftShadow:BitmapData; private var _tlRadius:Number;// = 0 private var _trRadius:Number;// = 0 private var _angle:Number;// = 45 private var topShadow:BitmapData; private var _distance:Number;// = 4 private var rightShadow:BitmapData; private var _alpha:Number;// = 0.4 private var shadow:BitmapData; private var _brRadius:Number;// = 0 private var _blRadius:Number;// = 0 private var _color:int;// = 0 private var bottomShadow:BitmapData; private var changed:Boolean;// = true mx_internal static const VERSION:String = "3.4.0.9271"; 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 31
//IFocusManager (mx.managers.IFocusManager) package mx.managers { import mx.core.*; import flash.events.*; import flash.display.*; public interface IFocusManager { function get focusPane():Sprite; function getFocus():IFocusManagerComponent; function deactivate():void; function set defaultButton(_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 32
//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 33
//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 34
//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 35
//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 36
//ISystemManager (mx.managers.ISystemManager) package mx.managers { import mx.core.*; import flash.events.*; import flash.display.*; import flash.geom.*; import flash.text.*; public interface ISystemManager extends IEventDispatcher, IChildList, IFlexModuleFactory { function set focusPane(_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 37
//SystemManagerGlobals (mx.managers.SystemManagerGlobals) package mx.managers { public class SystemManagerGlobals { public static var topLevelSystemManagers:Array = []; public static var changingListenersInOtherSystemManagers:Boolean; public static var bootstrapLoaderInfoURL:String; public static var showMouseCursor:Boolean; public static var dispatchingEventToOtherSystemManagers:Boolean; } }//package mx.managers
Section 38
//IModuleInfo (mx.modules.IModuleInfo) package mx.modules { import mx.core.*; import flash.events.*; import flash.utils.*; import flash.system.*; 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 39
//ModuleManager (mx.modules.ModuleManager) package mx.modules { import mx.core.*; public class ModuleManager { mx_internal static const VERSION:String = "3.4.0.9271"; 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 mx.core.*; import flash.events.*; import flash.utils.*; import flash.system.*; import flash.display.*; import mx.events.*; 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; var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.READY); _local2.bytesLoaded = loader.contentLoaderInfo.bytesLoaded; _local2.bytesTotal = loader.contentLoaderInfo.bytesTotal; clearLoader(); dispatchEvent(_local2); } 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 40
//ModuleManagerGlobals (mx.modules.ModuleManagerGlobals) package mx.modules { public class ModuleManagerGlobals { public static var managerSingleton:Object = null; } }//package mx.modules
Section 41
//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 42
//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 43
//IResourceModule (mx.resources.IResourceModule) package mx.resources { public interface IResourceModule { function get resourceBundles():Array; } }//package mx.resources
Section 44
//LocaleSorter (mx.resources.LocaleSorter) package mx.resources { public class LocaleSorter { mx_internal static const VERSION:String = "3.4.0.9271"; 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 45
//ResourceBundle (mx.resources.ResourceBundle) package mx.resources { import mx.core.*; import flash.system.*; import mx.utils.*; public class ResourceBundle implements IResourceBundle { mx_internal var _locale:String; private var _content:Object; mx_internal var _bundleName:String; mx_internal static const VERSION:String = "3.4.0.9271"; 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 46
//ResourceManager (mx.resources.ResourceManager) package mx.resources { import mx.core.*; public class ResourceManager { mx_internal static const VERSION:String = "3.4.0.9271"; 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 47
//ResourceManagerImpl (mx.resources.ResourceManagerImpl) package mx.resources { import mx.core.*; import flash.events.*; import flash.utils.*; import flash.system.*; import mx.modules.*; import mx.events.*; import mx.utils.*; public class ResourceManagerImpl extends EventDispatcher implements IResourceManager { private var resourceModules:Object; private var initializedForNonFrameworkApp:Boolean;// = false private var localeMap:Object; private var _localeChain:Array; mx_internal static const VERSION:String = "3.4.0.9271"; 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{ var _local4:Array; var _local5:int; var _local6:int; var _local7:String; var _local8:String; var _local3:ResourceModuleInfo = resourceModules[_arg1]; if (!_local3){ return; }; if (_local3.resourceModule){ _local4 = _local3.resourceModule.resourceBundles; if (_local4){ _local5 = _local4.length; _local6 = 0; while (_local6 < _local5) { _local7 = _local4[_local6].locale; _local8 = _local4[_local6].bundleName; removeResourceBundle(_local7, _local8); _local6++; }; }; }; resourceModules[_arg1] = null; delete resourceModules[_arg1]; _local3.moduleInfo.unload(); if (_arg2){ this.update(); }; } public static function getInstance():IResourceManager{ if (!instance){ instance = new (ResourceManagerImpl); }; return (instance); } } }//package mx.resources import flash.events.*; import mx.modules.*; import mx.events.*; class ResourceModuleInfo { public var resourceModule:IResourceModule; public var errorHandler:Function; public var readyHandler:Function; public var moduleInfo:IModuleInfo; private function ResourceModuleInfo(_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 48
//HaloBorder (mx.skins.halo.HaloBorder) package mx.skins.halo { import mx.core.*; import mx.styles.*; import flash.display.*; import mx.skins.*; import mx.graphics.*; import mx.utils.*; public class HaloBorder extends RectangularBorder { mx_internal var radiusObj:Object; mx_internal var backgroundHole:Object; mx_internal var radius:Number; mx_internal var bRoundedCorners:Boolean; mx_internal var backgroundColor:Object; private var dropShadow:RectangularDropShadow; protected var _borderMetrics:EdgeMetrics; mx_internal var backgroundAlphaName:String; mx_internal static const VERSION:String = "3.4.0.9271"; 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:Number; var _local11:Array; var _local12: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 = Math.max((radius - Math.max(_local6.top, _local6.left, _local6.right)), 0); _local10 = (bRoundedCorners) ? Math.max((radius - Math.max(_local6.bottom, _local6.left, _local6.right)), 0) : 0; radiusObj = {tl:_local9, tr:_local9, bl:_local10, br:_local10}; 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)))){ _local11 = getStyle("highlightAlphas"); _local12 = (_local11) ? _local11[0] : 0.3; drawRoundRect(0, 0, _arg1, _arg2, {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, _local12, 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 49
//HaloFocusRect (mx.skins.halo.HaloFocusRect) package mx.skins.halo { import mx.styles.*; import flash.display.*; import mx.skins.*; import mx.utils.*; public class HaloFocusRect extends ProgrammaticSkin implements IStyleClient { private var _focusColor:Number; mx_internal static const VERSION:String = "3.4.0.9271"; 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(); if (_local3){ 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 50
//Border (mx.skins.Border) package mx.skins { import mx.core.*; public class Border extends ProgrammaticSkin implements IBorder { mx_internal static const VERSION:String = "3.4.0.9271"; public function get borderMetrics():EdgeMetrics{ return (EdgeMetrics.EMPTY); } } }//package mx.skins
Section 51
//ProgrammaticSkin (mx.skins.ProgrammaticSkin) package mx.skins { import mx.core.*; import mx.styles.*; import flash.display.*; import flash.geom.*; import mx.managers.*; import mx.utils.*; public class ProgrammaticSkin extends FlexShape implements IFlexDisplayObject, IInvalidating, ILayoutManagerClient, ISimpleStyleClient, IProgrammaticSkin { private var _initialized:Boolean;// = false private var _height:Number; private var invalidateDisplayListFlag:Boolean;// = false private var _styleName:IStyleClient; private var _nestLevel:int;// = 0 private var _processedDescriptors:Boolean;// = false private var _updateCompletePendingFlag:Boolean;// = true private var _width:Number; mx_internal static const VERSION:String = "3.4.0.9271"; 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 52
//RectangularBorder (mx.skins.RectangularBorder) package mx.skins { import mx.core.*; import flash.events.*; import flash.utils.*; import mx.styles.*; import flash.system.*; import flash.display.*; import flash.geom.*; import mx.resources.*; import flash.net.*; public class RectangularBorder extends Border implements IRectangularBorder { private var backgroundImage:DisplayObject; private var backgroundImageHeight:Number; private var _backgroundImageBounds:Rectangle; private var backgroundImageStyle:Object; private var backgroundImageWidth:Number; private var resourceManager:IResourceManager; mx_internal static const VERSION:String = "3.4.0.9271"; 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{ if (((((_backgroundImageBounds) && (_arg1))) && (_backgroundImageBounds.equals(_arg1)))){ return; }; _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 53
//CSSStyleDeclaration (mx.styles.CSSStyleDeclaration) package mx.styles { import mx.core.*; import flash.events.*; import flash.utils.*; import flash.display.*; import mx.managers.*; public class CSSStyleDeclaration extends EventDispatcher { mx_internal var effects:Array; protected var overrides:Object; public var defaultFactory:Function; public var factory:Function; mx_internal var selectorRefCount:int;// = 0 private var styleManager:IStyleManager2; private var clones:Dictionary; mx_internal static const VERSION:String = "3.4.0.9271"; 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 54
//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 55
//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 56
//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 57
//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 58
//IStyleModule (mx.styles.IStyleModule) package mx.styles { public interface IStyleModule { function unload():void; } }//package mx.styles
Section 59
//StyleManager (mx.styles.StyleManager) package mx.styles { import mx.core.*; import flash.events.*; import flash.system.*; public class StyleManager { mx_internal static const VERSION:String = "3.4.0.9271"; 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 60
//StyleManagerImpl (mx.styles.StyleManagerImpl) package mx.styles { import mx.core.*; import flash.events.*; import flash.utils.*; import flash.system.*; import mx.modules.*; import mx.events.*; import mx.resources.*; import mx.managers.*; public class StyleManagerImpl implements IStyleManager2 { private var _stylesRoot:Object; private var _selectors:Object; private var styleModules:Object; private var _inheritingStyles:Object; private var resourceManager:IResourceManager; private var _typeSelectorCache:Object; mx_internal static const VERSION:String = "3.4.0.9271"; 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); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; 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 61
//ColorUtil (mx.utils.ColorUtil) package mx.utils { public class ColorUtil { mx_internal static const VERSION:String = "3.4.0.9271"; 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 62
//GraphicsUtil (mx.utils.GraphicsUtil) package mx.utils { import flash.display.*; public class GraphicsUtil { mx_internal static const VERSION:String = "3.4.0.9271"; 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 63
//NameUtil (mx.utils.NameUtil) package mx.utils { import flash.display.*; import mx.core.*; import flash.utils.*; public class NameUtil { mx_internal static const VERSION:String = "3.4.0.9271"; 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 64
//StringUtil (mx.utils.StringUtil) package mx.utils { public class StringUtil { mx_internal static const VERSION:String = "3.4.0.9271"; 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 65
//FlxAnim (org.flixel.data.FlxAnim) package org.flixel.data { public class FlxAnim { public var delay:Number; public var frames:Array; public var looped:Boolean; public var name:String; public function FlxAnim(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true){ name = _arg1; delay = (1 / _arg3); frames = _arg2; looped = _arg4; } public function setName(_arg1:String):void{ name = _arg1; } } }//package org.flixel.data
Section 66
//FlxConsole (org.flixel.data.FlxConsole) package org.flixel.data { import flash.display.*; import org.flixel.*; import flash.text.*; public class FlxConsole extends Sprite { protected const MAX_CONSOLE_LINES:uint = 0x0100; protected var _lines:Array; protected var _text:TextField; protected var _fpsUpdate:Boolean; protected var _console:Sprite; protected var _Y:Number; protected var _curFPS:uint; protected var _fps:Array; protected var _bx:int; protected var _by:int; protected var _fpsDisplay:TextField; protected var _YT:Number; protected var _byt:int; public function FlxConsole(_arg1:uint, _arg2:uint, _arg3:uint){ visible = false; x = (_arg1 * _arg3); _by = (_arg2 * _arg3); _byt = (_by - (FlxG.height * _arg3)); _YT = (_Y = (y = _byt)); var _local4:Bitmap = new Bitmap(new BitmapData((FlxG.width * _arg3), (FlxG.height * _arg3), true, 2130706432)); addChild(_local4); _fps = new Array(8); _curFPS = 0; _fpsUpdate = true; _text = new TextField(); _text.width = _local4.width; _text.height = _local4.height; _text.multiline = true; _text.wordWrap = true; _text.embedFonts = true; _text.antiAliasType = AntiAliasType.NORMAL; _text.gridFitType = GridFitType.PIXEL; _text.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF); addChild(_text); _fpsDisplay = new TextField(); _fpsDisplay.width = _local4.width; _fpsDisplay.height = 20; _fpsDisplay.multiline = true; _fpsDisplay.wordWrap = true; _fpsDisplay.embedFonts = true; _fpsDisplay.antiAliasType = AntiAliasType.NORMAL; _fpsDisplay.gridFitType = GridFitType.PIXEL; _fpsDisplay.defaultTextFormat = new TextFormat("system", 16, 0xFFFFFF, true, null, null, null, null, "right"); addChild(_fpsDisplay); _lines = new Array(); } public function log(_arg1:String):void{ var _local2:String; var _local3:uint; if (_arg1 == null){ _arg1 = "NULL"; }; trace(_arg1); _lines.push(_arg1); if (_lines.length > MAX_CONSOLE_LINES){ _lines.shift(); _local2 = ""; _local3 = 0; while (_local3 < _lines.length) { _local2 = (_local2 + (_lines[_local3] + "\n")); _local3++; }; _text.text = _local2; } else { _text.appendText((_arg1 + "\n")); }; _text.scrollV = _text.height; } public function update():void{ var _local1:uint; var _local2:uint; if (visible){ _fps[_curFPS] = (1 / FlxG.elapsed); if (++_curFPS >= _fps.length){ _curFPS = 0; }; _fpsUpdate = !(_fpsUpdate); if (_fpsUpdate){ _local1 = 0; _local2 = 0; while (_local2 < _fps.length) { _local1 = (_local1 + _fps[_local2]); _local2++; }; _fpsDisplay.text = (Math.floor((_local1 / _fps.length)) + " fps"); }; }; if (_Y < _YT){ _Y = (_Y + ((FlxG.height * 10) * FlxG.elapsed)); } else { if (_Y > _YT){ _Y = (_Y - ((FlxG.height * 10) * FlxG.elapsed)); }; }; if (_Y > _by){ _Y = _by; } else { if (_Y < _byt){ _Y = _byt; visible = false; }; }; y = Math.floor(_Y); } public function toggle():void{ if (_YT == _by){ _YT = _byt; } else { _YT = _by; visible = true; }; } } }//package org.flixel.data
Section 67
//FlxFactory (org.flixel.data.FlxFactory) package org.flixel.data { import flash.events.*; import flash.display.*; import org.flixel.*; import flash.text.*; import flash.net.*; import flash.utils.*; public class FlxFactory extends MovieClip { public var className:String; protected var _bits:Array; public var lock:Boolean;// = false protected var _bmpBar:Bitmap; private var ImgBar:Class; private var ImgBit:Class; public var myURL:String; protected var _buffer:Sprite; public function FlxFactory(){ var tmp:Bitmap; var re:RegExp; var fmt:TextFormat; var txt:TextField; ImgBar = FlxFactory_ImgBar; ImgBit = FlxFactory_ImgBit; super(); stop(); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; try { throw (new Error("Setting global debug flag...")); } catch(e:Error) { re = /\[.*:[0-9]+\]/; FlxG.debug = re.test(e.getStackTrace()); }; if (((((((((lock) && (!((myURL == null))))) && ((myURL.length > 0)))) && ((root.loaderInfo.url.indexOf(myURL) < 0)))) && ((root.loaderInfo.url.indexOf("localhost") < 0)))){ tmp = new Bitmap(new BitmapData(stage.stageWidth, stage.stageHeight, true, 4294967295)); addChild(tmp); fmt = new TextFormat(); fmt.color = 0; fmt.size = 16; fmt.align = "center"; fmt.bold = true; txt = new TextField(); txt.width = (tmp.width - 16); txt.height = (tmp.height - 16); txt.y = 8; txt.multiline = true; txt.wordWrap = true; txt.defaultTextFormat = fmt; txt.text = (("Hi there! It looks like somebody copied this game without my permission. If you would like to play it at my site with NO annoying ads, just click anywhere, or copy-paste this URL into your browser.\n\n" + myURL) + "\n\nThanks, and have fun!"); addChild(txt); txt.addEventListener(MouseEvent.CLICK, goToMyURL); tmp.addEventListener(MouseEvent.CLICK, goToMyURL); return; }; _buffer = new Sprite(); _buffer.scaleX = 2; _buffer.scaleY = 2; addChild(_buffer); _bmpBar = new ImgBar(); _bmpBar.x = (((stage.stageWidth / _buffer.scaleX) - _bmpBar.width) / 2); _bmpBar.y = (((stage.stageHeight / _buffer.scaleY) - _bmpBar.height) / 2); _buffer.addChild(_bmpBar); _bits = new Array(); var i:uint; while (i < 9) { tmp = new ImgBit(); tmp.visible = false; tmp.x = ((_bmpBar.x + 2) + (i * 3)); tmp.y = (_bmpBar.y + 2); _bits.push(tmp); _buffer.addChild(tmp); i = (i + 1); }; addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function goToMyURL(_arg1:MouseEvent=null):void{ navigateToURL(new URLRequest(("http://" + myURL))); } private function onEnterFrame(_arg1:Event):void{ var _local2:int; var _local3:Class; var _local4:Object; var _local5:uint; graphics.clear(); if (framesLoaded == totalFrames){ removeEventListener(Event.ENTER_FRAME, onEnterFrame); nextFrame(); _local3 = Class(getDefinitionByName(className)); if (_local3){ _local4 = new (_local3); addChild((_local4 as DisplayObject)); }; _local2 = (_bits.length - 1); while (_local2 >= 0) { _bits.pop(); _local2--; }; removeChild(_buffer); } else { _local5 = ((root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal) * 10); _local2 = 0; while ((((_local2 < _local5)) && ((_local2 < _bits.length)))) { _bits[_local2].visible = true; _local2++; }; }; } } }//package org.flixel.data
Section 68
//FlxFactory_ImgBar (org.flixel.data.FlxFactory_ImgBar) package org.flixel.data { import mx.core.*; public class FlxFactory_ImgBar extends BitmapAsset { } }//package org.flixel.data
Section 69
//FlxFactory_ImgBit (org.flixel.data.FlxFactory_ImgBit) package org.flixel.data { import mx.core.*; public class FlxFactory_ImgBit extends BitmapAsset { } }//package org.flixel.data
Section 70
//FlxFade (org.flixel.data.FlxFade) package org.flixel.data { import org.flixel.*; public class FlxFade extends FlxSprite { protected var _delay:Number; protected var _complete:Function; public function FlxFade(){ createGraphic(FlxG.width, FlxG.height, 0, true); scrollFactor.x = 0; scrollFactor.y = 0; visible = false; } override public function update():void{ if (((visible) && (!((alpha == 1))))){ alpha = (alpha + (FlxG.elapsed / _delay)); if (alpha >= 1){ alpha = 1; if (_complete != null){ _complete(); }; }; }; } public function restart(_arg1:uint=0, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{ if (_arg2 == 0){ visible = false; return; }; if (((!(_arg4)) && (visible))){ return; }; fill(_arg1); _delay = _arg2; _complete = _arg3; alpha = 0; visible = true; } } }//package org.flixel.data
Section 71
//FlxFlash (org.flixel.data.FlxFlash) package org.flixel.data { import org.flixel.*; public class FlxFlash extends FlxSprite { protected var _delay:Number; protected var _complete:Function; public function FlxFlash(){ createGraphic(FlxG.width, FlxG.height, 0, true); scrollFactor.x = 0; scrollFactor.y = 0; visible = false; } override public function update():void{ if (visible){ alpha = (alpha - (FlxG.elapsed / _delay)); if (alpha <= 0){ visible = false; if (_complete != null){ _complete(); }; }; }; } public function restart(_arg1:uint=4294967295, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{ if (_arg2 == 0){ visible = false; return; }; if (((!(_arg4)) && (visible))){ return; }; fill(_arg1); _delay = _arg2; _complete = _arg3; alpha = 1; visible = true; } } }//package org.flixel.data
Section 72
//FlxKeyboard (org.flixel.data.FlxKeyboard) package org.flixel.data { import flash.events.*; public class FlxKeyboard { protected const _t:uint = 0x0100; public var RIGHT:Boolean; public var LEFT:Boolean; public var FOUR:Boolean; public var TWO:Boolean; public var CONTROL:Boolean; public var A:Boolean; public var B:Boolean; public var C:Boolean; public var D:Boolean; public var E:Boolean; public var ONE:Boolean; public var G:Boolean; public var H:Boolean; public var I:Boolean; public var J:Boolean; public var K:Boolean; public var F:Boolean; public var N:Boolean; public var O:Boolean; public var Q:Boolean; public var R:Boolean; public var S:Boolean; public var T:Boolean; public var ESC:Boolean; public var MINUS:Boolean; public var Y:Boolean; public var L:Boolean; public var Z:Boolean; public var QUOTE:Boolean; public var V:Boolean; public var X:Boolean; public var P:Boolean; public var SHIFT:Boolean; public var SLASH:Boolean; public var U:Boolean; public var EIGHT:Boolean; public var W:Boolean; public var M:Boolean; public var THREE:Boolean; public var SEMICOLON:Boolean; public var CAPSLOCK:Boolean; protected var _lookup:Object; public var PLUS:Boolean; protected var _map:Array; public var ZERO:Boolean; public var DOWN:Boolean; public var F1:Boolean; public var F2:Boolean; public var F3:Boolean; public var F4:Boolean; public var F5:Boolean; public var F6:Boolean; public var F7:Boolean; public var NINE:Boolean; public var F9:Boolean; public var ALT:Boolean; public var F8:Boolean; public var DELETE:Boolean; public var LBRACKET:Boolean; public var UP:Boolean; public var ENTER:Boolean; public var FIVE:Boolean; public var SIX:Boolean; public var COMMA:Boolean; public var PERIOD:Boolean; public var BACKSLASH:Boolean; public var F10:Boolean; public var F11:Boolean; public var F12:Boolean; public var SEVEN:Boolean; public var SPACE:Boolean; public var RBRACKET:Boolean; public function FlxKeyboard(){ var _local1:uint; _lookup = new Object(); _map = new Array(_t); _local1 = 65; while (_local1 <= 90) { addKey(String.fromCharCode(_local1), _local1); _local1++; }; _local1 = 48; var _temp1 = _local1; _local1 = (_local1 + 1); addKey("ZERO", _temp1); var _temp2 = _local1; _local1 = (_local1 + 1); addKey("ONE", _temp2); var _temp3 = _local1; _local1 = (_local1 + 1); addKey("TWO", _temp3); var _temp4 = _local1; _local1 = (_local1 + 1); addKey("THREE", _temp4); var _temp5 = _local1; _local1 = (_local1 + 1); addKey("FOUR", _temp5); var _temp6 = _local1; _local1 = (_local1 + 1); addKey("FIVE", _temp6); var _temp7 = _local1; _local1 = (_local1 + 1); addKey("SIX", _temp7); var _temp8 = _local1; _local1 = (_local1 + 1); addKey("SEVEN", _temp8); var _temp9 = _local1; _local1 = (_local1 + 1); addKey("EIGHT", _temp9); var _temp10 = _local1; _local1 = (_local1 + 1); addKey("NINE", _temp10); _local1 = 1; while (_local1 <= 12) { addKey(("F" + _local1), (111 + _local1)); _local1++; }; addKey("ESC", 27); addKey("MINUS", 189); addKey("PLUS", 187); addKey("DELETE", 8); addKey("LBRACKET", 219); addKey("RBRACKET", 221); addKey("BACKSLASH", 220); addKey("CAPSLOCK", 20); addKey("SEMICOLON", 186); addKey("QUOTE", 222); addKey("ENTER", 13); addKey("SHIFT", 16); addKey("COMMA", 188); addKey("PERIOD", 190); addKey("SLASH", 191); addKey("CONTROL", 17); addKey("ALT", 18); addKey("SPACE", 32); addKey("UP", 38); addKey("DOWN", 40); addKey("LEFT", 37); addKey("RIGHT", 39); } public function handleKeyUp(_arg1:KeyboardEvent):void{ var _local2:Object = _map[_arg1.keyCode]; if (_local2 == null){ return; }; if (_local2.current > 0){ _local2.current = -1; } else { _local2.current = 0; }; this[_local2.name] = false; } public function pressed(_arg1:String):Boolean{ return (this[_arg1]); } public function justReleased(_arg1:String):Boolean{ return ((_map[_lookup[_arg1]].current == -1)); } public function handleKeyDown(_arg1:KeyboardEvent):void{ var _local2:Object = _map[_arg1.keyCode]; if (_local2 == null){ return; }; if (_local2.current > 0){ _local2.current = 1; } else { _local2.current = 2; }; this[_local2.name] = true; } public function reset():void{ var _local2:Object; var _local1:uint; while (_local1 < _t) { if (_map[_local1] == null){ } else { _local2 = _map[_local1]; this[_local2.name] = false; _local2.current = 0; _local2.last = 0; }; _local1++; }; } public function justPressed(_arg1:String):Boolean{ return ((_map[_lookup[_arg1]].current == 2)); } public function update():void{ var _local2:Object; var _local1:uint; while (_local1 < _t) { if (_map[_local1] == null){ } else { _local2 = _map[_local1]; if ((((_local2.last == -1)) && ((_local2.current == -1)))){ _local2.current = 0; } else { if ((((_local2.last == 2)) && ((_local2.current == 2)))){ _local2.current = 1; }; }; _local2.last = _local2.current; }; _local1++; }; } protected function addKey(_arg1:String, _arg2:uint):void{ _lookup[_arg1] = _arg2; _map[_arg2] = {name:_arg1, current:0, last:0}; } } }//package org.flixel.data
Section 73
//FlxKong (org.flixel.data.FlxKong) package org.flixel.data { import flash.events.*; import flash.display.*; import flash.net.*; public class FlxKong extends Sprite { public var API; public function FlxKong(){ API = null; } public function init():void{ var _local1:Object = LoaderInfo(root.loaderInfo).parameters; var _local2:String = ((_local1.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf")); var _local3:URLRequest = new URLRequest(_local2); var _local4:Loader = new Loader(); _local4.contentLoaderInfo.addEventListener(Event.COMPLETE, APILoaded); _local4.load(_local3); this.addChild(_local4); } protected function APILoaded(_arg1:Event):void{ API = _arg1.target.content; API.services.connect(); } } }//package org.flixel.data
Section 74
//FlxLogoPixel (org.flixel.data.FlxLogoPixel) package org.flixel.data { import flash.display.*; public class FlxLogoPixel extends Sprite { private var _curLayer:uint; private var _layers:Array; public function FlxLogoPixel(_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 org.flixel.data
Section 75
//FlxMouse (org.flixel.data.FlxMouse) package org.flixel.data { import flash.events.*; public class FlxMouse { protected var _last:int; public var x:int; public var y:int; protected var _current:int; public function FlxMouse(){ x = 0; y = 0; _current = 0; _last = 0; } public function justReleased():Boolean{ return ((_current == -1)); } public function pressed():Boolean{ return ((_current > 0)); } public function handleMouseUp(_arg1:MouseEvent):void{ if (_current > 0){ _current = -1; } else { _current = 0; }; } public function update(_arg1:int, _arg2:int):void{ x = _arg1; y = _arg2; if ((((_last == -1)) && ((_current == -1)))){ _current = 0; } else { if ((((_last == 2)) && ((_last == 2)))){ _current = 1; }; }; _last = _current; } public function reset():void{ _current = 0; _last = 0; } public function justPressed():Boolean{ return ((_current == 2)); } public function handleMouseDown(_arg1:MouseEvent):void{ if (_current > 0){ _current = 1; } else { _current = 2; }; } } }//package org.flixel.data
Section 76
//FlxPanel (org.flixel.data.FlxPanel) package org.flixel.data { import org.flixel.*; import flash.ui.*; public class FlxPanel extends FlxCore { protected var _close:FlxButton; protected var _digg:FlxButton; protected var _gameTitle:String; protected var _closed:Boolean; protected var _payPalID:String; protected var _donate:FlxButton; private var ImgClose:Class; protected var _topBar:FlxSprite; protected var _ty:Number; protected var _caption:FlxText; protected var _initialized:Boolean; protected var _twitter:FlxButton; protected var _delicious:FlxButton; protected var _stumble:FlxButton; private var ImgDelicious:Class; private var ImgTwitter:Class; protected var _mainBar:FlxSprite; protected var _gameURL:String; private var ImgStumble:Class; private var ImgReddit:Class; private var ImgDigg:Class; protected var _bottomBar:FlxSprite; protected var _payPalAmount:Number; protected var _s:Number; private var ImgDonate:Class; protected var _reddit:FlxButton; public function FlxPanel(){ ImgDonate = FlxPanel_ImgDonate; ImgStumble = FlxPanel_ImgStumble; ImgDigg = FlxPanel_ImgDigg; ImgReddit = FlxPanel_ImgReddit; ImgDelicious = FlxPanel_ImgDelicious; ImgTwitter = FlxPanel_ImgTwitter; ImgClose = FlxPanel_ImgClose; super(); y = -21; _ty = y; _closed = false; _initialized = false; _topBar = new FlxSprite(); _topBar.createGraphic(FlxG.width, 1, 2147483647); _topBar.scrollFactor.x = 0; _topBar.scrollFactor.y = 0; _mainBar = new FlxSprite(); _mainBar.createGraphic(FlxG.width, 19, 2130706432); _mainBar.scrollFactor.x = 0; _mainBar.scrollFactor.y = 0; _bottomBar = new FlxSprite(); _bottomBar.createGraphic(FlxG.width, 1, 2147483647); _bottomBar.scrollFactor.x = 0; _bottomBar.scrollFactor.y = 0; _donate = new FlxButton(3, 0, onDonate); _donate.loadGraphic(new FlxSprite(0, 0, ImgDonate)); _donate.scrollFactor.x = 0; _donate.scrollFactor.y = 0; _stumble = new FlxButton(((((((FlxG.width / 2) - 6) - 13) - 6) - 13) - 6), 0, onStumble); _stumble.loadGraphic(new FlxSprite(0, 0, ImgStumble)); _stumble.scrollFactor.x = 0; _stumble.scrollFactor.y = 0; _digg = new FlxButton(((((FlxG.width / 2) - 6) - 13) - 6), 0, onDigg); _digg.loadGraphic(new FlxSprite(0, 0, ImgDigg)); _digg.scrollFactor.x = 0; _digg.scrollFactor.y = 0; _reddit = new FlxButton(((FlxG.width / 2) - 6), 0, onReddit); _reddit.loadGraphic(new FlxSprite(0, 0, ImgReddit)); _reddit.scrollFactor.x = 0; _reddit.scrollFactor.y = 0; _delicious = new FlxButton((((FlxG.width / 2) + 7) + 6), 0, onDelicious); _delicious.loadGraphic(new FlxSprite(0, 0, ImgDelicious)); _delicious.scrollFactor.x = 0; _delicious.scrollFactor.y = 0; _twitter = new FlxButton((((((FlxG.width / 2) + 7) + 6) + 12) + 6), 0, onTwitter); _twitter.loadGraphic(new FlxSprite(0, 0, ImgTwitter)); _twitter.scrollFactor.x = 0; _twitter.scrollFactor.y = 0; _caption = new FlxText((FlxG.width / 2), 0, ((FlxG.width / 2) - 19), ""); _caption.alignment = "right"; _caption.scrollFactor.x = 0; _caption.scrollFactor.y = 0; _close = new FlxButton((FlxG.width - 16), 0, onClose); _close.loadGraphic(new FlxSprite(0, 0, ImgClose)); _close.scrollFactor.x = 0; _close.scrollFactor.y = 0; hide(); _s = 50; } public function onDelicious():void{ FlxG.openURL(((("http://delicious.com/save?v=5&amp;noui&amp;jump=close&amp;url=" + encodeURIComponent(_gameURL)) + "&amp;title=") + encodeURIComponent(_gameTitle))); } public function init(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:String):void{ _payPalID = _arg1; if (_payPalID.length <= 0){ _donate.visible = false; }; _payPalAmount = _arg2; _gameTitle = _arg3; _gameURL = _arg4; _caption.text = _arg5; _initialized = true; } public function onTwitter():void{ FlxG.openURL(("http://twitter.com/home?status=Playing" + encodeURIComponent((((" " + _gameTitle) + " - ") + _gameURL)))); } public function show(_arg1:Boolean=true):void{ if (!_initialized){ FlxG.log("SUPPORT PANEL ERROR: Uninitialized.\nYou forgot to call FlxGame.setupSupportPanel()\nfrom your game constructor."); return; }; if (_closed){ return; }; if (_arg1){ y = -21; _ty = -1; } else { y = FlxG.height; _ty = (FlxG.height - 20); }; Mouse.show(); visible = true; } public function onStumble():void{ FlxG.openURL(("http://www.stumbleupon.com/submit?url=" + encodeURIComponent(_gameURL))); } override public function render():void{ if (!_initialized){ return; }; if (_topBar.visible){ _topBar.render(); }; if (_mainBar.visible){ _mainBar.render(); }; if (_bottomBar.visible){ _bottomBar.render(); }; if (_donate.visible){ _donate.render(); }; if (_stumble.visible){ _stumble.render(); }; if (_digg.visible){ _digg.render(); }; if (_reddit.visible){ _reddit.render(); }; if (_delicious.visible){ _delicious.render(); }; if (_twitter.visible){ _twitter.render(); }; if (_caption.visible){ _caption.render(); }; if (_close.visible){ _close.render(); }; } public function onDigg():void{ FlxG.openURL(((("http://digg.com/submit?url=" + encodeURIComponent(_gameURL)) + "&title=") + encodeURIComponent(_gameTitle))); } public function onReddit():void{ FlxG.openURL(("http://www.reddit.com/submit?url=" + encodeURIComponent(_gameURL))); } public function onDonate():void{ FlxG.openURL(((((("https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=" + encodeURIComponent(_payPalID)) + "&item_name=") + encodeURIComponent(((_gameTitle + " Contribution (") + _gameURL))) + ")&currency_code=USD&amount=") + _payPalAmount)); } override public function update():void{ if (!_initialized){ return; }; if (_ty != y){ if (y < _ty){ y = (y + (FlxG.elapsed * _s)); if (y > _ty){ y = _ty; }; } else { y = (y - (FlxG.elapsed * _s)); if (y < _ty){ y = _ty; }; }; }; if ((((y <= -21)) || ((y > FlxG.height)))){ visible = false; }; _topBar.y = y; _mainBar.y = (y + 1); _bottomBar.y = (y + 20); _donate.y = (y + 4); _stumble.y = (y + 4); _digg.y = (y + 4); _reddit.y = (y + 4); _delicious.y = (y + 5); _twitter.y = (y + 4); _caption.y = (y + 4); _close.y = (y + 4); if (_donate.active){ _donate.update(); }; if (_stumble.active){ _stumble.update(); }; if (_digg.active){ _digg.update(); }; if (_reddit.active){ _reddit.update(); }; if (_delicious.active){ _delicious.update(); }; if (_twitter.active){ _twitter.update(); }; if (_caption.active){ _caption.update(); }; if (_close.active){ _close.update(); }; } public function hide():void{ if (y < 0){ _ty = -21; } else { _ty = FlxG.height; }; Mouse.hide(); visible = false; } public function onClose():void{ _closed = true; hide(); } } }//package org.flixel.data
Section 77
//FlxPanel_ImgClose (org.flixel.data.FlxPanel_ImgClose) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgClose extends BitmapAsset { } }//package org.flixel.data
Section 78
//FlxPanel_ImgDelicious (org.flixel.data.FlxPanel_ImgDelicious) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgDelicious extends BitmapAsset { } }//package org.flixel.data
Section 79
//FlxPanel_ImgDigg (org.flixel.data.FlxPanel_ImgDigg) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgDigg extends BitmapAsset { } }//package org.flixel.data
Section 80
//FlxPanel_ImgDonate (org.flixel.data.FlxPanel_ImgDonate) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgDonate extends BitmapAsset { } }//package org.flixel.data
Section 81
//FlxPanel_ImgReddit (org.flixel.data.FlxPanel_ImgReddit) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgReddit extends BitmapAsset { } }//package org.flixel.data
Section 82
//FlxPanel_ImgStumble (org.flixel.data.FlxPanel_ImgStumble) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgStumble extends BitmapAsset { } }//package org.flixel.data
Section 83
//FlxPanel_ImgTwitter (org.flixel.data.FlxPanel_ImgTwitter) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgTwitter extends BitmapAsset { } }//package org.flixel.data
Section 84
//FlxPause (org.flixel.data.FlxPause) package org.flixel.data { import org.flixel.*; public class FlxPause extends FlxLayer { private var ImgKeyP:Class; private var ImgKey0:Class; private var ImgKeyPlus:Class; private var ImgKeyMinus:Class; public function FlxPause(){ var _local2:uint; ImgKeyMinus = FlxPause_ImgKeyMinus; ImgKeyPlus = FlxPause_ImgKeyPlus; ImgKey0 = FlxPause_ImgKey0; ImgKeyP = FlxPause_ImgKeyP; super(); scrollFactor.x = 0; scrollFactor.y = 0; var _local1:uint = 80; _local2 = 92; x = ((FlxG.width - _local1) / 2); y = ((FlxG.height - _local2) / 2); add(new FlxSprite().createGraphic(_local1, _local2, 2852126720, true), true); (add(new FlxText(0, 0, _local1, "this game is"), true) as FlxText).alignment = "center"; add(new FlxText(0, 10, _local1, "PAUSED").setFormat(null, 16, 0xFFFFFF, "center"), true); add(new FlxSprite(4, 36, ImgKeyP), true); add(new FlxText(16, 36, (_local1 - 16), "Pause Game"), true); add(new FlxSprite(4, 50, ImgKey0), true); add(new FlxText(16, 50, (_local1 - 16), "Mute Sound"), true); add(new FlxSprite(4, 64, ImgKeyMinus), true); add(new FlxText(16, 64, (_local1 - 16), "Sound Down"), true); add(new FlxSprite(4, 78, ImgKeyPlus), true); add(new FlxText(16, 78, (_local1 - 16), "Sound Up"), true); } } }//package org.flixel.data
Section 85
//FlxPause_ImgKey0 (org.flixel.data.FlxPause_ImgKey0) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKey0 extends BitmapAsset { } }//package org.flixel.data
Section 86
//FlxPause_ImgKeyMinus (org.flixel.data.FlxPause_ImgKeyMinus) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKeyMinus extends BitmapAsset { } }//package org.flixel.data
Section 87
//FlxPause_ImgKeyP (org.flixel.data.FlxPause_ImgKeyP) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKeyP extends BitmapAsset { } }//package org.flixel.data
Section 88
//FlxPause_ImgKeyPlus (org.flixel.data.FlxPause_ImgKeyPlus) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKeyPlus extends BitmapAsset { } }//package org.flixel.data
Section 89
//FlxQuake (org.flixel.data.FlxQuake) package org.flixel.data { import org.flixel.*; public class FlxQuake { public var y:int; protected var _timer:Number; protected var _intensity:Number; public var x:int; protected var _zoom:uint; public function FlxQuake(_arg1:uint){ _zoom = _arg1; reset(0); } public function update():void{ if (_timer > 0){ _timer = (_timer - FlxG.elapsed); if (_timer <= 0){ _timer = 0; x = 0; y = 0; } else { x = (((((Math.random() * _intensity) * FlxG.width) * 2) - (_intensity * FlxG.width)) * _zoom); y = (((((Math.random() * _intensity) * FlxG.height) * 2) - (_intensity * FlxG.height)) * _zoom); }; }; } public function reset(_arg1:Number, _arg2:Number=0.5):void{ x = 0; y = 0; _intensity = _arg1; if (_intensity == 0){ _timer = 0; return; }; _timer = _arg2; } } }//package org.flixel.data
Section 90
//FlxArray (org.flixel.FlxArray) package org.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, _arg3:Boolean=false):void{ removeAt(indexOf(_arg1), _arg2); if (_arg3){ _arg1 = null; }; } public function kill(_arg1:FlxCore):void{ killAt(indexOf(_arg1)); } public function deleteAll():void{ var _local1:*; while (this.length > 0) { _local1 = this.pop(); _local1 = null; }; } 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 addInEmpty(_arg1:FlxCore):FlxCore{ var _local2:Boolean; var _local3:int; while (_local3 < length) { if (this[_local3] == null){ this[_local3] = _arg1; _local2 = true; break; }; _local3++; }; if (_local2 == false){ this.push(_arg1); }; return (_arg1); } public static function getRandom(_arg1:Array):Object{ return (_arg1[Math.floor((Math.random() * _arg1.length))]); } } }//package org.flixel
Section 91
//FlxButton (org.flixel.FlxButton) package org.flixel { import flash.events.*; import flash.geom.*; public class FlxButton extends FlxCore { protected var _onTO:Point; protected var _sf:Point; protected var _offT:FlxText; protected var _initialized:Boolean; protected var _onT:FlxText; protected var _pressed:Boolean; protected var _callback:Function; protected var _off:FlxSprite; protected var _onToggle:Boolean; protected var _offTO:Point; protected var _on:FlxSprite; public function FlxButton(_arg1:int, _arg2:int, _arg3:Function){ x = _arg1; y = _arg2; width = 100; height = 20; _off = new FlxSprite(); _off.createGraphic(width, height, 4286545791); _off.scrollFactor = scrollFactor; _on = new FlxSprite(); _on.createGraphic(width, height, 4294967295); _on.scrollFactor = scrollFactor; _callback = _arg3; _onToggle = false; _pressed = false; updatePositions(); _initialized = false; _sf = null; } override public function update():void{ if (!_initialized){ if (FlxG.state == null){ return; }; if (FlxG.state.parent == null){ return; }; if (FlxG.state.parent.stage == null){ return; }; FlxG.state.parent.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); _initialized = true; }; if (_sf != scrollFactor){ _sf = scrollFactor; if (_off != null){ _off.scrollFactor = _sf; }; if (_on != null){ _on.scrollFactor = _sf; }; if (_offT != null){ _offT.scrollFactor = _sf; }; if (_onT != null){ _onT.scrollFactor = _sf; }; }; super.update(); if (((((!((_off == null))) && (_off.exists))) && (_off.active))){ _off.update(); }; if (((((!((_on == null))) && (_on.exists))) && (_on.active))){ _on.update(); }; if (_offT != null){ if (((((!((_offT == null))) && (_offT.exists))) && (_offT.active))){ _offT.update(); }; if (((((!((_onT == null))) && (_onT.exists))) && (_onT.active))){ _onT.update(); }; }; visibility(false); if (_off.overlapsPoint(FlxG.mouse.x, FlxG.mouse.y)){ if (!FlxG.mouse.pressed()){ _pressed = false; } else { if (!_pressed){ _pressed = true; }; }; visibility(!(_pressed)); }; if (_onToggle){ visibility(_off.visible); }; updatePositions(); } public function switchOn():void{ _onToggle = true; } protected function onMouseUp(_arg1:MouseEvent):void{ if (((((((((!(exists)) || (!(visible)))) || (!(active)))) || (!(FlxG.mouse.justReleased())))) || ((_callback == null)))){ return; }; if (_off.overlapsPoint((FlxG.mouse.x + ((1 - scrollFactor.x) * FlxG.scroll.x)), (FlxG.mouse.y + ((1 - scrollFactor.y) * FlxG.scroll.y)))){ _callback(); }; } override public function destroy():void{ FlxG.state.parent.stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); } protected function visibility(_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; }; }; } public function switchOff():void{ _onToggle = false; } public function on():Boolean{ return (_onToggle); } protected function updatePositions():void{ _off.x = x; _off.y = y; if (_offT){ _offT.x = (_offTO.x + x); _offT.y = (_offTO.y + y); }; _on.x = x; _on.y = y; if (_onT){ _onT.x = (_onTO.x + x); _onT.y = (_onTO.y + y); }; } public function loadGraphic(_arg1:FlxSprite, _arg2:FlxSprite=null):FlxButton{ _off = _arg1; _off.scrollFactor = scrollFactor; if (_arg2 == null){ _on = _off; } else { _on = _arg2; }; _on.scrollFactor = scrollFactor; width = _off.width; height = _off.height; updatePositions(); return (this); } override public function render():void{ super.render(); if (((((!((_off == null))) && (_off.exists))) && (_off.visible))){ _off.render(); }; if (((((!((_on == null))) && (_on.exists))) && (_on.visible))){ _on.render(); }; if (_offT != null){ if (((((!((_offT == null))) && (_offT.exists))) && (_offT.visible))){ _offT.render(); }; if (((((!((_onT == null))) && (_onT.exists))) && (_onT.visible))){ _onT.render(); }; }; } public function loadText(_arg1:FlxText, _arg2:FlxText=null):FlxButton{ if (_arg1 != null){ _offT = _arg1; }; if (_arg2 == null){ _onT = _offT; } else { _onT = _arg2; }; if (_offT != null){ _offTO = new Point(_offT.x, _offT.y); }; if (_onT != null){ _onTO = new Point(_onT.x, _onT.y); }; _offT.scrollFactor = scrollFactor; _onT.scrollFactor = scrollFactor; updatePositions(); return (this); } } }//package org.flixel
Section 92
//FlxCore (org.flixel.FlxCore) package org.flixel { import flash.geom.*; public class FlxCore { public var visible:Boolean; public var active:Boolean; protected var _flickerTimer:Number; public var last:Point; public var height:uint; protected var _flicker:Boolean; public var width:uint; private var _blinkTime:Number; public var exists:Boolean; private var _blink:Boolean; private var _blinkRate:Number; private var _blinkTimer:Number; public var dead:Boolean; public var fixed:Boolean; public var x:Number; public var y:Number; public var scrollFactor:Point; public function FlxCore(){ exists = true; active = true; visible = true; dead = false; fixed = false; width = 0; height = 0; x = 0; y = 0; last = new Point(x, y); scrollFactor = new Point(1, 1); _flicker = false; _flickerTimer = -1; _blink = false; _blinkTimer = -1; } public function collideArrayX(_arg1:Array):void{ var _local2:FlxCore; if (((!(exists)) || (dead))){ return; }; var _local3:uint = _arg1.length; var _local4:uint; while (_local4 < _local3) { _local2 = _arg1[_local4]; if ((((((((_local2 === this)) || ((_local2 == null)))) || (!(_local2.exists)))) || (_local2.dead))){ } else { collideX(_local2); }; _local4++; }; } public function blinking():Boolean{ return ((_blinkTimer >= 0)); } public function render():void{ } 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 * (1 - scrollFactor.x)))); _local3 = (_local3 - Math.floor((FlxG.scroll.y * (1 - 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 * (1 - _arg1.scrollFactor.x)))); _local5 = (_local5 - Math.floor((FlxG.scroll.y * (1 - _arg1.scrollFactor.y)))); }; if ((((((((_local4 <= (_local2 - _arg1.width))) || ((_local4 >= (_local2 + width))))) || ((_local5 <= (_local3 - _arg1.height))))) || ((_local5 >= (_local3 + height))))){ return (false); }; return (true); } public function hitCeiling(_arg1:FlxCore=null):Boolean{ return (true); } 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 hitFloor(_arg1:FlxCore=null):Boolean{ return (true); } public function collideArray(_arg1:Array):void{ var _local2:FlxCore; if (((!(exists)) || (dead))){ return; }; var _local3:uint = _arg1.length; var _local4:uint; while (_local4 < _local3) { _local2 = _arg1[_local4]; if ((((((((_local2 === this)) || ((_local2 == null)))) || (!(_local2.exists)))) || (_local2.dead))){ } else { collide(_local2); }; _local4++; }; } public function collide(_arg1:FlxCore):Boolean{ var _local2:Boolean = collideX(_arg1); var _local3:Boolean = collideY(_arg1); return (((_local2) || (_local3))); } public function update():void{ last.x = x; last.y = y; if (flickering()){ if (_flickerTimer > 0){ _flickerTimer = (_flickerTimer - FlxG.elapsed); if (_flickerTimer == 0){ _flickerTimer = -1; }; }; if (_flickerTimer < 0){ flicker(-1); } else { _flicker = !(_flicker); visible = !(_flicker); }; }; if (blinking()){ if (_blinkTimer > 0){ _blinkTimer = (_blinkTimer - FlxG.elapsed); }; if (_blinkTimer < 0){ blink(-1); } else { _blinkTime = (_blinkTime - FlxG.elapsed); if (_blinkTime < 0){ _blink = !(_blink); visible = !(_blink); _blinkTime = _blinkRate; }; }; }; } public function reset(_arg1:Number, _arg2:Number):void{ exists = true; active = true; visible = true; dead = false; last.x = (x = _arg1); last.y = (y = _arg2); } public function collideX(_arg1:FlxCore):Boolean{ var _local2:Number; var _local3:Rectangle = new Rectangle(); var _local4:Rectangle = new Rectangle(); if (_arg1.x > _arg1.last.x){ _local4.x = _arg1.last.x; _local4.width = ((_arg1.x - _arg1.last.x) + _arg1.width); } else { _local4.x = _arg1.x; _local4.width = ((_arg1.last.x - _arg1.x) + _arg1.width); }; _local4.y = _arg1.last.y; _local4.height = _arg1.height; if (x > last.x){ _local3.x = last.x; _local3.width = ((x - last.x) + width); } else { _local3.x = x; _local3.width = ((last.x - x) + width); }; _local3.y = last.y; _local3.height = height; if (((((((((_local4.x + _local4.width) <= _local3.x)) || ((_local4.x >= (_local3.x + _local3.width))))) || (((_local4.y + _local4.height) <= _local3.y)))) || ((_local4.y >= (_local3.y + _local3.height))))){ return (false); }; var _local5:Number = (_arg1.x - _arg1.last.x); var _local6:Number = (x - last.x); var _local7:Boolean = (((_arg1.x < (x + width))) && (((_arg1.x + _arg1.width) > x))); if ((((((((_local5 > 0)) && ((_local6 <= 0)))) || ((((_local5 >= 0)) && ((((_local5 > _local6)) && (_local7))))))) || ((((_local5 <= 0)) && ((((-(_local5) < -(_local6))) && (_local7))))))){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitWall(this)){ _arg1.x = (x - _arg1.width); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitWall(_arg1)){ x = (_arg1.x + _arg1.width); return (true); }; } else { if (((_arg1.hitWall(this)) && (hitWall(_arg1)))){ _local2 = ((_local4.right - _local3.left) / 2); _arg1.x = (_arg1.x - _local2); x = (x + _local2); return (true); }; }; }; } else { if ((((((((_local5 < 0)) && ((_local6 >= 0)))) || ((((_local5 >= 0)) && ((((_local5 < _local6)) && (_local7))))))) || ((((_local5 <= 0)) && ((((-(_local5) > -(_local6))) && (_local7))))))){ if (_local4.left < _local3.right){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitWall(this)){ _arg1.x = (x + width); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitWall(_arg1)){ x = (_arg1.x - width); return (true); }; } else { if (((_arg1.hitWall(this)) && (hitWall(_arg1)))){ _local2 = ((_local3.right - _local4.left) / 2); _arg1.x = (_arg1.x + _local2); x = (x - _local2); return (true); }; }; }; }; }; }; return (false); } public function collideY(_arg1:FlxCore):Boolean{ var _local2:Number; var _local3:Rectangle = new Rectangle(); var _local4:Rectangle = new Rectangle(); if (_arg1.y > _arg1.last.y){ _local4.y = _arg1.last.y; _local4.height = ((_arg1.y - _arg1.last.y) + _arg1.height); } else { _local4.y = _arg1.y; _local4.height = ((_arg1.last.y - _arg1.y) + _arg1.height); }; _local4.x = _arg1.x; _local4.width = _arg1.width; if (y > last.y){ _local3.y = last.y; _local3.height = ((y - last.y) + height); } else { _local3.y = y; _local3.height = ((last.y - y) + height); }; _local3.x = x; _local3.width = width; if (((((((((_local4.x + _local4.width) <= _local3.x)) || ((_local4.x >= (_local3.x + _local3.width))))) || (((_local4.y + _local4.height) <= _local3.y)))) || ((_local4.y >= (_local3.y + _local3.height))))){ return (false); }; var _local5:Number = (_arg1.y - _arg1.last.y); var _local6:Number = (y - last.y); var _local7:Boolean = (((_arg1.y < (y + height))) && (((_arg1.y + _arg1.height) > y))); if ((((((((_local5 > 0)) && ((_local6 <= 0)))) || ((((_local5 >= 0)) && ((((_local5 > _local6)) && (_local7))))))) || ((((_local5 <= 0)) && ((((-(_local5) < -(_local6))) && (_local7))))))){ if (_local4.bottom > _local3.top){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitFloor(this)){ _arg1.y = (y - _arg1.height); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitCeiling(_arg1)){ y = (_arg1.y + _arg1.height); return (true); }; } else { if (((_arg1.hitFloor(this)) && (hitCeiling(_arg1)))){ _local2 = ((_local4.bottom - _local3.top) / 2); _arg1.y = (_arg1.y - _local2); y = (y + _local2); return (true); }; }; }; }; } else { if ((((((((_local5 < 0)) && ((_local6 >= 0)))) || ((((_local5 >= 0)) && ((((_local5 < _local6)) && (_local7))))))) || ((((_local5 <= 0)) && ((((-(_local5) > -(_local6))) && (_local7))))))){ if (_local4.top < _local3.bottom){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitCeiling(this)){ _arg1.y = (y + height); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitFloor(_arg1)){ y = (_arg1.y - height); return (true); }; } else { if (((_arg1.hitCeiling(this)) && (hitFloor(_arg1)))){ _local2 = ((_local3.bottom - _local4.top) / 2); _arg1.y = (_arg1.y + _local2); y = (y - _local2); return (true); }; }; }; }; }; }; return (false); } public function kill():void{ exists = false; dead = true; } public function blink(_arg1:Number=1, _arg2:Number=0.1):void{ _blinkTimer = _arg1; _blinkRate = _arg2; _blinkTime = 0; visible = false; if (_blinkTimer < 0){ _blink = false; visible = true; }; } public function flickering():Boolean{ return ((_flickerTimer >= 0)); } 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 * (1 - scrollFactor.x)))); _local5 = (_local5 - Math.floor((FlxG.scroll.y * (1 - scrollFactor.y)))); }; if ((((((((_arg1 <= _local4)) || ((_arg1 >= (_local4 + width))))) || ((_arg2 <= _local5)))) || ((_arg2 >= (_local5 + height))))){ return (false); }; return (true); } public function destroy():void{ } public function getScreenXY(_arg1:Point=null):Point{ if (_arg1 == null){ _arg1 = new Point(); }; _arg1.x = (Math.floor(x) + Math.floor((FlxG.scroll.x * scrollFactor.x))); _arg1.y = (Math.floor(y) + Math.floor((FlxG.scroll.y * scrollFactor.y))); return (_arg1); } public function hitWall(_arg1:FlxCore=null):Boolean{ return (true); } public function collideArrayY(_arg1:Array):void{ var _local2:FlxCore; if (((!(exists)) || (dead))){ return; }; var _local3:uint = _arg1.length; var _local4:uint; while (_local4 < _local3) { _local2 = _arg1[_local4]; if ((((((((_local2 === this)) || ((_local2 == null)))) || (!(_local2.exists)))) || (_local2.dead))){ } else { collideY(_local2); }; _local4++; }; } public function flicker(_arg1:Number=1):void{ _flickerTimer = _arg1; if (_flickerTimer < 0){ _flicker = false; visible = true; }; } } }//package org.flixel
Section 93
//FlxG (org.flixel.FlxG) package org.flixel { import flash.display.*; import flash.geom.*; import org.flixel.data.*; import flash.net.*; public class FlxG { private var pauseTimer:Number;// = 0 protected static var ImgDefaultCursor:Class = FlxG_ImgDefaultCursor; public static var kong:FlxKong; public static var scores:Array; public static var music:FlxSound; public static var height:uint; protected static var _volume:Number; public static var buffer:BitmapData; public static var sounds:Array; protected static var _seed:Number; public static var debug:Boolean; public static var LIBRARY_MINOR_VERSION:uint = 51; public static var LIBRARY_MAJOR_VERSION:uint = 1; public static var levels:Array; public static var elapsed:Number; public static var save:int; protected static var _cache:Object; public static var level:int; public static var state:FlxState; public static var score:int; public static var saves:Array; protected static var _scrollTarget:Point; public static var followTarget:FlxCore; public static var mouse:FlxMouse; public static var followLead:Point; public static var LIBRARY_NAME:String = "flixel"; protected static var _originalSeed:Number; public static var width:uint; public static var followLerp:Number; public static var scroll:Point; public static var _game:FlxGame; public static var pauseNumber:int = 0; public static var followMin:Point; public static var FlxSave:SharedObject = SharedObject.getLocal("userData"); public static var followMax:Point; public static var keys:FlxKeyboard; public static var _pause:Boolean; protected static var _mute:Boolean; public static function flash(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{ _game._flash.restart(_arg1, _arg2, _arg3, _arg4); } public static function collideArrays(_arg1:Array, _arg2:Array):void{ var _local3:uint; var _local4:uint; var _local5:FlxCore; var _local6:FlxCore; var _local7:uint = _arg1.length; var _local8:uint = _arg2.length; if (_arg1 === _arg2){ _local3 = 0; while (_local3 < _local7) { _local5 = _arg1[_local3]; if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){ } else { _local4 = (_local3 + 1); while (_local4 < _local8) { _local6 = _arg2[_local4]; if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5.collide(_local6); }; _local4++; }; }; _local3++; }; } else { _local3 = 0; while (_local3 < _local7) { _local5 = _arg1[_local3]; if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){ } else { _local4 = 0; while (_local4 < _local8) { _local6 = _arg2[_local4]; if ((((((((_local5 === _local6)) || ((_local6 == null)))) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5.collide(_local6); }; _local4++; }; }; _local3++; }; }; } public static function get mute():Boolean{ return (_mute); } public static function get volume():Number{ return (_volume); } protected static function changeSounds():void{ if (((!((music == null))) && (music.active))){ music.updateTransform(); }; var _local1:uint = sounds.length; var _local2:uint; while (_local2 < _local1) { if (sounds[_local2].active){ sounds[_local2].updateTransform(); }; _local2++; }; } static function doFollow():void{ if (followTarget != null){ if (((followTarget.exists) && (!(followTarget.dead)))){ _scrollTarget.x = ((((width >> 1) - followTarget.x) - (followTarget.width >> 1)) + (followTarget as FlxSprite).offset.x); _scrollTarget.y = ((((height >> 1) - followTarget.y) - (followTarget.height >> 1)) + (followTarget as FlxSprite).offset.y); if (((!((followLead == null))) && ((followTarget is FlxSprite)))){ _scrollTarget.x = (_scrollTarget.x - ((followTarget as FlxSprite).velocity.x * followLead.x)); _scrollTarget.y = (_scrollTarget.y - ((followTarget as FlxSprite).velocity.y * followLead.y)); }; }; scroll.x = (scroll.x + (((_scrollTarget.x - scroll.x) * followLerp) * FlxG.elapsed)); scroll.y = (scroll.y + (((_scrollTarget.y - scroll.y) * followLerp) * FlxG.elapsed)); if (followMin != null){ if (scroll.x > followMin.x){ scroll.x = followMin.x; }; if (scroll.y > followMin.y){ scroll.y = followMin.y; }; }; if (followMax != null){ if (scroll.x < followMax.x){ scroll.x = followMax.x; }; if (scroll.y < followMax.y){ scroll.y = followMax.y; }; }; }; } public static function showSupportPanel(_arg1:Boolean=true):void{ _game._panel.show(_arg1); } 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 getMuteValue():uint{ if (_mute){ return (0); }; return (1); } public static function set mute(_arg1:Boolean):void{ _mute = _arg1; changeSounds(); } public static function play(_arg1:Class, _arg2:Number=1, _arg3:Boolean=false):FlxSound{ var _local4:uint; var _local5:uint = sounds.length; _local4 = 0; while (_local4 < _local5) { if (!sounds[_local4].active){ break; }; _local4++; }; if (sounds[_local4] == null){ sounds[_local4] = new FlxSound(); }; var _local6:FlxSound = sounds[_local4]; _local6.loadEmbedded(_arg1, _arg3); _local6.volume = _arg2; _local6.play(); return (_local6); } public static function getAngle(_arg1:Number, _arg2:Number):Number{ return (((Math.atan2(_arg2, _arg1) * 180) / Math.PI)); } public static function hideCursor():void{ if (_game._cursor == null){ return; }; _game._buffer.removeChild(_game._cursor); _game._cursor = null; } public static function set volume(_arg1:Number):void{ _volume = _arg1; if (_volume < 0){ _volume = 0; } else { if (_volume > 1){ _volume = 1; }; }; changeSounds(); } static function setGameData(_arg1:FlxGame, _arg2:uint, _arg3:uint):void{ _game = _arg1; _cache = new Object(); width = _arg2; height = _arg3; _mute = false; _volume = 0.5; sounds = new Array(); mouse = new FlxMouse(); keys = new FlxKeyboard(); scroll = null; _scrollTarget = null; unfollow(); FlxG.levels = new Array(); FlxG.scores = new Array(); level = 0; score = 0; seed = NaN; kong = null; pause = false; } 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); } public static function mutate(_arg1:Number, _arg2:Number):Number{ _arg1 = (_arg1 + _arg2); if (_arg1 > 1){ _arg1 = (_arg1 - int(_arg1)); }; return (_arg1); } public static function collideArraysX(_arg1:Array, _arg2:Array):void{ var _local3:uint; var _local4:uint; var _local5:FlxCore; var _local6:FlxCore; var _local7:uint = _arg1.length; var _local8:uint = _arg2.length; if (_arg1 === _arg2){ _local3 = 0; while (_local3 < _local7) { _local5 = _arg1[_local3]; if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){ } else { _local4 = (_local3 + 1); while (_local4 < _local8) { _local6 = _arg2[_local4]; if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5.collideX(_local6); }; _local4++; }; }; _local3++; }; } else { _local3 = 0; while (_local3 < _local7) { _local5 = _arg1[_local3]; if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){ } else { _local4 = 0; while (_local4 < _local8) { _local6 = _arg2[_local4]; if ((((((((_local5 === _local6)) || ((_local6 == null)))) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5.collideX(_local6); }; _local4++; }; }; _local3++; }; }; } public static function collideArraysY(_arg1:Array, _arg2:Array):void{ var _local3:uint; var _local4:uint; var _local5:FlxCore; var _local6:FlxCore; var _local7:uint = _arg1.length; var _local8:uint = _arg2.length; if (_arg1 === _arg2){ _local3 = 0; while (_local3 < _local7) { _local5 = _arg1[_local3]; if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){ } else { _local4 = (_local3 + 1); while (_local4 < _local8) { _local6 = _arg2[_local4]; if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5.collideY(_local6); }; _local4++; }; }; _local3++; }; } else { _local3 = 0; while (_local3 < _local7) { _local5 = _arg1[_local3]; if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){ } else { _local4 = 0; while (_local4 < _local8) { _local6 = _arg2[_local4]; if ((((((((_local5 === _local6)) || ((_local6 == null)))) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5.collideY(_local6); }; _local4++; }; }; _local3++; }; }; } public static function createBitmap(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Boolean):BitmapData{ var _local7:uint; var _local8:String; var _local5:String = ((((_arg1 + "x") + _arg2) + ":") + _arg3); var _local6:Boolean; if (((((_arg4) && (!((_cache[_local8] == undefined))))) && (!((_cache[_local8] == null))))){ _local7 = 0; do { var _temp1 = _local7; _local7 = (_local7 + 1); _local8 = (_local5 + _temp1); } while (((!((_cache[_local8] == undefined))) && (!((_cache[_local8] == null))))); _local5 = _local8; }; _cache[_local5] = new BitmapData(_arg1, _arg2, true, _arg3); return (_cache[_local5]); } public static function playMusic(_arg1:Class, _arg2:Number=1):void{ if (music == null){ music = new FlxSound(); } else { if (music.active){ music.stop(); }; }; music.loadEmbedded(_arg1, true); music.volume = _arg2; music.survive = true; music.play(); } public static function overlapArray(_arg1:Array, _arg2:FlxCore, _arg3:Function=null):void{ var _local4:FlxCore; if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){ return; }; var _local5:uint = _arg1.length; var _local6:uint; while (_local6 < _local5) { _local4 = _arg1[_local6]; if ((((((((_local4 === _arg2)) || ((_local4 == null)))) || (!(_local4.exists)))) || (_local4.dead))){ } else { if (_local4.overlaps(_arg2)){ if (_arg3 != null){ _arg3(_local4, _arg2); } else { _local4.kill(); _arg2.kill(); }; }; }; _local6++; }; } public static function log(_arg1:Object):void{ _game._console.log(_arg1.toString()); } public static function overlapArrays(_arg1:Array, _arg2:Array, _arg3:Function=null):void{ var _local4:uint; var _local5:uint; var _local6:FlxCore; var _local7:FlxCore; var _local8:uint = _arg1.length; var _local9:uint = _arg2.length; if (_arg1 === _arg2){ _local4 = 0; while (_local4 < _local8) { _local6 = _arg1[_local4]; if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5 = (_local4 + 1); while (_local5 < _local9) { _local7 = _arg2[_local5]; if ((((((_local7 == null)) || (!(_local7.exists)))) || (_local7.dead))){ } else { if (_local6.overlaps(_local7)){ if (_arg3 != null){ _arg3(_local6, _local7); } else { _local6.kill(); _local7.kill(); }; }; }; _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)){ if (_arg3 != null){ _arg3(_local6, _local7); } else { _local6.kill(); _local7.kill(); }; }; }; _local5++; }; }; _local4++; }; }; } static function updateSounds():void{ if (((!((music == null))) && (music.active))){ music.update(); }; var _local1:uint = sounds.length; var _local2:uint; while (_local2 < _local1) { if (sounds[_local2].active){ sounds[_local2].update(); }; _local2++; }; } public static function get seed():Number{ return (_originalSeed); } static function updateInput():void{ keys.update(); mouse.update((state.mouseX - scroll.x), (state.mouseY - scroll.y)); } public static function stream(_arg1:String, _arg2:Number=1, _arg3:Boolean=false):FlxSound{ var _local4:uint; var _local5:uint = sounds.length; _local4 = 0; while (_local4 < _local5) { if (!sounds[_local4].active){ break; }; _local4++; }; if (sounds[_local4] == null){ sounds[_local4] = new FlxSound(); }; var _local6:FlxSound = sounds[_local4]; _local6.loadStream(_arg1, _arg3); _local6.volume = _arg2; _local6.play(); return (_local6); } static function unfollow():void{ followTarget = null; followLead = null; followLerp = 1; followMin = null; followMax = null; if (scroll == null){ scroll = new Point(); } else { scroll.x = (scroll.y = 0); }; if (_scrollTarget == null){ _scrollTarget = new Point(); } else { _scrollTarget.x = (_scrollTarget.y = 0); }; } public static function fade(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{ _game._fade.restart(_arg1, _arg2, _arg3, _arg4); } protected static function playSounds():void{ if (((!((music == null))) && (music.active))){ music.play(); }; var _local1:uint = sounds.length; var _local2:uint; while (_local2 < _local1) { if (sounds[_local2].active){ if (sounds[_local2].paused == true){ sounds[_local2].play(); sounds[_local2].paused = false; }; }; _local2++; }; } public static function followAdjust(_arg1:Number=0, _arg2:Number=0):void{ followLead = new Point(_arg1, _arg2); } public static function follow(_arg1:FlxCore, _arg2:Number=1):void{ followTarget = _arg1; followLerp = _arg2; _scrollTarget.x = ((((width >> 1) - followTarget.x) - (followTarget.width >> 1)) + (followTarget as FlxSprite).offset.x); _scrollTarget.y = ((((height >> 1) - followTarget.y) - (followTarget.height >> 1)) + (followTarget as FlxSprite).offset.y); scroll.x = _scrollTarget.x; scroll.y = _scrollTarget.y; doFollow(); } public static function showCursor(_arg1:Class=null):void{ if (_arg1 == null){ _game._cursor = (_game._buffer.addChild(new ImgDefaultCursor()) as Bitmap); } else { _game._cursor = (_game._buffer.addChild(new (_arg1)) as Bitmap); }; } public static function randomize(_arg1:Number):Number{ return ((((69621 * int((_arg1 * 2147483647))) % 2147483647) / 2147483647)); } public static function getRandom(_arg1:Array):Object{ return (_arg1[int((FlxG.random() * _arg1.length))]); } public static function resetInput():void{ keys.reset(); mouse.reset(); } public static function switchState(_arg1:Class):void{ _game.switchState(_arg1); } public static function getNonexist(_arg1:Array):FlxCore{ var _local2:uint = _arg1.length; if (_local2 <= 0){ return (null); }; var _local3:uint; do { if (!_arg1[_local3].exists){ return (_arg1[_local3]); }; ++_local3; } while (_local3 < _local2); return (null); } public static function random(_arg1:Boolean=true):Number{ var _local2:Number; if (((_arg1) && (!(isNaN(_seed))))){ _local2 = randomize(_seed); _seed = mutate(_seed, _local2); return (_local2); }; return (Math.random()); } public static function openURL(_arg1:String):void{ navigateToURL(new URLRequest(_arg1), "_blank"); } public static function collideArray(_arg1:Array, _arg2:FlxCore):void{ var _local3:FlxCore; if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){ return; }; var _local4:uint = _arg1.length; var _local5:uint; while (_local5 < _local4) { _local3 = _arg1[_local5]; if ((((((((_local3 === _arg2)) || ((_local3 == null)))) || (!(_local3.exists)))) || (_local3.dead))){ } else { _local3.collide(_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; }; doFollow(); } public static function quake(_arg1:Number, _arg2:Number=0.5):void{ _game._quake.reset(_arg1, _arg2); } protected static function pauseSounds():void{ if (((!((music == null))) && (music.active))){ music.pause(); }; var _local1:uint = sounds.length; var _local2:uint; while (_local2 < _local1) { if (sounds[_local2].active){ if (sounds[_local2].paused == false){ sounds[_local2].pause(); sounds[_local2].paused = true; }; }; _local2++; }; } static function destroySounds(_arg1:Boolean=false):void{ if (sounds == null){ return; }; if (((!((music == null))) && (((_arg1) || (!(music.survive)))))){ music.destroy(); }; var _local2:uint = sounds.length; var _local3:uint; while (_local3 < _local2) { if (((_arg1) || (!(sounds[_local3].survive)))){ sounds[_local3].destroy(); }; _local3++; }; } public static function set seed(_arg1:Number):void{ _seed = _arg1; _originalSeed = _seed; } public static function set pause(_arg1:Boolean):void{ var _local2:Boolean = _pause; _pause = _arg1; if (_pause != _local2){ if (_pause){ _game.pauseGame(); pauseSounds(); } else { _game.unpauseGame(); playSounds(); }; }; } public static function rotatePoint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Point=null):Point{ if (_arg6 == null){ _arg6 = new Point(); }; var _local7:Number = ((-(_arg5) / 180) * Math.PI); var _local8:Number = (_arg1 - _arg3); var _local9:Number = (_arg4 - _arg2); _arg6.x = ((_arg3 + (Math.cos(_local7) * _local8)) - (Math.sin(_local7) * _local9)); _arg6.y = (_arg4 - ((Math.sin(_local7) * _local8) + (Math.cos(_local7) * _local9))); return (_arg6); } public static function get pause():Boolean{ return (_pause); } public static function hideSupportPanel():void{ _game._panel.hide(); } public static function collideArrayX(_arg1:Array, _arg2:FlxCore):void{ var _local3:FlxCore; if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){ return; }; var _local4:uint = _arg1.length; var _local5:uint; while (_local5 < _local4) { _local3 = _arg1[_local5]; if ((((((((_local3 === _arg2)) || ((_local3 == null)))) || (!(_local3.exists)))) || (_local3.dead))){ } else { _local3.collideX(_arg2); }; _local5++; }; } public static function collideArrayY(_arg1:Array, _arg2:FlxCore):void{ var _local3:FlxCore; if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){ return; }; var _local4:uint = _arg1.length; var _local5:uint; while (_local5 < _local4) { _local3 = _arg1[_local5]; if ((((((((_local3 === _arg2)) || ((_local3 == null)))) || (!(_local3.exists)))) || (_local3.dead))){ } else { _local3.collideY(_arg2); }; _local5++; }; } } }//package org.flixel
Section 94
//FlxG_ImgDefaultCursor (org.flixel.FlxG_ImgDefaultCursor) package org.flixel { import mx.core.*; public class FlxG_ImgDefaultCursor extends BitmapAsset { } }//package org.flixel
Section 95
//FlxGame (org.flixel.FlxGame) package org.flixel { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.text.*; import org.flixel.data.*; import flash.utils.*; import flash.ui.*; public class FlxGame extends Sprite { const MAX_ELAPSED:Number = 0.0333; var _bmpFront:Bitmap; protected var SndFlixel:Class; var _logoTimer:Number; var _curState:FlxState; var _panel:FlxPanel; var _console:FlxConsole; protected var SndBeep:Class; var _gameXOffset:int; var _logoFade:Bitmap; var _created:Boolean; var _zoom:uint; var _elapsed:Number; var _flipped:Boolean; var _total:uint; var _soundTrayBars:Array; public var useDefaultHotKeys:Boolean; protected var junk:String;// = "FlxGame_junk" var _helpStrings:Array; var _bmpBack:Bitmap; var _iState:Class; public var showLogo:Boolean; var _quake:FlxQuake; var _gameYOffset:int; var _buffer:Sprite; var _f:Array; var _fSound:Class; var _fc:uint; var _soundTray:Sprite; var _frame:Class; var _flash:FlxFlash; var _logoComplete:Boolean; var _r:Rectangle; var _poweredBy:Bitmap; var _cursor:Bitmap; public var pause:FlxLayer; protected var ImgPoweredBy:Class; var _fade:FlxFade; var _soundTrayTimer:Number; public static var _paused:Boolean; public static var pauseTimer:Number = 0; public static var curState:FlxState; public static var pausedB:Boolean; public static var muteProcess:Boolean; public static var state:String; public function FlxGame(_arg1:uint, _arg2:uint, _arg3:Class, _arg4:uint=2){ ImgPoweredBy = FlxGame_ImgPoweredBy; SndBeep = FlxGame_SndBeep; SndFlixel = FlxGame_SndFlixel; super(); Mouse.hide(); pausedB = false; _zoom = _arg4; FlxState.bgColor = 4278190080; FlxG.setGameData(this, _arg1, _arg2); _elapsed = 0; _total = 0; pause = new FlxPause(); pauseTimer = 0; muteProcess = false; _quake = new FlxQuake(_zoom); _flash = new FlxFlash(); _fade = new FlxFade(); _curState = null; _iState = _arg3; _helpStrings = new Array(); _helpStrings.push("Button 1"); _helpStrings.push("Button 2"); _helpStrings.push("Mouse"); _helpStrings.push("Move"); _panel = new FlxPanel(); useDefaultHotKeys = true; showLogo = false; _f = null; _fc = 4294967295; _fSound = SndFlixel; _frame = null; _gameXOffset = 0; _gameYOffset = 0; _paused = false; _created = false; _logoComplete = false; addEventListener(Event.ENTER_FRAME, onEnterFrame); } function unpauseGame():void{ if (!_panel.visible){ Mouse.hide(); }; FlxG.resetInput(); _paused = false; stage.frameRate = 90; pauseTimer = (getTimer() - pauseTimer); } protected function setupSupportPanel(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:String):void{ _panel.init(_arg1, _arg2, _arg3, _arg4, _arg5); } protected function onFocusLost(_arg1:Event=null):void{ if (((_logoComplete) && ((state == "Play")))){ FlxG.pause = true; pausedB = false; }; } function pauseGame():void{ if ((((FlxG.pauseNumber < 10)) && ((state == "Play")))){ FlxG.pauseNumber++; if (((!((x == 0))) || (!((y == 0))))){ x = 0; y = 0; }; if (!_flipped){ _bmpBack.bitmapData.copyPixels(_bmpFront.bitmapData, _r, new Point(0, 0)); } else { _bmpFront.bitmapData.copyPixels(_bmpBack.bitmapData, _r, new Point(0, 0)); }; Mouse.show(); _paused = true; stage.frameRate = 10; pauseTimer = getTimer(); }; } protected function onFocus(_arg1:Event=null):void{ if (FlxG.pause == true){ pausedB = true; }; } protected function onKeyUp(_arg1:KeyboardEvent):void{ var _local2:int; var _local3:String; var _local4:FlxSound; if (FlxGame.state == "Play"){ if (_arg1.keyCode == 192){ _console.toggle(); return; }; if (useDefaultHotKeys){ _local2 = _arg1.keyCode; _local3 = String.fromCharCode(_arg1.charCode); switch (_local2){ case 77: if ((((muteProcess == false)) && ((FlxG.pause == false)))){ muteProcess = true; FlxG.mute = !(FlxG.mute); for each (_local4 in FlxSound.sounds) { if (_local4.paused == true){ _local4.paused = false; _local4.play(); } else { if (_local4.paused == false){ _local4.paused = true; _local4.pause(); }; }; }; showSoundTray(); muteProcess = false; }; return; case 189: FlxG.volume = (FlxG.volume - 0.1); showSoundTray(); return; case 109: FlxG.volume = (FlxG.volume - 0.1); showSoundTray(); return; case 187: FlxG.volume = (FlxG.volume + 0.1); showSoundTray(); return; case 107: FlxG.volume = (FlxG.volume + 0.1); showSoundTray(); return; case 80: FlxG.pause = !(FlxG.pause); default: break; }; }; }; FlxG.keys.handleKeyUp(_arg1); } protected function onMouseUp(_arg1:MouseEvent):void{ FlxG.mouse.handleMouseUp(_arg1); } function switchState(_arg1:Class):void{ _panel.hide(); FlxG.unfollow(); FlxG.keys.reset(); FlxG.mouse.reset(); FlxG.hideCursor(); FlxG.destroySounds(); _flash.restart(0, 0); _fade.restart(0, 0); _quake.reset(0); _buffer.x = 0; _buffer.y = 0; var _local2:FlxState = new (_arg1); _buffer.addChild(_local2); if (_curState != null){ _buffer.swapChildren(_local2, _curState); _buffer.removeChild(_curState); _curState.destroy(); }; _curState = _local2; curState = _local2; curState.create(); } protected function onKeyDown(_arg1:KeyboardEvent):void{ FlxG.keys.handleKeyDown(_arg1); } protected function onEnterFrame(_arg1:Event):void{ var _local2:uint; var _local4:Bitmap; var _local5:uint; var _local6:uint; var _local7:int; var _local8:int; var _local9:ColorTransform; var _local10:String; var _local11:String; var _local12:TextField; 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 ((((pausedB == true)) && (((FlxG.mouse.pressed()) || (FlxG.keys.P))))){ FlxG.pause = false; FlxGame.pausedB = false; }; _panel.update(); _console.update(); if (_soundTrayTimer > 0){ _soundTrayTimer = (_soundTrayTimer - _elapsed); } else { if (_soundTray.y > -(_soundTray.height)){ _soundTray.y = (_soundTray.y - ((_elapsed * FlxG.height) * 2)); if (_soundTray.y < -(_soundTray.height)){ _soundTray.visible = false; }; }; }; FlxG.updateInput(); if (_cursor != null){ _cursor.x = (FlxG.mouse.x + FlxG.scroll.x); _cursor.y = (FlxG.mouse.y + FlxG.scroll.y); }; FlxG.updateSounds(); if (_paused){ pause.update(); if (_flipped){ FlxG.buffer.copyPixels(_bmpFront.bitmapData, _r, new Point(0, 0)); } else { FlxG.buffer.copyPixels(_bmpBack.bitmapData, _r, new Point(0, 0)); }; pause.render(); } else { if (_flipped){ FlxG.buffer = _bmpFront.bitmapData; } else { FlxG.buffer = _bmpBack.bitmapData; }; FlxState.screen.unsafeBind(FlxG.buffer); _curState.preProcess(); FlxG.doFollow(); _curState.update(); _flash.update(); _fade.update(); _quake.update(); _buffer.x = _quake.x; _buffer.y = _quake.y; _curState.render(); _flash.render(); _fade.render(); _panel.render(); _curState.postProcess(); _bmpBack.visible = !((_bmpFront.visible = _flipped)); _flipped = !(_flipped); }; } else { if (_created){ if (!showLogo){ _logoComplete = true; FlxG.switchState(_iState); } else { if (_f == null){ _f = new Array(); _local5 = 1; if (FlxG.height > 200){ _local5 = 2; }; _local6 = (32 * _local5); _local7 = (((FlxG.height * _zoom) / 2) - (_local6 * 2)); _local8 = (((FlxG.width * _zoom) / 2) - _local6); _f.push((addChild(new FlxLogoPixel((_local8 + _local6), _local7, _local6, 0, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel(_local8, (_local7 + _local6), _local6, 1, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel(_local8, (_local7 + (_local6 * 2)), _local6, 2, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel((_local8 + _local6), (_local7 + (_local6 * 2)), _local6, 3, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel(_local8, (_local7 + (_local6 * 3)), _local6, 4, _fc)) as FlxLogoPixel)); _poweredBy = new ImgPoweredBy(); _poweredBy.scaleX = _local5; _poweredBy.scaleY = _local5; _poweredBy.x = (((FlxG.width * _zoom) / 2) - (_poweredBy.width / 2)); _poweredBy.y = ((_local7 + (_local6 * 4)) + 16); _local9 = new ColorTransform(); _local9.color = _fc; _poweredBy.bitmapData.colorTransform(new Rectangle(0, 0, _poweredBy.width, _poweredBy.height), _local9); addChild(_poweredBy); _logoFade = (addChild(new Bitmap(new BitmapData((FlxG.width * _zoom), (FlxG.height * _zoom), true, 4278190080))) as Bitmap); _logoFade.x = (_gameXOffset * _zoom); _logoFade.y = (_gameYOffset * _zoom); if (_fSound != null){ FlxG.play(_fSound, 0.35); }; }; _logoTimer = (_logoTimer + _elapsed); _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.length = 0; removeChild(_logoFade); FlxG.switchState(_iState); _logoComplete = true; }; }; } else { if (root != null){ stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.frameRate = 90; _buffer = new Sprite(); _buffer.scaleX = _zoom; _buffer.scaleY = _zoom; addChild(_buffer); _bmpBack = new Bitmap(new BitmapData(FlxG.width, FlxG.height, true, FlxState.bgColor)); _bmpBack.x = _gameXOffset; _bmpBack.y = _gameYOffset; _buffer.addChild(_bmpBack); _bmpFront = new Bitmap(new BitmapData(_bmpBack.width, _bmpBack.height, true, FlxState.bgColor)); _bmpFront.x = _bmpBack.x; _bmpFront.y = _bmpBack.y; _buffer.addChild(_bmpFront); _flipped = false; _r = new Rectangle(0, 0, _bmpFront.width, _bmpFront.height); _console = new FlxConsole(_gameXOffset, _gameYOffset, _zoom); addChild(_console); _local10 = ((((FlxG.LIBRARY_NAME + " v") + FlxG.LIBRARY_MAJOR_VERSION) + ".") + FlxG.LIBRARY_MINOR_VERSION); if (FlxG.debug){ _local10 = (_local10 + " [debug]"); } else { _local10 = (_local10 + " [release]"); }; _local11 = ""; _local2 = 0; while (_local2 < (_local10.length + 32)) { _local11 = (_local11 + "-"); _local2++; }; FlxG.log(_local10); FlxG.log(_local11); stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp); stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); stage.addEventListener(Event.DEACTIVATE, onFocusLost); stage.addEventListener(Event.ACTIVATE, onFocus); _soundTray = new Sprite(); _soundTray.visible = false; _soundTray.scaleX = 2; _soundTray.scaleY = 2; _local4 = new Bitmap(new BitmapData(80, 30, true, 2130706432)); _soundTray.x = (((_gameXOffset + (FlxG.width / 2)) * _zoom) - ((_local4.width / 2) * _soundTray.scaleX)); _soundTray.addChild(_local4); _local12 = new TextField(); _local12.width = _local4.width; _local12.height = _local4.height; _local12.multiline = true; _local12.wordWrap = true; _local12.selectable = false; _local12.embedFonts = true; _local12.antiAliasType = AntiAliasType.NORMAL; _local12.gridFitType = GridFitType.PIXEL; _local12.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "center"); _soundTray.addChild(_local12); _local12.text = "VOLUME"; _local12.y = 16; _local13 = 10; _local14 = 14; _soundTrayBars = new Array(); _local2 = 0; while (_local2 < 10) { _local4 = new Bitmap(new BitmapData(4, (_local2 + 1), false, 0xFFFFFF)); _local4.x = _local13; _local4.y = _local14; _soundTrayBars.push(_soundTray.addChild(_local4)); _local13 = (_local13 + 6); _local14--; _local2++; }; addChild(_soundTray); if (_frame != null){ _local15 = new _frame(); _local15.scaleX = _zoom; _local15.scaleY = _zoom; addChild(_local15); }; _created = true; _logoTimer = 0; }; }; }; } protected function setLogoFX(_arg1:Number, _arg2:Class=null):FlxGame{ _fc = _arg1; if (_arg2 != null){ _fSound = _arg2; }; return (this); } protected function onMouseDown(_arg1:MouseEvent):void{ FlxG.mouse.handleMouseDown(_arg1); } public function showSoundTray():void{ FlxG.play(SndBeep); _soundTrayTimer = 1; _soundTray.y = (_gameYOffset * _zoom); _soundTray.visible = true; var _local1:uint = Math.round((FlxG.volume * 10)); if (FlxG.mute){ _local1 = 0; }; var _local2:uint; while (_local2 < _soundTrayBars.length) { if (_local2 < _local1){ _soundTrayBars[_local2].alpha = 1; } else { _soundTrayBars[_local2].alpha = 0.5; }; _local2++; }; } protected function addFrame(_arg1:Class, _arg2:uint, _arg3:uint):FlxGame{ _frame = _arg1; _gameXOffset = _arg2; _gameYOffset = _arg3; return (this); } } }//package org.flixel
Section 96
//FlxGame_ImgPoweredBy (org.flixel.FlxGame_ImgPoweredBy) package org.flixel { import mx.core.*; public class FlxGame_ImgPoweredBy extends BitmapAsset { } }//package org.flixel
Section 97
//FlxGame_junk (org.flixel.FlxGame_junk) package org.flixel { import mx.core.*; public class FlxGame_junk extends FontAsset { } }//package org.flixel
Section 98
//FlxGame_SndBeep (org.flixel.FlxGame_SndBeep) package org.flixel { import mx.core.*; public class FlxGame_SndBeep extends SoundAsset { } }//package org.flixel
Section 99
//FlxGame_SndFlixel (org.flixel.FlxGame_SndFlixel) package org.flixel { import mx.core.*; public class FlxGame_SndFlixel extends SoundAsset { } }//package org.flixel
Section 100
//FlxLayer (org.flixel.FlxLayer) package org.flixel { public class FlxLayer extends FlxCore { public var _children:FlxArray; public function FlxLayer(){ _children = new FlxArray(); } public function add(_arg1:FlxCore, _arg2:Boolean=false):FlxCore{ _children.push(_arg1); _arg1.x = (_arg1.x + x); _arg1.y = (_arg1.y + y); if (_arg2){ _arg1.scrollFactor = scrollFactor; }; return (_arg1); } override public function render():void{ var _local1:FlxCore; super.render(); var _local2:uint = _children.length; var _local3:uint; while (_local3 < _local2) { _local1 = _children[_local3]; if (((((!((_local1 == null))) && (_local1.exists))) && (_local1.visible))){ _local1.render(); }; _local3++; }; } public function addInEmpty(_arg1:FlxCore):FlxCore{ var _local2:Boolean; var _local3:int; while (_local3 < _children.length) { if (_children[_local3] == null){ _children[_local3] = _arg1; _local2 = true; break; }; _local3++; }; if (_local2 == false){ _children.push(_arg1); }; _arg1.x = (_arg1.x + x); _arg1.y = (_arg1.y + y); return (_arg1); } override public function update():void{ var _local1:Number; var _local2:Number; var _local4:FlxCore; super.update(); var _local3:Boolean; if (((!((x == last.x))) || (!((y == last.y))))){ _local3 = true; _local1 = (x - last.x); _local2 = (y - last.y); }; var _local5:uint = _children.length; var _local6:uint; while (_local6 < _local5) { _local4 = (_children[_local6] as FlxCore); if (((!((_local4 == null))) && (_local4.exists))){ if (_local3){ _local4.x = (_local4.x + _local1); _local4.y = (_local4.y + _local2); }; if (_local4.active){ _local4.update(); }; }; _local6++; }; } override public function destroy():void{ super.destroy(); var _local1:uint = _children.length; var _local2:uint; while (_local2 < _local1) { if (_children[_local2] != null){ _children[_local2].destroy(); }; _local2++; }; _children.length = 0; } public function children():FlxArray{ return (_children); } } }//package org.flixel
Section 101
//FlxSound (org.flixel.FlxSound) package org.flixel { import flash.events.*; import flash.geom.*; import flash.media.*; import flash.net.*; public class FlxSound extends FlxCore { public var _position:Number; protected var _fadeOutTotal:Number; protected var _fadeOutTimer:Number; public var _sound:Sound; protected var _pauseOnFadeOut:Boolean; protected var _volumeAdjust:Number; public var paused:Boolean; protected var _radius:Number; protected var _volume:Number; public var _channel:SoundChannel; protected var _fadeInTimer:Number; public var realFadeI:Boolean; protected var _fadeInTotal:Number; protected var _looped:Boolean; protected var _pan:Boolean; protected var _transform:SoundTransform; protected var _init:Boolean; public var survive:Boolean; protected var _core:FlxCore; public static var sounds:FlxArray = new FlxArray(); public function FlxSound(){ _transform = new SoundTransform(); init(); sounds.push(this); } public function stop():void{ _position = 0; if (_channel != null){ _channel.stop(); stopped(); }; sounds.remove(this, true, true); } public function loadStream(_arg1:String, _arg2:Boolean=false):FlxSound{ stop(); init(); _sound = new Sound(new URLRequest(_arg1)); _looped = _arg2; updateTransform(); active = true; return (this); } public function realFadeIn(_arg1:Number, _arg2:Number):void{ if (volume < _arg1){ volume = (volume + (FlxG.elapsed / _arg2)); }; } protected function init():void{ _transform.pan = 0; _sound = null; _position = 0; _volume = 1; _volumeAdjust = 1; _looped = false; _core = null; _radius = 0; _pan = false; _fadeOutTimer = 0; _fadeOutTotal = 0; _pauseOnFadeOut = false; _fadeInTimer = 0; _fadeInTotal = 0; active = false; visible = false; dead = true; realFadeI = false; } public function get volume():Number{ return (_volume); } public function loadEmbedded(_arg1:Class, _arg2:Boolean=false):FlxSound{ stop(); init(); _sound = new (_arg1); _looped = _arg2; updateTransform(); active = true; return (this); } function updateTransform():void{ _transform.volume = (((FlxG.getMuteValue() * FlxG.volume) * _volume) * _volumeAdjust); if (_channel != null){ _channel.soundTransform = _transform; }; } public function fadeOut(_arg1:Number, _arg2:Boolean=false):void{ _pauseOnFadeOut = _arg2; _fadeInTimer = 0; _fadeOutTimer = _arg1; _fadeOutTotal = _fadeOutTimer; } public function realFadeOut(_arg1:Number, _arg2:Number):void{ if (volume > _arg1){ volume = (volume - (FlxG.elapsed / _arg2)); }; } public function play():void{ paused = false; if (_position < 0){ return; }; if (_looped){ if (_position == 0){ if (_channel == null){ _channel = _sound.play(0, 9999, _transform); }; } else { _channel = _sound.play(_position, 0, _transform); _channel.addEventListener(Event.SOUND_COMPLETE, looped); }; } else { if (_position == 0){ if (_channel == null){ _channel = _sound.play(0, 0, _transform); _channel.addEventListener(Event.SOUND_COMPLETE, stopped); }; } else { _channel = _sound.play(_position, 0, _transform); }; }; _position = 0; } public function fadeIn(_arg1:Number):void{ _fadeOutTimer = 0; _fadeInTimer = _arg1; _fadeInTotal = _fadeInTimer; play(); } public function set volume(_arg1:Number):void{ _volume = _arg1; if (_volume < 0){ _volume = 0; } else { if (_volume > 1){ _volume = 1; }; }; updateTransform(); } override public function update():void{ var _local3:Point; var _local4:Point; var _local5:Number; var _local6:Number; var _local7:Number; if (_position != 0){ return; }; super.update(); var _local1:Number = 1; var _local2:Number = 1; if (_core != null){ _local3 = new Point(); _local4 = new Point(); _core.getScreenXY(_local3); getScreenXY(_local4); _local5 = (_local3.x - _local4.x); _local6 = (_local3.y - _local4.y); _local1 = ((_radius - Math.sqrt(((_local5 * _local5) + (_local6 * _local6)))) / _radius); if (_local1 < 0){ _local1 = 0; }; if (_local1 > 1){ _local1 = 1; }; if (_pan){ _local7 = (-(_local5) / _radius); if (_local7 < -1){ _local7 = -1; } else { if (_local7 > 1){ _local7 = 1; }; }; _transform.pan = _local7; }; }; if (_fadeOutTimer > 0){ _fadeOutTimer = (_fadeOutTimer - FlxG.elapsed); if (_fadeOutTimer <= 0){ if (_pauseOnFadeOut){ pause(); } else { stop(); }; }; _local2 = (_fadeOutTimer / _fadeOutTotal); if (_local2 < 0){ _local2 = 0; }; } else { if (_fadeInTimer > 0){ _fadeInTimer = (_fadeInTimer - FlxG.elapsed); _local2 = (_fadeInTimer / _fadeOutTotal); if (_local2 < 0){ _local2 = 0; }; _local2 = (1 - _local2); }; }; _volumeAdjust = (_local1 * _local2); updateTransform(); } protected function looped(_arg1:Event=null):void{ if (_channel == null){ return; }; _channel.removeEventListener(Event.SOUND_COMPLETE, looped); _channel = null; play(); } protected function stopped(_arg1:Event=null):void{ if (!_looped){ _channel.removeEventListener(Event.SOUND_COMPLETE, stopped); } else { _channel.removeEventListener(Event.SOUND_COMPLETE, looped); }; _channel = null; active = false; } public function pause():void{ paused = true; if (_channel == null){ _position = -1; return; }; _position = _channel.position; _channel.stop(); if (_looped){ while (_position >= _sound.length) { _position = (_position - _sound.length); }; }; _channel = null; } override public function destroy():void{ if (active){ stop(); }; } public function proximity(_arg1:Number, _arg2:Number, _arg3:FlxCore, _arg4:Number, _arg5:Boolean=true):FlxSound{ x = _arg1; y = _arg2; _core = _arg3; _radius = _arg4; _pan = _arg5; return (this); } } }//package org.flixel
Section 102
//FlxSprite (org.flixel.FlxSprite) package org.flixel { import flash.display.*; import flash.geom.*; import org.flixel.data.*; public class FlxSprite extends FlxCore { protected var _facing:uint; public var _caf:uint; protected var _animations:Array; protected var _ct:ColorTransform; private var pexPixel:Boolean; public var origin:Point; public var _curAnim:FlxAnim; public var drag:Point; public var angularDrag:Number; protected var _flipped:uint; public var scale:Point; public var blend:String; private var ORIGINAL_HEIGHT:Number; public var thrust:Number; private var ORIGINAL_OFFSET_X:Number; private var ORIGINAL_OFFSET_Y:Number; public var health:Number; protected var _alpha:Number; public var maxVelocity:Point; protected var _color:uint; public var _curFrame:uint; public var finished:Boolean; protected var _frameTimer:Number; public var acceleration:Point; public var angularAcceleration:Number; public var offset:Point; public var _r2:Rectangle; protected var _callback:Function; private var tim:Number;// = 1 public var _framePixels:BitmapData; private var ORIGINAL_WIDTH:Number; public var _pixels:BitmapData; public var angle:Number; public var maxThrust:Number; public var velocity:Point; public var maxAngular:Number; public var angularVelocity:Number; protected var _bh:uint; protected var _p:Point; public var _r:Rectangle; public var antialiasing:Boolean; public var _mtx:Matrix; protected var _bw:uint; protected static const _pZero:Point = new Point(); public static const LEFT:uint = 0; public static const DOWN:uint = 3; public static const UP:uint = 2; public static const RIGHT:uint = 1; public function FlxSprite(_arg1:int=0, _arg2:int=0, _arg3:Class=null, _arg4:Boolean=false){ pexPixel = _arg4; last.x = (x = _arg1); last.y = (y = _arg2); _p = new Point(); _r = new Rectangle(); _r2 = new Rectangle(); origin = new Point(); if (_arg3 == null){ createGraphic(8, 8); } else { loadGraphic(_arg3); }; offset = new Point(); velocity = new Point(); acceleration = new Point(); drag = new Point(); maxVelocity = new Point(10000, 10000); angle = 0; angularVelocity = 0; angularAcceleration = 0; angularDrag = 0; maxAngular = 10000; thrust = 0; scale = new Point(1, 1); _alpha = 1; _color = 0xFFFFFF; blend = null; antialiasing = false; finished = false; _facing = RIGHT; _animations = new Array(); _flipped = 0; _curAnim = null; _curFrame = 0; _caf = 0; _frameTimer = 0; _mtx = new Matrix(); health = 1; _callback = null; } function unsafeBind(_arg1:BitmapData):void{ _pixels = (_framePixels = _arg1); } public function hurt(_arg1:Number):void{ if ((health = (health - _arg1)) <= 0){ kill(); }; } public function calcFrame():void{ var _local1:uint = (_caf * _bw); var _local2:uint; var _local3:uint = (_flipped) ? _flipped : _pixels.width; if (_local1 >= _local3){ _local2 = (uint((_local1 / _local3)) * _bh); _local1 = (_local1 % _local3); }; if (((_flipped) && ((_facing == LEFT)))){ _local1 = (((_flipped << 1) - _local1) - _bw); }; _r.x = _local1; _r.y = _local2; _framePixels.copyPixels(_pixels, _r, _pZero); _r.x = (_r.y = 0); if (_ct != null){ _framePixels.colorTransform(_r, _ct); }; if (_callback != null){ _callback(_curAnim.name, _curFrame, _caf); }; } public function loadGraphic(_arg1:Class, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:Boolean=false):FlxSprite{ _pixels = FlxG.addBitmap(_arg1, _arg3); if (_arg3){ _flipped = (_pixels.width >> 1); } else { _flipped = 0; }; if (_arg4 == 0){ if (_arg2){ _arg4 = _pixels.height; } else { _arg4 = _pixels.width; }; }; width = (_bw = _arg4); if (_arg5 == 0){ if (_arg2){ _arg5 = width; } else { _arg5 = _pixels.height; }; }; height = (_bh = _arg5); resetHelpers(); return (this); } override public function hitFloor(_arg1:FlxCore=null):Boolean{ velocity.y = 0; return (true); } public function play(_arg1:String, _arg2:Boolean=false, _arg3:Number=0, _arg4:Number=0):void{ if (((((!(_arg2)) && (!((_curAnim == null))))) && ((_arg1 == _curAnim.name)))){ return; }; _curFrame = _arg3; _caf = _arg4; _frameTimer = 0; var _local5:uint = _animations.length; var _local6:uint; while (_local6 < _local5) { if (_animations[_local6].name == _arg1){ finished = false; _curAnim = _animations[_local6]; _caf = _curAnim.frames[_curFrame]; calcFrame(); return; }; _local6++; }; } protected function resetHelpers():void{ _r.x = 0; _r.y = 0; _r.width = _bw; _r.height = _bh; _r2.x = 0; _r2.y = 0; _r2.width = _pixels.width; _r2.height = _pixels.height; if ((((((_framePixels == null)) || (!((_framePixels.width == width))))) || (!((_framePixels.height == height))))){ _framePixels = new BitmapData(width, height); }; origin.x = (_bw / 2); origin.y = (_bh / 2); _framePixels.copyPixels(_pixels, _r, _pZero); } public function draw(_arg1:FlxSprite, _arg2:int=0, _arg3:int=0):void{ var _local4:BitmapData = _arg1._framePixels; if ((((((((_arg1.angle == 0)) && ((_arg1.scale.x == 1)))) && ((_arg1.scale.y == 1)))) && ((_arg1.blend == null)))){ _p.x = _arg2; _p.y = _arg3; _r2.width = _local4.width; _r2.height = _local4.height; _pixels.copyPixels(_local4, _r2, _p, null, null, true); _r2.width = _pixels.width; _r2.height = _pixels.height; calcFrame(); return; }; _mtx.identity(); _mtx.translate(-(_arg1.origin.x), -(_arg1.origin.y)); _mtx.scale(_arg1.scale.x, _arg1.scale.y); if (_arg1.angle != 0){ _mtx.rotate(((Math.PI * 2) * (_arg1.angle / 360))); }; _mtx.translate((_arg2 + _arg1.origin.x), (_arg3 + _arg1.origin.y)); _pixels.draw(_local4, _mtx, null, _arg1.blend, null, _arg1.antialiasing); calcFrame(); } public function createGraphic(_arg1:uint, _arg2:uint, _arg3:uint=4294967295, _arg4:Boolean=false):FlxSprite{ _pixels = FlxG.createBitmap(_arg1, _arg2, _arg3, _arg4); width = (_bw = _pixels.width); height = (_bh = _pixels.height); resetHelpers(); return (this); } public function addAnimationCallback(_arg1:Function):void{ _callback = _arg1; } public function onEmit():void{ } public function get alpha():Number{ return (_alpha); } public function specificFrame(_arg1:uint):void{ _curAnim = null; _caf = _arg1; calcFrame(); } public function get color():uint{ return (_color); } public function set pixels(_arg1:BitmapData):void{ _pixels = _arg1; width = (_bw = _pixels.width); height = (_bh = _pixels.height); resetHelpers(); } public function randomFrame():void{ _curAnim = null; _caf = int((FlxG.random() * (_pixels.width / _bw))); calcFrame(); } public function fill(_arg1:uint):void{ _pixels.fillRect(_r2, _arg1); calcFrame(); } override public function render():void{ if (!visible){ return; }; getScreenXY(_p); if ((((((((angle == 0)) && ((scale.x == 1)))) && ((scale.y == 1)))) && ((blend == null)))){ FlxG.buffer.copyPixels(_framePixels, _r, _p, null, null, true); return; }; _mtx.identity(); _mtx.translate(-(origin.x), -(origin.y)); _mtx.scale(scale.x, scale.y); if (angle != 0){ _mtx.rotate(((Math.PI * 2) * (angle / 360))); }; _mtx.translate((_p.x + origin.x), (_p.y + origin.y)); FlxG.buffer.draw(_framePixels, _mtx, null, blend, null, antialiasing); } public function get pixels():BitmapData{ return (_pixels); } override public function hitCeiling(_arg1:FlxCore=null):Boolean{ velocity.y = 0; return (true); } public function set alpha(_arg1:Number):void{ if (_arg1 > 1){ _arg1 = 1; }; if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 == _alpha){ return; }; _alpha = _arg1; if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){ _ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha); } else { _ct = null; }; calcFrame(); } public function set color(_arg1:uint):void{ _arg1 = (_arg1 & 0xFFFFFF); if (_color == _arg1){ return; }; _color = _arg1; if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){ _ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha); } else { _ct = null; }; calcFrame(); } override public function update():void{ var _local1:Point; var _local2:Point; var _local3:Number; super.update(); if (!active){ return; }; if (((((!((_curAnim == null))) && ((_curAnim.delay > 0)))) && (((_curAnim.looped) || (!(finished)))))){ _frameTimer = (_frameTimer + FlxG.elapsed); if (_frameTimer > _curAnim.delay){ _frameTimer = (_frameTimer - _curAnim.delay); if (_curFrame == (_curAnim.frames.length - 1)){ if (_curAnim.looped){ _curFrame = 0; }; finished = true; } else { _curFrame++; }; _caf = _curAnim.frames[_curFrame]; calcFrame(); }; }; angle = (angle + ((angularVelocity = FlxG.computeVelocity(angularVelocity, angularAcceleration, angularDrag, maxAngular)) * FlxG.elapsed)); if (thrust != 0){ _local1 = FlxG.rotatePoint(-(thrust), 0, 0, 0, angle); _local2 = FlxG.rotatePoint(-(maxThrust), 0, 0, 0, angle); _local3 = Math.abs(_local2.x); if (_local3 > Math.abs(_local2.y)){ _local2.y = _local3; } else { _local3 = Math.abs(_local2.y); }; maxVelocity.x = Math.abs(_local3); maxVelocity.y = Math.abs(_local3); } 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 set facing(_arg1:uint):void{ var _local2 = !((_facing == _arg1)); _facing = _arg1; if (_local2){ calcFrame(); }; } public function get facing():uint{ return (_facing); } public function addAnimation(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true):void{ _animations.push(new FlxAnim(_arg1, _arg2, _arg3, _arg4)); } override public function getScreenXY(_arg1:Point=null):Point{ if (_arg1 == null){ _arg1 = new Point(); }; _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))); return (_arg1); } 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 * (1 - scrollFactor.x)))); _local5 = (_local5 - Math.floor((FlxG.scroll.y * (1 - scrollFactor.y)))); }; if (_arg3){ return (_framePixels.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(_arg1:FlxCore=null):Boolean{ velocity.x = 0; return (true); } } }//package org.flixel
Section 103
//FlxSpriteEx (org.flixel.FlxSpriteEx) package org.flixel { public class FlxSpriteEx extends FlxSprite { public var dummy:MySprite; public function FlxSpriteEx(_arg1:Number, _arg2:Number, _arg3:Class, _arg4:Boolean, _arg5:Class=null){ super(_arg1, _arg2, null); loadGraphic(_arg3, _arg4); if (_arg4){ dummy = new MySprite(_arg5, _arg1, _arg2); } else { dummy = new MySprite(_arg3, _arg1, _arg2); }; offset.x = (dummy.width / 2); offset.y = (dummy.height / 2); dummy.setOffset(offset.x, offset.y); dummy.visible = false; FlxG.state.addChild(dummy); } override public function update():void{ super.update(); if (dummy != null){ dummy.x = x; dummy.y = y; dummy.rotation = angle; dummy.scaleX = scale.x; dummy.scaleY = scale.y; }; } override public function render():void{ super.render(); if (dummy != null){ dummy.x = x; dummy.y = y; dummy.rotation = angle; dummy.scaleX = scale.x; dummy.scaleY = scale.y; }; } } }//package org.flixel
Section 104
//FlxState (org.flixel.FlxState) package org.flixel { import flash.display.*; public class FlxState extends Sprite { public var _layer:FlxLayer; public static var screen:FlxSprite; public static var bgColor:uint; public function FlxState(){ _layer = new FlxLayer(); FlxG.state = this; if (screen == null){ screen = new FlxSprite(); screen.createGraphic(FlxG.width, FlxG.height, 0, true); screen.origin.x = (screen.origin.y = 0); screen.antialiasing = true; }; } public function add(_arg1:FlxCore):FlxCore{ return (_layer.add(_arg1)); } public function render():void{ _layer.render(); } public function update():void{ _layer.update(); } public function destroy():void{ _layer.destroy(); } public function create():void{ } public function preProcess():void{ screen.fill(bgColor); } public function postProcess():void{ } } }//package org.flixel
Section 105
//FlxText (org.flixel.FlxText) package org.flixel { import flash.display.*; import flash.geom.*; import flash.text.*; public class FlxText extends FlxSprite { protected var _regen:Boolean; protected var _tf:TextField; public function FlxText(_arg1:Number, _arg2:Number, _arg3:uint, _arg4:String=null){ if (_arg4 == null){ _arg4 = ""; }; _tf = new TextField(); _tf.width = _arg3; _tf.height = 1; _tf.embedFonts = true; _tf.selectable = false; _tf.sharpness = 100; _tf.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF); _tf.text = _arg4; super(_arg1, _arg2); createGraphic(_arg3, 1); _regen = true; calcFrame(); } public function get size():Number{ return ((_tf.defaultTextFormat.size as Number)); } public function get alignment():String{ return (_tf.defaultTextFormat.align); } public function set alignment(_arg1:String):void{ var _local2:TextFormat = dtfCopy(); _local2.align = _arg1; _tf.defaultTextFormat = _local2; _tf.setTextFormat(_local2); calcFrame(); } public function set size(_arg1:Number):void{ var _local2:TextFormat = dtfCopy(); _local2.size = _arg1; _tf.defaultTextFormat = _local2; _tf.setTextFormat(_local2); _regen = true; calcFrame(); } protected function dtfCopy():TextFormat{ var _local1:TextFormat = _tf.defaultTextFormat; return (new TextFormat(_local1.font, _local1.size, _local1.color, _local1.bold, _local1.italic, _local1.underline, _local1.url, _local1.target, _local1.align)); } public function get text():String{ return (_tf.text); } public function get font():String{ return (_tf.defaultTextFormat.font); } override public function calcFrame():void{ var _local2:uint; var _local3:uint; if ((((((_tf == null)) || ((_tf.text == null)))) || ((_tf.text.length <= 0)))){ _framePixels.fillRect(_r, 0); return; }; if (_regen){ _local2 = _tf.numLines; height = 0; _local3 = 0; while (_local3 < _local2) { height = (height + _tf.getLineMetrics(_local3).height); _local3++; }; height = (height + 4); _framePixels = new BitmapData(width, height, true, 0); _bh = height; _tf.height = height; _r = new Rectangle(0, 0, width, height); _regen = false; } else { _framePixels.fillRect(_r, 0); }; var _local1:TextFormat = _tf.defaultTextFormat; _mtx.identity(); if ((((_local1.align == "center")) && ((_tf.numLines == 1)))){ _tf.setTextFormat(new TextFormat(_local1.font, _local1.size, _local1.color, null, null, null, null, null, "left")); _mtx.translate(Math.floor(((width - _tf.getLineMetrics(0).width) / 2)), 0); }; _framePixels.draw(_tf, _mtx, _ct); _tf.setTextFormat(new TextFormat(_local1.font, _local1.size, _local1.color, null, null, null, null, null, _local1.align)); } public function setFormat(_arg1:String=null, _arg2:Number=8, _arg3:uint=0xFFFFFF, _arg4:String=null):FlxText{ if (_arg1 == null){ _arg1 = ""; }; var _local5:TextFormat = dtfCopy(); _local5.font = _arg1; _local5.size = _arg2; _local5.align = _arg4; _tf.defaultTextFormat = _local5; _tf.setTextFormat(_local5); _regen = true; color = _arg3; calcFrame(); return (this); } public function set text(_arg1:String):void{ _tf.text = _arg1; _regen = true; calcFrame(); } public function set font(_arg1:String):void{ var _local2:TextFormat = dtfCopy(); _local2.font = _arg1; _tf.defaultTextFormat = _local2; _tf.setTextFormat(_local2); _regen = true; calcFrame(); } } }//package org.flixel
Section 106
//_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 107
//_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 108
//_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 109
//_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 110
//_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 111
//_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 112
//_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 113
//_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 114
//_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 115
//_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 116
//_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 117
//_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 118
//_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 119
//_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 120
//_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 121
//_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 122
//_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 123
//_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 124
//_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 125
//_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 126
//_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 127
//_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 128
//ag_intro_mc (ag_intro_mc) package { import flash.events.*; import flash.utils.*; import flash.system.*; import flash.display.*; import flash.geom.*; import flash.media.*; import flash.text.*; import flash.ui.*; import flash.net.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; public dynamic class ag_intro_mc extends MovieClip { public var linkButton:SimpleButton; public function ag_intro_mc(){ addFrameScript(0, frame1, 81, frame82, 217, frame218); } function frame82(){ linkButton.addEventListener(MouseEvent.CLICK, onLinkClicked); } function frame218(){ stop(); } function frame1(){ stop(); gotoAndPlay(2); } public function onLinkClicked(_arg1:Event):void{ navigateToURL(new URLRequest("http://www.armorgames.com"), "_blank"); } } }//package
Section 129
//AGIClass (AGIClass) package { import flash.events.*; import flash.system.*; import flash.display.*; import flash.net.*; public class AGIClass { public static var agi:Object; public static var devKey:String = "f52e4486f64f7b59071b63b29604c582"; public static var agi_url:String = "http://agi.armorgames.com/assets/agi/AGI.swf"; public static var gameKey:String = "defem"; public static var stageObject:DisplayObjectContainer; public static function loadAGI(_arg1:DisplayObjectContainer):void{ stageObject = _arg1; Security.allowDomain(agi_url); var _local2:URLRequest = new URLRequest(agi_url); var _local3:Loader = new Loader(); _local3.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); _local3.load(_local2); } private static function loadComplete(_arg1:Event):void{ agi = _arg1.currentTarget.content; stageObject.addChild((agi as DisplayObject)); agi.init(devKey, gameKey); } } }//package
Section 130
//AirPlane (AirPlane) package { import org.flixel.*; public class AirPlane extends Enemy { private var SndPlane:Class; private var SndDie:Class; private var ImgPlane:Class; public static var speed:Number = 100; public function AirPlane(){ ImgPlane = AirPlane_ImgPlane; SndPlane = AirPlane_SndPlane; SndDie = AirPlane_SndDie; super((Math.random() * FlxG.width), (FlxG.height + 40), ImgPlane, SndPlane); Global.planes.add(this); create(); } private function collideBullets():void{ var _local1:Object; var _local2:Object; var _local3:ShockPart; var _local4:Shield; var _local5:Object; for each (_local1 in Global.bullets) { if (((((exists) && (_local1.exists))) && (HitTest.complexHitTestObject(this.dummy, _local1.dummy)))){ _local5 = Global.findFree(Global.explosions); if (_local5 == null){ new Explosion(x, y); } else { _local5.create(x, y); }; FlxG.play(SndDie, (FlxG.volume - Global.SFX_VOLUME_REDUCE)); Sounds.stopDies(); Global.score = (Global.score + 61); _local1.isTracking = true; _local1.exists = false; if (Math.random() > 0.5){ _local5 = Global.findFree(Global.spawners); if (_local5 == null){ new DiamondSpawn(); } else { _local5.create(); }; }; destroyThis(); }; }; for each (_local2 in Global.lasers) { if (((((exists) && (_local2.exists))) && (HitTest.complexHitTestObject(this.dummy, _local2.dummy)))){ _local5 = Global.findFree(Global.explosions); if (_local5 == null){ new Explosion(x, y); } else { _local5.create(x, y); }; FlxG.play(SndDie, (FlxG.volume - Global.SFX_VOLUME_REDUCE)); Sounds.stopDies(); Global.score = (Global.score + 61); _local2.isTracking = true; if (Math.random() > 0.4){ _local5 = Global.findFree(Global.spawners); if (_local5 == null){ new DiamondSpawn(); } else { _local5.create(); }; }; destroyThis(); }; }; for each (_local3 in Global.shocks) { if (((((exists) && (_local3.exists))) && (HitTest.complexHitTestObject(this.dummy, _local3.dummy)))){ _local5 = Global.findFree(Global.explosions); if (_local5 == null){ new Explosion(x, y); } else { _local5.create(x, y); }; FlxG.play(SndDie, (FlxG.volume - Global.SFX_VOLUME_REDUCE)); Sounds.stopDies(); Global.score = (Global.score + 71); if (Math.random() > 0.8){ _local5 = Global.findFree(Global.spawners); if (_local5 == null){ new DiamondSpawn(); } else { _local5.create(); }; }; _local3.exists = false; destroyThis(); }; }; for each (_local4 in Global.shields) { if (((((exists) && (_local4.exists))) && (HitTest.complexHitTestObject(this.dummy, _local4.dummy)))){ if (Global.findFree(Global.explosions) == false){ new Explosion(x, y); }; FlxG.play(SndDie, (FlxG.volume - Global.SFX_VOLUME_REDUCE)); Sounds.stopDies(); Global.score = (Global.score + 71); _local5 = Global.findFree(Global.spawners); if (_local5 == null){ new DiamondSpawn(); } else { _local5.create(); }; destroyThis(); }; }; } private function collideWithPlayer():void{ if ((((((((PlayState.player.destroyed == false)) && (this.exists))) && (PlayState.player.exists))) && (HitTest.complexHitTestObject(this.dummy, PlayState.player.dummy)))){ Player.deathType = "airplane"; PlayState.player.destroyed = true; }; } override public function update():void{ var _local1:Object; if (exists){ collideWithPlayer(); collideBullets(); isOnScreen(); if (Global.gameOver == true){ _local1 = Global.findFree(Global.explosions); if (_local1 == null){ new Explosion(x, y); } else { _local1.create(x, y); }; destroyThis(); }; super.update(); }; } public function playerDestruction():void{ destroyThis(); } private function computeVelocity():void{ velocity.x = (speed * Math.cos(((direction * Math.PI) / 180))); velocity.y = (speed * Math.sin(((direction * Math.PI) / 180))); } private function isOnScreen():void{ if (y < -40){ destroyThis(); }; } public function create():void{ exists = true; visible = true; this.x = (Math.random() * FlxG.width); this.y = (FlxG.height + 40); dummy.x = x; dummy.y = y; direction = -90; counter = 0; isDestroyed = false; computeVelocity(); Sounds.loadSound(SndPlane, Sounds.planeSounds); } } }//package
Section 131
//AirPlane_ImgPlane (AirPlane_ImgPlane) package { import mx.core.*; public class AirPlane_ImgPlane extends BitmapAsset { } }//package
Section 132
//AirPlane_SndDie (AirPlane_SndDie) package { import mx.core.*; public class AirPlane_SndDie extends SoundAsset { } }//package
Section 133
//AirPlane_SndPlane (AirPlane_SndPlane) package { import mx.core.*; public class AirPlane_SndPlane extends SoundAsset { } }//package
Section 134
//ArmorClip (ArmorClip) package { import flash.display.*; public dynamic class ArmorClip extends MovieClip { public var btnArmor:ArmorGamesButton; } }//package
Section 135
//ArmorGamesButton (ArmorGamesButton) package { import flash.display.*; public dynamic class ArmorGamesButton extends SimpleButton { } }//package
Section 136
//BigExplosion (BigExplosion) package { import org.flixel.*; public class BigExplosion extends FlxSpriteEx { private var ImgDummyBExp:Class; private var SndBExp:Class; private var ImgBExp:Class; public function BigExplosion(_arg1:int, _arg2:int){ ImgBExp = BigExplosion_ImgBExp; ImgDummyBExp = BigExplosion_ImgDummyBExp; SndBExp = BigExplosion_SndBExp; super(_arg1, _arg2, ImgBExp, true, ImgDummyBExp); addAnimation("big", Global.createAnimationArray(10), 10, false); addAnimationCallback(animationControl); Global.bigExplosion.addInEmpty(this); Global.spriteLayer.addInEmpty(this); create(_arg1, _arg2); } override public function update():void{ destroyPlayer(); stopSound(); super.update(); } private function stopSound():void{ Sounds.stopSound(Sounds.missileSounds); Sounds.stopSound(Sounds.planeSounds); Sounds.stopSound(Sounds.expSounds); } private function destroyThis():void{ exists = false; } private function animationControl(_arg1:String, _arg2:uint, _arg3:uint):void{ if (_arg3 > 8){ destroyThis(); }; } private function destroyPlayer():void{ if (((((((exists) && (this.exists))) && (PlayState.player.exists))) && (HitTest.complexHitTestObject(this.dummy, PlayState.player.dummy)))){ Player.deathType = "explosion"; PlayState.player.destroyed = true; }; } public function create(_arg1:int, _arg2:int):void{ exists = true; visible = true; Sounds.loadSound(SndBExp, Sounds.bigExpSounds); Sounds.stopSound(Sounds.missileSounds); Sounds.stopSound(Sounds.planeSounds); Sounds.stopSound(Sounds.expSounds); this.x = _arg1; this.y = _arg2; play("big", true); } } }//package
Section 137
//BigExplosion_ImgBExp (BigExplosion_ImgBExp) package { import mx.core.*; public class BigExplosion_ImgBExp extends BitmapAsset { } }//package
Section 138
//BigExplosion_ImgDummyBExp (BigExplosion_ImgDummyBExp) package { import mx.core.*; public class BigExplosion_ImgDummyBExp extends BitmapAsset { } }//package
Section 139
//BigExplosion_SndBExp (BigExplosion_SndBExp) package { import mx.core.*; public class BigExplosion_SndBExp extends SoundAsset { } }//package
Section 140
//Bullet (Bullet) package { import flash.geom.*; import org.flixel.*; public class Bullet extends FlxSpriteEx { private const BULLET_SPEED:int = 350; public var isTracking:Boolean;// = false private var ImgBullet:Class; private var speed:Number; private var startPosition:Point; public var targetSelected:Boolean;// = false public var type:String; private var direction:int; public function Bullet(_arg1:int, _arg2:int){ ImgBullet = Bullet_ImgBullet; this.type = "bullet"; direction = (45 * Math.round((Math.random() * 7))); super((_arg1 + (10 * Math.cos((direction * Global.DEG_TO_RAD)))), (_arg2 + (10 * Math.sin((direction * Global.DEG_TO_RAD)))), ImgBullet, false); Global.backLayer.addInEmpty(this); Global.bullets.addInEmpty(this); create(_arg1, _arg2); } private function computeVelocity():void{ velocity.x = (speed * Math.cos(((direction * Math.PI) / 180))); velocity.y = (speed * Math.sin(((direction * Math.PI) / 180))); } override public function update():void{ if (exists){ if (!onScreen()){ destroyThis(); }; super.update(); }; } private function calculateAngle(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (((Math.atan2((_arg2 - _arg4), (_arg1 - _arg3)) * 180) / Math.PI)); } private function destroyThis():void{ exists = false; } private 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 create(_arg1:int, _arg2:int):void{ exists = true; direction = (45 * Math.round((Math.random() * 7))); this.x = (_arg1 + (10 * Math.cos((direction * Global.DEG_TO_RAD)))); this.y = (_arg2 + (10 * Math.sin((direction * Global.DEG_TO_RAD)))); speed = BULLET_SPEED; isTracking = false; targetSelected = false; angle = direction; computeVelocity(); startPosition = new Point(_arg1, _arg2); } } }//package
Section 141
//Bullet_ImgBullet (Bullet_ImgBullet) package { import mx.core.*; public class Bullet_ImgBullet extends BitmapAsset { } }//package
Section 142
//Diamond (Diamond) package { import org.flixel.*; public class Diamond extends FlxSpriteEx { private const FOLLOW_DISTANCE:int = 30; private const SPEED:int = 270; private const LIFE_LENGTH:Number = 4; private var blinkTimer:Number; private var SndGem:Class; private var ImgGem:Class; private var lifeTimer:Number; public var isCollected:Boolean;// = false public function Diamond(_arg1:int, _arg2:int){ ImgGem = Diamond_ImgGem; SndGem = Diamond_SndGem; super(_arg1, _arg2, ImgGem, false, ImgGem); Global.spriteLayer.addInEmpty(this); Global.diamonds.addInEmpty(this); create(_arg1, _arg2); } private function reduceLife():void{ lifeTimer = (lifeTimer - FlxG.elapsed); if (lifeTimer < 0){ exists = false; }; } private function collideWithPlayer():void{ if (((exists) && (HitTest.complexHitTestObject(this.dummy, PlayState.player.dummy)))){ Global.score = (Global.score + Math.floor((Player.comboTimer * 50))); Player.comboTimer = (Math.floor(Player.comboTimer) + 1.9999); Player.comboIncrease = true; Player.comboLast = Math.floor(Player.comboTimer); Sounds.loadSound(SndGem, Sounds.gemSounds); Sounds.stopSound(Sounds.expSounds); exists = false; }; } private function blinkSprite():void{ blinkTimer = (blinkTimer - FlxG.elapsed); if (blinkTimer < 0){ blinkTimer = 1000; blink(1000, 0.2); }; } private function followPlayer():void{ var _local2:Number; var _local1:Number = Math.sqrt((Math.pow((PlayState.player.x - x), 2) + Math.pow((PlayState.player.y - y), 2))); if (_local1 < FOLLOW_DISTANCE){ _local2 = calculateAngle(PlayState.player.x, PlayState.player.y, x, y); computeVelocity(_local2); } else { velocity.x = 0; velocity.y = 0; }; } private function calculateAngle(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (((Math.atan2((_arg2 - _arg4), (_arg1 - _arg3)) * 180) / Math.PI)); } private function computeVelocity(_arg1:Number):void{ velocity.x = (SPEED * Math.cos(((_arg1 * Math.PI) / 180))); velocity.y = (SPEED * Math.sin(((_arg1 * Math.PI) / 180))); } override public function update():void{ if (exists){ collideWithPlayer(); reduceLife(); blinkSprite(); if (PlayState.player.destroyed == false){ followPlayer(); } else { exists = false; }; super.update(); }; } public function create(_arg1:int, _arg2:int):void{ exists = true; visible = true; this.x = _arg1; this.y = _arg2; lifeTimer = LIFE_LENGTH; blinkTimer = (LIFE_LENGTH / 1.5); isCollected = false; blink(-1000); } } }//package
Section 143
//Diamond_ImgGem (Diamond_ImgGem) package { import mx.core.*; public class Diamond_ImgGem extends BitmapAsset { } }//package
Section 144
//Diamond_SndGem (Diamond_SndGem) package { import mx.core.*; public class Diamond_SndGem extends SoundAsset { } }//package
Section 145
//DiamondSpawn (DiamondSpawn) package { import org.flixel.*; public class DiamondSpawn extends FlxSpriteEx { private var ImgSpawnerDummy:Class; private var ImgSpawner:Class; private var counter:int;// = 0 public function DiamondSpawn(){ ImgSpawner = DiamondSpawn_ImgSpawner; ImgSpawnerDummy = DiamondSpawn_ImgSpawnerDummy; super((Math.random() * FlxG.width), (Math.random() * FlxG.height), ImgSpawner, true, ImgSpawnerDummy); addAnimation("normal", Global.createAnimationArray(5), 10, false); addAnimationCallback(animationControl); Global.HUDLayer.addInEmpty(this); Global.spawners.addInEmpty(this); create(); } override public function update():void{ super.update(); } private function animationControl(_arg1:String, _arg2:uint, _arg3:uint):void{ var _local4:Boolean; var _local5:int; var _local6:Object; if (_arg3 > 3){ _local4 = false; _local5 = 0; while (_local5 < Global.diamonds.length) { if (((exists) && (Global.diamonds[_local5].exists))){ counter++; if (counter > 10){ _local4 = true; break; }; }; _local5++; }; if (_local4 == false){ _local6 = Global.findFree(Global.diamonds); if (_local6 == null){ new Diamond(x, y); } else { _local6.create(x, y); }; }; destroyThis(); }; } public function create():void{ exists = true; counter = 0; this.x = (Math.random() * FlxG.width); this.y = (Math.random() * FlxG.height); play("normal", true); } private function destroyThis():void{ exists = false; } } }//package
Section 146
//DiamondSpawn_ImgSpawner (DiamondSpawn_ImgSpawner) package { import mx.core.*; public class DiamondSpawn_ImgSpawner extends BitmapAsset { } }//package
Section 147
//DiamondSpawn_ImgSpawnerDummy (DiamondSpawn_ImgSpawnerDummy) package { import mx.core.*; public class DiamondSpawn_ImgSpawnerDummy extends BitmapAsset { } }//package
Section 148
//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 149
//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 150
//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 151
//EndState (EndState) package { import org.flixel.*; public class EndState extends FlxState { private var SndExp:Class; public function EndState(){ SndExp = EndState_SndExp; super(); FlxGame.state = "end"; } override public function update():void{ Global.reset(); Sounds.resetAll(); Sounds.soundIni(); FlxG.switchState(TitleState); super.update(); } } }//package
Section 152
//EndState_SndExp (EndState_SndExp) package { import mx.core.*; public class EndState_SndExp extends SoundAsset { } }//package
Section 153
//Enemy (Enemy) package { import org.flixel.*; public class Enemy extends FlxSpriteEx { protected var direction:int;// = 0 protected var type:String; protected var counter:int;// = 0 protected var isDestroyed:Boolean;// = false public function Enemy(_arg1:int=0, _arg2:int=0, _arg3:Class=null, _arg4:Class=null, _arg5:Boolean=false, _arg6:Class=null){ super(_arg1, _arg2, _arg3, _arg5, _arg6); Global.spriteLayer.addInEmpty(this); Global.enemies.addInEmpty(this); } protected function destroyThis():void{ exists = false; } override public function update():void{ super.update(); } protected function calculateAngle(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (((Math.atan2((_arg2 - _arg4), (_arg1 - _arg3)) * 180) / Math.PI)); } } }//package
Section 154
//Explosion (Explosion) package { import org.flixel.*; public class Explosion extends FlxSpriteEx { private var ImgDummyBExp:Class; private var SndExp:Class; private var ImgExp:Class; public function Explosion(_arg1:int, _arg2:int){ ImgExp = Explosion_ImgExp; ImgDummyBExp = Explosion_ImgDummyBExp; SndExp = Explosion_SndExp; super(_arg1, _arg2, ImgExp, true, ImgDummyBExp); addAnimation("normal", Global.createAnimationArray(4), 10, false); addAnimationCallback(animationControl); Global.spriteLayer.addInEmpty(this); Global.explosions.add(this); create(_arg1, _arg2); } private function animationControl(_arg1:String, _arg2:uint, _arg3:uint):void{ if (_arg3 > 2){ destroyThis(); }; } public function create(_arg1:int, _arg2:int):void{ exists = true; this.x = _arg1; this.y = _arg2; play("normal", true); Sounds.loadSound(SndExp, Sounds.expSounds); Sounds.stopSound(Sounds.missileSounds); Sounds.stopSound(Sounds.planeSounds); } private function stopSound():void{ Sounds.stopSound(Sounds.missileSounds); Sounds.stopSound(Sounds.planeSounds); Sounds.stopSound(Sounds.expSounds); } private function destroyThis():void{ exists = false; } } }//package
Section 155
//Explosion_ImgDummyBExp (Explosion_ImgDummyBExp) package { import mx.core.*; public class Explosion_ImgDummyBExp extends BitmapAsset { } }//package
Section 156
//Explosion_ImgExp (Explosion_ImgExp) package { import mx.core.*; public class Explosion_ImgExp extends BitmapAsset { } }//package
Section 157
//Explosion_SndExp (Explosion_SndExp) package { import mx.core.*; public class Explosion_SndExp extends SoundAsset { } }//package
Section 158
//Global (Global) package { import flash.events.*; import flash.display.*; import org.flixel.*; public class Global { public static const RAD_TO_DEG:Number = 57.2957795130823; public static const DEG_TO_RAD:Number = 0.0174532925199433; public static const SFX_VOLUME_REDUCE:Number = 0.6; public static var bExplosions:FlxArray; public static var lasers:FlxArray; public static var nukeNumber:int; public static var spawners:FlxArray; public static var spriteLayer:FlxLayer; public static var shocks:FlxArray; public static var score:int; public static var planes:FlxArray; public static var diamonds:FlxArray; public static var trackerNumber:int = 0; public static var backLayer:FlxLayer; public static var enemies:FlxArray; public static var bullets:FlxArray; public static var HUDLayer:FlxLayer; public static var trackers:FlxArray; public static var diamonSpawners:FlxArray; public static var messageExists:Boolean; public static var tanks:FlxArray; public static var tankNumber:int; public static var shields:FlxArray; public static var difficulty:int; public static var bckSound:FlxSound; public static var gameOver:Boolean; public static var bigExplosion:FlxArray; public static var link:String = "http://www.ArmorGames.com"; public static var explosions:FlxArray; public static function openNewLinkFunction(_arg1:MouseEvent):void{ FlxG.openURL(Global.link); } public static function findFree(_arg1:Array):Object{ var _local2:Object; var _local3:int; while (_local3 < _arg1.length) { if (_arg1[_local3].exists == false){ _local2 = _arg1[_local3]; break; }; _local3++; }; return (_local2); } public static function createButton(_arg1:Object):MovieClip{ var _local2:BitmapData = new BitmapData(_arg1.width, _arg1.height); var _local3:Bitmap = new Bitmap(_local2); var _local4:MovieClip = new MovieClip(); _local4.addChild(_local3); _local4.x = _arg1.x; _local4.y = _arg1.y; _local4.buttonMode = true; _local4.mouseEnabled = true; _local4.alpha = 0; _local4.addEventListener(MouseEvent.CLICK, Global.openNewLinkFunction); return (_local4); } public static function reset():void{ backLayer = new FlxLayer(); spriteLayer = new FlxLayer(); HUDLayer = new FlxLayer(); score = 0; difficulty = 1; messageExists = false; gameOver = false; nukeNumber = 0; tankNumber = 0; trackerNumber = 0; shields = new FlxArray(); diamonds = new FlxArray(); spawners = new FlxArray(); bullets = new FlxArray(); shocks = new FlxArray(); enemies = new FlxArray(); bigExplosion = new FlxArray(); trackers = new FlxArray(); shields = new FlxArray(); diamonds = new FlxArray(); spawners = new FlxArray(); shocks = new FlxArray(); enemies = new FlxArray(); bigExplosion = new FlxArray(); trackers = new FlxArray(); planes = new FlxArray(); bExplosions = new FlxArray(); bullets = new FlxArray(); lasers = new FlxArray(); diamonSpawners = new FlxArray(); explosions = new FlxArray(); tanks = new FlxArray(); AirPlane.speed = 100; Tracker.speed = 150; } public static function createAnimationArray(_arg1:int):Array{ var _local2:Array = new Array(); var _local3:int; while (_local3 < _arg1) { _local2.push(_local3); _local3++; }; return (_local2); } } }//package
Section 159
//headBig (headBig) package { import flash.display.*; public dynamic class headBig extends MovieClip { } }//package
Section 160
//HelpState (HelpState) package { import org.flixel.*; public class HelpState extends FlxState { private var SndExp:Class; private var ImgHelp:Class; private var background:FlxSprite; public function HelpState(){ ImgHelp = HelpState_ImgHelp; SndExp = HelpState_SndExp; super(); background = new FlxSprite(FlxG.width, 0, ImgHelp); background.velocity.x = -800; background.drag.x = 900; this.add(background); } override public function update():void{ stopSliding(); switchState(); super.update(); } private function stopSliding():void{ if (background.x < 0){ background.x = 0; background.velocity.x = 0; }; } private function switchState():void{ if (FlxG.mouse.pressed()){ FlxG.play(SndExp, FlxG.volume); FlxG.switchState(PlayState); }; } } }//package
Section 161
//HelpState_ImgHelp (HelpState_ImgHelp) package { import mx.core.*; public class HelpState_ImgHelp extends BitmapAsset { } }//package
Section 162
//HelpState_SndExp (HelpState_SndExp) package { import mx.core.*; public class HelpState_SndExp extends SoundAsset { } }//package
Section 163
//HitTest (HitTest) package { import flash.display.*; import flash.geom.*; public class HitTest { protected static function getDrawMatrix(_arg1:DisplayObject, _arg2:Rectangle, _arg3:Number):Matrix{ var _local4:Point; var _local5:Matrix; var _local6:Matrix = _arg1.root.transform.concatenatedMatrix; _local4 = _arg1.localToGlobal(new Point()); _local5 = _arg1.transform.concatenatedMatrix; _local5.tx = (_local4.x - _arg2.x); _local5.ty = (_local4.y - _arg2.y); _local5.a = (_local5.a / _local6.a); _local5.d = (_local5.d / _local6.d); if (_arg3 != 1){ _local5.scale(_arg3, _arg3); }; return (_local5); } public static function complexHitTestObject(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=6):Boolean{ return (!((complexIntersectionRectangle(_arg1, _arg2, _arg3).width == 0))); } public static function complexIntersectionRectangle(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=1):Rectangle{ if (!_arg1.hitTestObject(_arg2)){ return (new Rectangle()); }; var _local4:Rectangle = intersectionRectangle(_arg1, _arg2); if (((((_local4.width * _arg3) < 1)) || (((_local4.height * _arg3) < 1)))){ return (new Rectangle()); }; var _local5:BitmapData = new BitmapData((_local4.width * _arg3), (_local4.height * _arg3), false, 0); _local5.draw(_arg1, HitTest.getDrawMatrix(_arg1, _local4, _arg3), new ColorTransform(1, 1, 1, 1, 0xFF, -255, -255, 0xFF)); _local5.draw(_arg2, HitTest.getDrawMatrix(_arg2, _local4, _arg3), new ColorTransform(1, 1, 1, 1, 0xFF, 0xFF, 0xFF, 0xFF), BlendMode.DIFFERENCE); var _local6:Rectangle = _local5.getColorBoundsRect(4294967295, 4278255615); _local5.dispose(); if (_arg3 != 1){ _local6.x = (_local6.x / _arg3); _local6.y = (_local6.y / _arg3); _local6.width = (_local6.width / _arg3); _local6.height = (_local6.height / _arg3); }; _local6.x = (_local6.x + _local4.x); _local6.y = (_local6.y + _local4.y); return (_local6); } public static function intersectionRectangle(_arg1:DisplayObject, _arg2:DisplayObject):Rectangle{ if (((((!(_arg1.root)) || (!(_arg2.root)))) || (!(_arg1.hitTestObject(_arg2))))){ return (new Rectangle()); }; var _local3:Rectangle = _arg1.getBounds(_arg1.root); var _local4:Rectangle = _arg2.getBounds(_arg2.root); var _local5:Rectangle = new Rectangle(); _local5.x = Math.max(_local3.x, _local4.x); _local5.y = Math.max(_local3.y, _local4.y); _local5.width = Math.min(((_local3.x + _local3.width) - _local5.x), ((_local4.x + _local4.width) - _local5.x)); _local5.height = Math.min(((_local3.y + _local3.height) - _local5.y), ((_local4.y + _local4.height) - _local5.y)); return (_local5); } } }//package
Section 164
//IntroState (IntroState) package { import org.flixel.*; public class IntroState extends FlxState { private const TEXT_SCROLL_SPEED:Number = 0.04; private var SndBck:Class; private var storyText:FlxText; private var story1:String;// = "ON FEBRUARY 2 1983" private var story2:String;// = "AN ALIEN VESSEL" private var story3:String;// = "WAS DISCOVERED ON SOVIET RUSSIAN" private var story4:String;// = "SOIL" private var story5:String;// = "WHAT YOU ARE ABOUT TO SEE IS A" private var story6:String;// = "DRAMATIZATION OF THE EVENTS" private var FontAscii:Class; private var story8:String;// = "EVENING" private var story7:String;// = "THAT TOOK PLACE LATER THAT" private var story:Array; private var scrollTimer:Number; public function IntroState(){ FontAscii = IntroState_FontAscii; SndBck = IntroState_SndBck; super(); scrollTimer = TEXT_SCROLL_SPEED; story = ["ON FEBRUARY 2 1983/n", "AN ALIEN VESSEL/n", "WAS DISCOVERED ON SOVIET RUSSIAN\n", "SOIL\n\n", "WHAT YOU ARE ABOUT TO SEE IS A\n", "DRAMATIZATION OF THE EVENTS\n", "THAT TOOK PLACE LATER THAT EVENING\n"]; storyText = new FlxText(0, 20, FlxG.width, ""); storyText.size = 8; storyText.alignment = "center"; storyText.font = "ASCII"; this.add(storyText); var _local1:FlxText = new FlxText(0, 220, FlxG.width, "CLICK TO SKIP"); _local1.size = 8; _local1.alignment = "center"; _local1.font = "ASCII"; this.add(_local1); } override public function create():void{ AGIClass.loadAGI(parent.parent); } private function switchState():void{ if (FlxG.mouse.pressed()){ startBckMusic(); FlxG.switchState(TitleState); }; } override public function update():void{ moveText(); switchState(); super.update(); } private function moveText():void{ scrollTimer = (scrollTimer - FlxG.elapsed); if (scrollTimer < 0){ scrollTimer = TEXT_SCROLL_SPEED; if (story1.length > 0){ storyText.text = (storyText.text + story1.charAt(0)); story1 = story1.substring(1); if (story1.length == 0){ storyText.text = (storyText.text + "\n"); }; } else { if (story2.length > 0){ storyText.text = (storyText.text + story2.charAt(0)); story2 = story2.substring(1); if (story2.length == 0){ storyText.text = (storyText.text + "\n"); }; } else { if (story3.length > 0){ storyText.text = (storyText.text + story3.charAt(0)); story3 = story3.substring(1); if (story3.length == 0){ storyText.text = (storyText.text + "\n"); }; } else { if (story4.length > 0){ storyText.text = (storyText.text + story4.charAt(0)); story4 = story4.substring(1); if (story4.length == 0){ storyText.text = (storyText.text + "\n\n"); }; } else { if (story5.length > 0){ storyText.text = (storyText.text + story5.charAt(0)); story5 = story5.substring(1); if (story5.length == 0){ storyText.text = (storyText.text + "\n"); }; } else { if (story6.length > 0){ storyText.text = (storyText.text + story6.charAt(0)); story6 = story6.substring(1); if (story6.length == 0){ storyText.text = (storyText.text + "\n"); }; } else { if (story7.length > 0){ storyText.text = (storyText.text + story7.charAt(0)); story7 = story7.substring(1); if (story7.length == 0){ storyText.text = (storyText.text + "\n"); }; } else { if (story8.length > 0){ storyText.text = (storyText.text + story8.charAt(0)); story8 = story8.substring(1); if (story8.length == 0){ scrollTimer = (TEXT_SCROLL_SPEED * 40); }; } else { startBckMusic(); FlxG.switchState(TitleState); }; }; }; }; }; }; }; }; }; } private function startBckMusic():void{ FlxG.volume = 1; FlxG.playMusic(SndBck); } } }//package
Section 165
//IntroState_FontAscii (IntroState_FontAscii) package { import mx.core.*; public class IntroState_FontAscii extends FontAsset { } }//package
Section 166
//IntroState_SndBck (IntroState_SndBck) package { import mx.core.*; public class IntroState_SndBck extends SoundAsset { } }//package
Section 167
//Laser (Laser) package { import flash.geom.*; import org.flixel.*; public class Laser extends FlxSpriteEx { private const LASER_SPEED:int = 450; public var isTracking:Boolean;// = false private var speed:Number; private var ImgLaser:Class; private var startPosition:Point; public var targetSelected:Boolean;// = false public var type:String; private var direction:int; public function Laser(_arg1:int, _arg2:int){ ImgLaser = Laser_ImgLaser; direction = Math.round((360 * Math.random())); super((_arg1 + (10 * Math.cos((direction * Global.DEG_TO_RAD)))), (_arg2 + (10 * Math.sin((direction * Global.DEG_TO_RAD)))), ImgLaser, false); this.type = "laser"; Global.backLayer.addInEmpty(this); Global.lasers.add(this); create(_arg1, _arg2); } private function destroyThis():void{ exists = false; } private function trackClosestEnemy():void{ var _local1:Number; var _local5:Enemy; var _local6:Number; var _local7:Number; var _local2:Number = 0; var _local3:Point = new Point(0, 0); var _local4:Point = new Point((Math.random() * FlxG.width), (Math.random() * FlxG.height)); _local1 = (Math.pow((x - _local4.x), 2) + Math.pow((y - _local4.y), 2)); if (_local2 < _local1){ _local2 = _local1; _local3 = new Point(_local4.x, _local4.y); }; for each (_local5 in Global.enemies) { if (_local5 != null){ _local1 = (Math.pow((x - _local5.x), 2) + Math.pow((y - _local5.y), 2)); if (_local2 < _local1){ _local2 = _local1; _local3 = new Point(_local5.x, _local5.y); }; }; }; _local6 = (Math.pow((x - startPosition.x), 2) + Math.pow((y - startPosition.y), 2)); if (_local6 < 100){ _local7 = calculateAngle(_local3.x, _local3.y, this.x, this.y); if (Math.abs(_local7) < 90){ motionAdd(_local7, (450 * FlxG.elapsed)); }; computeVelocity(); this.angle = direction; }; } private function calculateAngle(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (((Math.atan2((_arg2 - _arg4), (_arg1 - _arg3)) * 180) / Math.PI)); } override public function update():void{ if (exists){ if (!onScreen()){ destroyThis(); }; trackEnemy(); super.update(); }; } private 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); } private function computeVelocity():void{ velocity.x = (speed * Math.cos(((direction * Math.PI) / 180))); velocity.y = (speed * Math.sin(((direction * Math.PI) / 180))); } public function create(_arg1:int, _arg2:int):void{ exists = true; targetSelected = false; isTracking = false; direction = Math.round((360 * Math.random())); this.x = (_arg1 + (10 * Math.cos((direction * Global.DEG_TO_RAD)))); this.y = (_arg2 + (10 * Math.sin((direction * Global.DEG_TO_RAD)))); speed = LASER_SPEED; if (Math.random() > 0.5){ new Message("OH SNAP!"); } else { new Message("PEW PEW!"); }; angle = direction; computeVelocity(); startPosition = new Point(_arg1, _arg2); trackEnemy(); } private function trackEnemy():void{ if (isTracking == false){ if (Global.enemies.length > 0){ trackClosestEnemy(); } else { isTracking = true; motionAdd(((this.angle + (Math.random() * 10)) - 20), (400 * FlxG.elapsed)); }; }; } } }//package
Section 168
//Laser_ImgLaser (Laser_ImgLaser) package { import mx.core.*; public class Laser_ImgLaser extends BitmapAsset { } }//package
Section 169
//Main (Main) package { import org.flixel.*; public class Main extends FlxGame { public function Main():void{ FlxGame.state = "Main"; super(320, 240, SplashState, 2); } } }//package
Section 170
//Message (Message) package { import org.flixel.*; public class Message extends FlxText { private const LIFE_LENGTH:Number = 1.5; private var FontAscii:Class; private var destroyThis:Boolean;// = false private var lifeTimer:Number; public function Message(_arg1:String=null){ FontAscii = Message_FontAscii; if (PlayState.message != null){ destroyThis = true; }; if (destroyThis == false){ PlayState.message = this; Global.messageExists = true; if (_arg1 == null){ _arg1 = setRandomMessage(); }; super(0, 10, FlxG.width, _arg1); alignment = "center"; font = "ASCII"; size = 8; Global.HUDLayer.addInEmpty(this); lifeTimer = LIFE_LENGTH; } else { exists = false; }; } override public function update():void{ if (destroyThis == false){ reduceLife(); }; super.update(); } private function reduceLife():void{ lifeTimer = (lifeTimer - FlxG.elapsed); if (lifeTimer < 0){ Global.messageExists = false; PlayState.message = null; Global.HUDLayer._children.remove(this, false, true); }; } private function setRandomMessage():String{ var _local2:String; var _local1:Number = Math.random(); if (_local1 > 0.75){ _local2 = "COME ON BABY!"; } else { if (_local1 > 0.5){ _local2 = "ROCK AND ROLL!"; } else { if (_local1 > 0.25){ _local2 = "GET SOME!"; } else { _local2 = "LETS GO!"; }; }; }; return (_local2); } } }//package
Section 171
//Message_FontAscii (Message_FontAscii) package { import mx.core.*; public class Message_FontAscii extends FontAsset { } }//package
Section 172
//MySprite (MySprite) package { import flash.display.*; import flash.geom.*; public class MySprite extends Sprite { public var offset:Point; public var active:Boolean;// = true public var bitmap:Bitmap; public function MySprite(_arg1:Class=null, _arg2:Number=0, _arg3:Number=0){ offset = new Point(); super(); if (_arg1 == null){ return; }; bitmap = new (_arg1); x = _arg2; y = _arg3; addChild(bitmap); } public function setOffset(_arg1:Number, _arg2:Number):void{ offset.x = _arg1; offset.y = _arg2; bitmap.x = -(_arg1); bitmap.y = -(_arg2); } public function removeInactive():void{ var _local1:Number; var _local2:DisplayObject; while (_local1 < numChildren) { _local2 = getChildAt(_local1); if ((_local2 is MySprite)){ if (!(_local2 as MySprite).active){ removeChild(_local2); }; }; _local1++; }; } public function update():void{ var _local2:DisplayObject; var _local1:Number = 0; while (_local1 < numChildren) { _local2 = getChildAt(_local1); if ((_local2 is MySprite)){ (_local2 as MySprite).update(); }; _local1++; }; } } }//package
Section 173
//Nuke (Nuke) package { import org.flixel.*; public class Nuke extends FlxSpriteEx { private const LIFE_LENGTH:int = 6; private var SndBExp:Class; private var lifeTimer:Number; private var SndNuke:Class; private var ImgNuke:Class; private var blinkTimer:Number; private var beacon:FlxSound; public function Nuke(){ ImgNuke = Nuke_ImgNuke; SndNuke = Nuke_SndNuke; SndBExp = Nuke_SndBExp; super(PlayState.player.x, PlayState.player.y, ImgNuke, false); Global.spriteLayer.addInEmpty(this); lifeTimer = LIFE_LENGTH; blinkTimer = (LIFE_LENGTH / 4); Global.nukeNumber++; if (Sounds.beacons.length == 0){ beacon = new FlxSound(); beacon.loadEmbedded(SndNuke, true); beacon.volume = (FlxG.volume - Global.SFX_VOLUME_REDUCE); beacon.play(); Sounds.beacons.push(beacon); }; blink((LIFE_LENGTH / 4), 0.05); } private function reduceLife():void{ lifeTimer = (lifeTimer - FlxG.elapsed); if (lifeTimer < 0){ destroyThis(); }; } private function blinkSprite():void{ blinkTimer = (blinkTimer - FlxG.elapsed); if (blinkTimer < 0){ blink(1000, 0.2); }; } private function stopSound():void{ Sounds.stopSound(Sounds.missileSounds); Sounds.stopSound(Sounds.planeSounds); Sounds.stopSound(Sounds.expSounds); } override public function update():void{ stopSound(); reduceLife(); blinkSprite(); if (Global.gameOver == true){ destroyThis(); }; super.update(); } private function destroyThis():void{ if (beacon != null){ beacon.stop(); Sounds.beacons.remove(beacon, true, true); beacon = null; }; var _local1:Object = Global.findFree(Global.bigExplosion); if (_local1 == null){ new BigExplosion(x, y); } else { _local1.create(x, y); }; Global.nukeNumber--; Global.spriteLayer._children.remove(this, false, true); } } }//package
Section 174
//Nuke_ImgNuke (Nuke_ImgNuke) package { import mx.core.*; public class Nuke_ImgNuke extends BitmapAsset { } }//package
Section 175
//Nuke_SndBExp (Nuke_SndBExp) package { import mx.core.*; public class Nuke_SndBExp extends SoundAsset { } }//package
Section 176
//Nuke_SndNuke (Nuke_SndNuke) package { import mx.core.*; public class Nuke_SndNuke extends SoundAsset { } }//package
Section 177
//Player (Player) package { import flash.geom.*; import org.flixel.*; public class Player extends FlxSpriteEx { private const BULLET_SHOOT_SPEED:Number = 0.055; private const COMBO_REDUCE_SPEED:int = 50; private const LASER_SHOOT_SPEED:Number = 0.06; private const LASER_LIFE_LENGTH:int = 4; private var SndLaser:Class; private var comboMsg:FlxText; public var destroyed:Boolean;// = false private var barMsgWidthDiff:Number; private var FontAscii:Class; private var ImgPlayerDummy:Class; private var comboBar:FlxSprite; private var ammoType:int; private var barShipWidthDiff:Number; private var laserTimer:Number;// = 0 private var FontAscii2:Class; private var shockActivated:Boolean;// = false private var SndShock:Class; private var SndDies:Class; private var ImgPlayer:Class; private var shootTimer:Number; private var ImgComboBar:Class; public static var comboIncrease:Boolean = false; public static var comboLast:int; public static var deathType:String = ""; public static var comboTimer:Number; public static var shield:Boolean; public function Player(){ FontAscii = Player_FontAscii; FontAscii2 = Player_FontAscii2; ImgPlayer = Player_ImgPlayer; ImgComboBar = Player_ImgComboBar; ImgPlayerDummy = Player_ImgPlayerDummy; SndDies = Player_SndDies; SndShock = Player_SndShock; SndLaser = Player_SndLaser; super(FlxG.mouse.x, FlxG.mouse.y, ImgPlayer, true, ImgPlayerDummy); addAnimation("normal", Global.createAnimationArray(6), 30, true); play("normal"); Global.spriteLayer.addInEmpty(this); shootTimer = BULLET_SHOOT_SPEED; laserTimer = LASER_LIFE_LENGTH; ammoType = 1; shield = true; comboTimer = 0; comboLast = 0; comboIncrease = false; shockActivated = false; comboBar = new FlxSprite((x - (width / 2)), (y + 20), ImgComboBar); comboBar.origin = new Point(0, 0); comboBar.scale.x = 0; Global.backLayer.addInEmpty(comboBar); comboMsg = new FlxText((x - (width / 2)), (y + 2), 60, "COMBO X"); comboMsg.size = 8; comboMsg.font = "ASCII2"; Global.backLayer.addInEmpty(comboMsg); barShipWidthDiff = ((comboBar.width - this.width) / 2); barMsgWidthDiff = ((comboMsg.width - this.width) / 2); } private function updateComboTimer():void{ if (comboTimer > 0){ comboTimer = (comboTimer - FlxG.elapsed); }; if (comboTimer < 0){ comboTimer = 0; }; if (comboTimer >= 9.99999){ comboTimer = 9.99999; }; } private function checkDestruction():void{ if (destroyed == true){ trace(deathType); destroyThis(); }; } private function shootBullets():void{ var _local1:Object; shootTimer = (shootTimer - FlxG.elapsed); if (shootTimer < 0){ if (ammoType == 1){ shootTimer = LASER_SHOOT_SPEED; } else { shootTimer = BULLET_SHOOT_SPEED; }; switch (ammoType){ case 1: _local1 = Global.findFree(Global.bullets); if (_local1 == null){ new Bullet(x, y); } else { _local1.create(x, y); }; break; case 0: _local1 = Global.findFree(Global.lasers); if (_local1 == null){ new Laser(x, y); } else { _local1.create(x, y); }; break; }; }; } override public function render():void{ super.render(); followMouse(); } private function setComboInfo():void{ if (Math.floor(comboTimer) < Math.floor(comboLast)){ comboIncrease = false; comboTimer = 0; shockActivated = false; }; if ((((comboIncrease == true)) && ((comboTimer > 1)))){ comboBar.x = ((x - (width / 2)) - barShipWidthDiff); comboBar.y = (y + 14); comboBar.scale.x = (comboTimer % 1); comboMsg.x = ((x - (width / 2)) - barMsgWidthDiff); comboMsg.y = (y + 4); comboMsg.text = ("combo x" + String(Math.floor(comboTimer))); comboBar.visible = true; comboMsg.visible = true; } else { comboBar.visible = false; comboMsg.visible = false; }; } public function destroyThis():void{ var _local2:Shield; Global.backLayer._children.remove(comboBar, true, true); Global.backLayer._children.remove(comboMsg, true, true); if (Global.shields.length > 0){ for each (_local2 in Global.shields) { Global.spriteLayer._children.remove(_local2, true, true); }; }; Global.gameOver = true; var _local1:Object = Global.findFree(Global.bigExplosion); if (_local1 == null){ new BigExplosion(x, y); } else { _local1.create(x, y); }; FlxG.play(SndDies, (FlxG.volume - Global.SFX_VOLUME_REDUCE)); Sounds.stopDies(); Global.spriteLayer._children.remove(this, true, true); } private function setPowerUp():void{ if ((((comboTimer >= 4)) && ((laserTimer == 0)))){ ammoType = 0; FlxG.play(SndLaser, (FlxG.volume - Global.SFX_VOLUME_REDUCE)); laserTimer = LASER_LIFE_LENGTH; }; if (laserTimer >= 0){ laserTimer = (laserTimer - FlxG.elapsed); } else { laserTimer = 0; ammoType = 1; }; if (comboTimer >= 3){ if (Global.shields.length == 0){ new Shield(); }; }; if (comboTimer >= 5){ if (shockActivated == false){ activateShock(); shockActivated = true; }; }; } override public function update():void{ super.update(); checkDestruction(); updateComboTimer(); setComboInfo(); setPowerUp(); shootBullets(); } public function activateShock():void{ var _local2:Object; FlxG.play(SndShock, (FlxG.volume - Global.SFX_VOLUME_REDUCE)); if (Math.random() > 0.5){ new Message("BOOOOM"); } else { new Message("KAPOW!"); }; var _local1:int; while (_local1 < 360) { _local2 = Global.findFree(Global.shocks); if (_local2 == null){ new ShockPart(_local1); } else { _local2.create(_local1); }; _local1 = (_local1 + 16); }; } public function followMouse():void{ x = FlxG.mouse.x; y = FlxG.mouse.y; } } }//package
Section 178
//Player_FontAscii (Player_FontAscii) package { import mx.core.*; public class Player_FontAscii extends FontAsset { } }//package
Section 179
//Player_FontAscii2 (Player_FontAscii2) package { import mx.core.*; public class Player_FontAscii2 extends FontAsset { } }//package
Section 180
//Player_ImgComboBar (Player_ImgComboBar) package { import mx.core.*; public class Player_ImgComboBar extends BitmapAsset { } }//package
Section 181
//Player_ImgPlayer (Player_ImgPlayer) package { import mx.core.*; public class Player_ImgPlayer extends BitmapAsset { } }//package
Section 182
//Player_ImgPlayerDummy (Player_ImgPlayerDummy) package { import mx.core.*; public class Player_ImgPlayerDummy extends BitmapAsset { } }//package
Section 183
//Player_SndDies (Player_SndDies) package { import mx.core.*; public class Player_SndDies extends SoundAsset { } }//package
Section 184
//Player_SndLaser (Player_SndLaser) package { import mx.core.*; public class Player_SndLaser extends SoundAsset { } }//package
Section 185
//Player_SndShock (Player_SndShock) package { import mx.core.*; public class Player_SndShock extends SoundAsset { } }//package
Section 186
//PlayState (PlayState) package { import flash.events.*; import flash.display.*; import flash.geom.*; import org.flixel.*; import flash.ui.*; public class PlayState extends FlxState { private const DIFFICULTY_SPEED:Number = 2; private const NUKE_SPEED:int = 10; private const START_SPAWN_SPEED:Number = 0.6; private const WAVE_SPEED:Number = 5; private var isAPIshown:Boolean;// = false private var bullet:Bullet; private var ImgMissile:Class; private var ImgLogo2:Class; private var ImgBullet:Class; public var isMouseOverAPI:Boolean;// = false private var spawnTimer:Number; private var spawnSpeed:Number;// = 1 private var FontAscii:Class; private var ImgPlayerDummy:Class; private var ImgMissDummy:Class; private var logo:FlxSpriteEx; private var endMessage:FlxText; private var waveNumber:int; private var ship:Bitmap; private var difficultyTimer:Number; private var waveTimer:Number; private var testTimer:Number;// = 0 private var waveText:FlxText; private var scoreText:FlxText; private var gameOverTimer:Number; public static var player:Player; public static var nukeTimer:Number = 0; public static var message:Message; public function PlayState(){ FontAscii = PlayState_FontAscii; ImgPlayerDummy = PlayState_ImgPlayerDummy; ImgLogo2 = PlayState_ImgLogo2; ImgBullet = PlayState_ImgBullet; ImgMissile = PlayState_ImgMissile; ImgMissDummy = PlayState_ImgMissDummy; super(); Mouse.hide(); FlxGame.state = "Play"; FlxG.pauseNumber = 0; Global.reset(); Sounds.resetAll(); Sounds.soundIni(); this.add(Global.backLayer); this.add(Global.spriteLayer); this.add(Global.HUDLayer); setLevel(); } private function raiseWaves():void{ waveTimer = (waveTimer - FlxG.elapsed); if (waveTimer < 0){ waveNumber++; waveTimer = WAVE_SPEED; waveText.text = ("WAVE " + String(waveNumber)); }; } private function checkGameOver():void{ if (Global.gameOver == true){ if (isAPIshown == false){ new Tracker(); isAPIshown = true; if (Global.score > FlxG.FlxSave.data.score){ FlxG.FlxSave.data.score = Global.score; }; waveText.text = ""; endMessage.visible = true; if (message != null){ message.visible = false; }; scoreText.visible = false; createPlayer(); Mouse.show(); ship.visible = false; AGIClass.agi.initAGUI({onClose:onAPIClose}); AGIClass.agi.showScoreboardSubmit(Global.score); } else { ship.x = FlxG.mouse.x; ship.y = FlxG.mouse.y; }; }; } private function onApiOut(_arg1:MouseEvent):void{ isMouseOverAPI = false; } private function updateScoreText():void{ scoreText.text = String(("SCORE " + Global.score)); } private function createPlayer():void{ ship = new ImgPlayerDummy(); addChild(ship); } private function onApiOver(_arg1:MouseEvent):void{ isMouseOverAPI = true; } private function checkDestructions():void{ } private function spawnEnemies():void{ var _local1:Number; var _local2:Object; spawnTimer = (spawnTimer - FlxG.elapsed); if (nukeTimer > 0){ nukeTimer = (nukeTimer - FlxG.elapsed); } else { nukeTimer = 0; }; if (spawnTimer < 0){ spawnTimer = spawnSpeed; _local1 = Math.random(); if (_local1 > 0.5){ if (Global.trackerNumber < 5){ _local2 = Global.findFree(Global.trackers); if (_local2 == null){ new Tracker(); } else { _local2.create(); }; }; } else { _local2 = Global.findFree(Global.planes); if (_local2 == null){ new AirPlane(); } else { _local2.create(); }; }; if (Global.difficulty > 10){ _local1 = Math.random(); if (_local1 > 0.666){ if (Global.tankNumber == 0){ _local2 = Global.findFree(Global.tanks); if (_local2 == null){ new Tank(); } else { _local2.create(); }; }; } else { if (_local1 > 0.333){ _local2 = Global.findFree(Global.planes); if (_local2 == null){ new AirPlane(); } else { _local2.create(); }; } else { if (Global.trackerNumber < 5){ _local2 = Global.findFree(Global.trackers); if (_local2 == null){ new Tracker(); } else { _local2.create(); }; }; }; }; }; if (Global.difficulty > 15){ _local1 = (Math.floor((Global.difficulty / 25)) * Math.random()); if (_local1 > 0.333){ if ((((Global.nukeNumber < 1)) && ((nukeTimer == 0)))){ nukeTimer = (8 + (Math.random() * 12)); new Nuke(); }; }; }; }; } private function addButton(_arg1:Object, _arg2:String):void{ var _local3:MovieClip = Global.createButton(_arg1); Global.link = _arg2; addChild(_local3); } private function raiseDifficulty():void{ difficultyTimer = (difficultyTimer - FlxG.elapsed); if (difficultyTimer < 0){ difficultyTimer = DIFFICULTY_SPEED; Global.difficulty++; if (Global.difficulty < 10){ spawnSpeed = START_SPAWN_SPEED; } else { if (Global.difficulty < 20){ spawnSpeed = (START_SPAWN_SPEED * 0.96); } else { if (Global.difficulty < 30){ spawnSpeed = (START_SPAWN_SPEED * 0.9); } else { spawnSpeed = (((START_SPAWN_SPEED * 0.88) * 30) / Global.difficulty); }; }; }; if (spawnSpeed < 0.7){ spawnSpeed = 0.7; }; if (Global.difficulty < 10){ if (AirPlane.speed < 250){ AirPlane.speed = (AirPlane.speed + 3); }; if (Tracker.speed < 280){ Tracker.speed = (Tracker.speed + 1.2); }; } else { if (Global.difficulty < 20){ if (AirPlane.speed < 250){ AirPlane.speed = (AirPlane.speed + 1.5); }; if (Tracker.speed < 280){ Tracker.speed = (Tracker.speed + 1.2); }; } else { if (Global.difficulty < 30){ if (AirPlane.speed < 250){ AirPlane.speed = (AirPlane.speed + 1.2); }; if (Tracker.speed < 280){ Tracker.speed = (Tracker.speed + 0.8); }; } else { if (AirPlane.speed < 250){ AirPlane.speed = (AirPlane.speed + ((1.2 * 30) / Global.difficulty)); }; if (Tracker.speed < 280){ Tracker.speed = (Tracker.speed + ((0.25 * 30) / Global.difficulty)); }; }; }; }; }; } override public function update():void{ checkGameOver(); if (Global.gameOver == false){ spawnEnemies(); raiseDifficulty(); raiseWaves(); updateScoreText(); checkDestructions(); }; super.update(); player.followMouse(); } private function setLevel():void{ scoreText = new FlxText(2, 2, FlxG.width, "SCORE"); scoreText.alignment = "left"; scoreText.size = 8; scoreText.font = "ASCII"; scoreText.color = 8454016; Global.HUDLayer.add(scoreText); waveText = new FlxText(0, (FlxG.height - 16), FlxG.width, "WAVE 1"); waveText.alignment = "center"; waveText.font = "ASCII"; waveText.size = 8; Global.HUDLayer.add(waveText); endMessage = new FlxText(0, 3, FlxG.width, "GAME OVER"); endMessage.alignment = "center"; endMessage.font = "ASCII"; endMessage.size = 16; endMessage.visible = false; Global.HUDLayer.add(endMessage); waveNumber = 1; waveTimer = WAVE_SPEED; difficultyTimer = DIFFICULTY_SPEED; player = new Player(); new Message(); spawnTimer = START_SPAWN_SPEED; spawnSpeed = START_SPAWN_SPEED; gameOverTimer = 1; nukeTimer = 0; Tracker.speed = 150; AirPlane.speed = 100; } private function addLogo():void{ logo = new FlxSpriteEx(240, 5, ImgLogo2, false); logo.dummy.setOffset(0, 0); logo.offset = new Point(0, 0); Global.backLayer.add(logo); } private function onAPIClose():void{ FlxG.switchState(EndState); } } }//package
Section 187
//PlayState_FontAscii (PlayState_FontAscii) package { import mx.core.*; public class PlayState_FontAscii extends FontAsset { } }//package
Section 188
//PlayState_ImgBullet (PlayState_ImgBullet) package { import mx.core.*; public class PlayState_ImgBullet extends BitmapAsset { } }//package
Section 189
//PlayState_ImgLogo2 (PlayState_ImgLogo2) package { import mx.core.*; public class PlayState_ImgLogo2 extends BitmapAsset { } }//package
Section 190
//PlayState_ImgMissDummy (PlayState_ImgMissDummy) package { import mx.core.*; public class PlayState_ImgMissDummy extends BitmapAsset { } }//package
Section 191
//PlayState_ImgMissile (PlayState_ImgMissile) package { import mx.core.*; public class PlayState_ImgMissile extends BitmapAsset { } }//package
Section 192
//PlayState_ImgPlayerDummy (PlayState_ImgPlayerDummy) package { import mx.core.*; public class PlayState_ImgPlayerDummy extends BitmapAsset { } }//package
Section 193
//Preloader (Preloader) package { import org.flixel.data.*; public class Preloader extends FlxFactory { public function Preloader():void{ className = "Main"; myURL = "armorgames.com/"; lock = true; super(); } } }//package
Section 194
//Shield (Shield) package { import org.flixel.*; public class Shield extends FlxSpriteEx { private const ANGULAR_SPEED:int = 400; private const LIFE_LENGTH:Number = 5; private var lifeTimer:Number; private var ImgShield:Class; private var flickerTimer:Number; private var SndPick:Class; private var ImgShieldDummy:Class; public function Shield(){ ImgShield = Shield_ImgShield; ImgShieldDummy = Shield_ImgShieldDummy; SndPick = Shield_SndPick; super(-50, -50, ImgShield, false); Global.spriteLayer.addInEmpty(this); Global.shields.add(this); var _local1:Number = Math.random(); if (_local1 > 0.75){ new Message("RADICAL!"); } else { if (_local1 > 0.5){ new Message("GROOVY!"); } else { if (_local1 > 0.25){ new Message("AWESOME!"); } else { new Message("NICE!"); }; }; }; FlxG.play(SndPick, (FlxG.volume - Global.SFX_VOLUME_REDUCE)); angularVelocity = ANGULAR_SPEED; lifeTimer = LIFE_LENGTH; flickerTimer = (LIFE_LENGTH / 1.6); } private function updatePosition():void{ x = PlayState.player.x; y = PlayState.player.y; } private function reduceLife():void{ lifeTimer = (lifeTimer - FlxG.elapsed); if (lifeTimer < 0){ destroyThis(); }; } private function destroyThis():void{ Global.shields.remove(this, true, true); Global.spriteLayer._children.remove(this, false, true); } override public function update():void{ updatePosition(); reduceLife(); flickerThis(); super.update(); if (PlayState.player.destroyed){ destroyThis(); }; } private function flickerThis():void{ flickerTimer = (flickerTimer - FlxG.elapsed); if (flickerTimer < 0){ flickerTimer = 1000; blink(1000, 0.2); }; } } }//package
Section 195
//Shield_ImgShield (Shield_ImgShield) package { import mx.core.*; public class Shield_ImgShield extends BitmapAsset { } }//package
Section 196
//Shield_ImgShieldDummy (Shield_ImgShieldDummy) package { import mx.core.*; public class Shield_ImgShieldDummy extends BitmapAsset { } }//package
Section 197
//Shield_SndPick (Shield_SndPick) package { import mx.core.*; public class Shield_SndPick extends SoundAsset { } }//package
Section 198
//ShockPart (ShockPart) package { import org.flixel.*; public class ShockPart extends FlxSpriteEx { private const SPEED:int = 150; private var ImgShock:Class; public function ShockPart(_arg1:int){ ImgShock = ShockPart_ImgShock; super(160, 120, ImgShock, false); Global.backLayer.addInEmpty(this); Global.shocks.addInEmpty(this); create(_arg1); } private function computeVelocity():void{ velocity.x = (SPEED * Math.cos(((angle * Math.PI) / 180))); velocity.y = (SPEED * Math.sin(((angle * Math.PI) / 180))); } private function destroyThis():void{ exists = false; } override public function update():void{ if (!onScreen()){ destroyThis(); }; super.update(); } public function create(_arg1:int):void{ exists = true; x = 160; y = 120; angle = _arg1; computeVelocity(); } } }//package
Section 199
//ShockPart_ImgShock (ShockPart_ImgShock) package { import mx.core.*; public class ShockPart_ImgShock extends BitmapAsset { } }//package
Section 200
//Sounds (Sounds) package { import org.flixel.*; public class Sounds { public static var planeSounds:FlxArray; public static var expSounds:FlxArray; public static var beaconSounds:FlxArray; public static var missileSounds:FlxArray; public static var beacons:FlxArray; public static var bigExpSounds:FlxArray; public static var gemSounds:FlxArray; public static function stopDies():void{ stopSound(gemSounds); stopSound(planeSounds); stopSound(missileSounds); stopSound(expSounds); stopSound(bigExpSounds); stopSound(beaconSounds); } public static function pauseAll():void{ var _local1:FlxSound; for each (_local1 in FlxSound.sounds) { _local1.pause(); }; } public static function playAll():void{ var _local1:FlxSound; for each (_local1 in FlxSound.sounds) { _local1.play(); }; } public static function resetAll():void{ Sounds.resetSound(gemSounds); Sounds.resetSound(missileSounds); Sounds.resetSound(expSounds); Sounds.resetSound(planeSounds); Sounds.resetSound(bigExpSounds); Sounds.resetSound(beaconSounds); Sounds.resetSound(beacons); } public static function soundIni():void{ FlxSound.sounds = new FlxArray(); gemSounds = new FlxArray(); planeSounds = new FlxArray(); missileSounds = new FlxArray(); expSounds = new FlxArray(); bigExpSounds = new FlxArray(); beaconSounds = new FlxArray(); beacons = new FlxArray(); } public static function loadSound(_arg1:Class, _arg2:FlxArray):void{ var _local3:FlxSound = new FlxSound(); _local3.loadEmbedded(_arg1, false); _local3.play(); _local3.volume = (FlxG.volume - Global.SFX_VOLUME_REDUCE); _local3.survive = true; _arg2.push(_local3); } public static function resetSound(_arg1:FlxArray):void{ var _local2:FlxSound; if (_arg1 != null){ for each (_local2 in _arg1) { if (_local2 != null){ _local2.stop(); _local2.destroy(); _local2 = null; }; }; }; _arg1 = new FlxArray(); } public static function stopSound(_arg1:FlxArray):void{ var _local2:FlxSound; for each (_local2 in _arg1) { _local2.stop(); }; } } }//package
Section 201
//SplashState (SplashState) package { import flash.events.*; import flash.display.*; import org.flixel.*; import flash.ui.*; public class SplashState extends FlxState { private var head:headBig; private var ImgPlayer:Class; private var ImgButtPress:Class; private var buttonPressed:FlxSpriteEx; private var button:FlxSpriteEx; private var ImgPlayerDummy:Class; private var ImgButt:Class; private var intro:ag_intro_mc; private var ship:Bitmap; public function SplashState(){ ImgButt = SplashState_ImgButt; ImgButtPress = SplashState_ImgButtPress; ImgPlayer = SplashState_ImgPlayer; ImgPlayerDummy = SplashState_ImgPlayerDummy; super(); Mouse.show(); FlxG.hideCursor(); intro = new ag_intro_mc(); intro.scaleX = 0.7; intro.scaleY = 0.7; intro.x = 160; intro.y = 120; addChild(intro); intro.buttonMode = true; buttonMode = true; intro.addEventListener(MouseEvent.CLICK, onStageClick); addEventListener(MouseEvent.CLICK, onStageClick); } override public function update():void{ super.update(); if (intro.currentFrame > 217){ FlxG.switchState(IntroState); }; } private function onStageClick(_arg1:MouseEvent):void{ FlxG.openURL("http://www.ArmorGames.com"); } private function createPlayer():void{ ship = new ImgPlayerDummy(); addChild(ship); } } }//package
Section 202
//SplashState_ImgButt (SplashState_ImgButt) package { import mx.core.*; public class SplashState_ImgButt extends BitmapAsset { } }//package
Section 203
//SplashState_ImgButtPress (SplashState_ImgButtPress) package { import mx.core.*; public class SplashState_ImgButtPress extends BitmapAsset { } }//package
Section 204
//SplashState_ImgPlayer (SplashState_ImgPlayer) package { import mx.core.*; public class SplashState_ImgPlayer extends BitmapAsset { } }//package
Section 205
//SplashState_ImgPlayerDummy (SplashState_ImgPlayerDummy) package { import mx.core.*; public class SplashState_ImgPlayerDummy extends BitmapAsset { } }//package
Section 206
//Tank (Tank) package { import org.flixel.*; public class Tank extends Enemy { private const HIT_LENGTH:Number = 0.3; private var costumeCheck:Boolean;// = false private var SndHit:Class; private var ImgTank:Class; private var hitTimer:Number; private var ImgTankDummy:Class; private var hitNumber:int; public static var speed:Number = 100; public function Tank(){ ImgTank = Tank_ImgTank; ImgTankDummy = Tank_ImgTankDummy; SndHit = Tank_SndHit; super(-100, 600, ImgTank, null, true, ImgTankDummy); Global.tanks.add(this); addAnimation("normal", [0, 1, 2], 5, true); addAnimation("hitted", [3, 4, 5], 5, true); create(); } private function collideBullets():void{ var _local1:Object; var _local2:Object; var _local3:ShockPart; var _local4:Shield; if (hitTimer == 0){ for each (_local1 in Global.bullets) { if (((((((exists) && (_local1.exists))) && ((hitTimer == 0)))) && (HitTest.complexHitTestObject(this.dummy, _local1.dummy)))){ _local1.isTracking = true; FlxG.play(SndHit, (FlxG.volume - Global.SFX_VOLUME_REDUCE)); hitNumber--; play("hitted"); hitTimer = HIT_LENGTH; costumeCheck = false; _local1.exists = false; }; }; for each (_local2 in Global.lasers) { if (((((((exists) && (_local2.exists))) && ((hitTimer == 0)))) && (HitTest.complexHitTestObject(this.dummy, _local2.dummy)))){ _local2.isTracking = true; FlxG.play(SndHit, (FlxG.volume - Global.SFX_VOLUME_REDUCE)); hitNumber = (hitNumber - 2); play("hitted"); hitTimer = HIT_LENGTH; costumeCheck = false; }; }; for each (_local3 in Global.shocks) { if (((((((exists) && (_local3.exists))) && ((hitTimer == 0)))) && (HitTest.complexHitTestObject(this.dummy, _local3.dummy)))){ hitNumber = (hitNumber - 10); FlxG.play(SndHit, (FlxG.volume - Global.SFX_VOLUME_REDUCE)); play("hitted"); hitTimer = HIT_LENGTH; costumeCheck = false; _local3.exists = false; }; }; for each (_local4 in Global.shields) { if (((((((exists) && (_local4.exists))) && ((hitTimer == 0)))) && (HitTest.complexHitTestObject(this.dummy, _local4.dummy)))){ hitNumber--; FlxG.play(SndHit, (FlxG.volume - Global.SFX_VOLUME_REDUCE)); play("hitted"); hitTimer = HIT_LENGTH; costumeCheck = false; }; }; }; } public function create():void{ exists = true; visible = true; if (Math.random() > 0.5){ x = -20; y = 120; direction = 0; angle = 180; } else { x = 340; y = 120; direction = 180; angle = 0; }; dummy.x = x; dummy.y = y; computeVelocity(); hitNumber = 2; play("normal", true); hitTimer = 0; counter = 0; costumeCheck = false; isDestroyed = false; Global.tankNumber++; } private function collideWithPlayer():void{ if ((((((((PlayState.player.destroyed == false)) && (this.exists))) && (PlayState.player.exists))) && (HitTest.complexHitTestObject(this.dummy, PlayState.player.dummy)))){ Player.deathType = "tank"; PlayState.player.destroyed = true; }; } override public function update():void{ var _local1:Object; if (exists){ collideBullets(); collideWithPlayer(); changeCostume(); explodeThis(); isOnScreen(); if (Global.gameOver == true){ _local1 = Global.findFree(Global.explosions); if (_local1 == null){ new Explosion(x, y); } else { _local1.create(x, y); }; destroyThis(); }; super.update(); }; } private function computeVelocity():void{ velocity.x = (speed * Math.cos(((direction * Math.PI) / 180))); velocity.y = (speed * Math.sin(((direction * Math.PI) / 180))); } private function isOnScreen():void{ if ((((x < -40)) || ((x > 360)))){ Global.tankNumber--; destroyThis(); }; } private function changeCostume():void{ if (hitTimer > 0){ hitTimer = (hitTimer - FlxG.elapsed); } else { if ((((hitTimer < 0)) && ((costumeCheck == false)))){ hitTimer = 0; play("normal"); costumeCheck = true; }; }; } private function explodeThis():void{ var _local1:Object; if (hitNumber <= 0){ _local1 = Global.findFree(Global.explosions); if (_local1 == null){ new Explosion(x, y); } else { _local1.create(x, y); }; if (Math.random() > 0.2){ _local1 = Global.findFree(Global.spawners); if (_local1 == null){ new DiamondSpawn(); } else { _local1.create(); }; }; Global.score = (Global.score + 100); new Message("TANK YOU!"); Global.tankNumber--; destroyThis(); }; } } }//package
Section 207
//Tank_ImgTank (Tank_ImgTank) package { import mx.core.*; public class Tank_ImgTank extends BitmapAsset { } }//package
Section 208
//Tank_ImgTankDummy (Tank_ImgTankDummy) package { import mx.core.*; public class Tank_ImgTankDummy extends BitmapAsset { } }//package
Section 209
//Tank_SndHit (Tank_SndHit) package { import mx.core.*; public class Tank_SndHit extends SoundAsset { } }//package
Section 210
//TitleState (TitleState) package { import flash.events.*; import flash.display.*; import org.flixel.*; import flash.ui.*; public class TitleState extends FlxState { private var SndBck:Class; private var ImgLogo1:Class; private var SndExp:Class; private var FontAscii:Class; private var ImgPlayerDummy:Class; public var isMouseOverArmor:Boolean;// = false private var ImgTitle:Class; private var ship:Bitmap; private var armor:ArmorClip; public function TitleState(){ var _local1:FlxText; ImgTitle = TitleState_ImgTitle; SndExp = TitleState_SndExp; SndBck = TitleState_SndBck; FontAscii = TitleState_FontAscii; ImgPlayerDummy = TitleState_ImgPlayerDummy; ImgLogo1 = TitleState_ImgLogo1; super(); this.add(new FlxSprite(0, 0, ImgTitle)); if (FlxG.FlxSave.data.score == null){ FlxG.FlxSave.data.score = 0; }; if (FlxG.FlxSave.data.help == null){ FlxG.FlxSave.data.help = 0; }; _local1 = new FlxText(0, 5, FlxG.width, ("HIGHSCORE " + String(FlxG.FlxSave.data.score))); _local1.alignment = "center"; _local1.color = 8454016; _local1.font = "ASCII"; _local1.size = 8; this.add(_local1); var _local2:FlxText = new FlxText(5, 5, FlxG.width, "HELP F1"); _local2.alignment = "left"; _local2.color = 7246079; _local2.font = "ASCII"; _local2.size = 8; this.add(_local2); var _local3:FlxText = new FlxText((FlxG.width - 65), 5, FlxG.width, "PAUSE P"); _local3.alignment = "left"; _local3.color = 7246079; _local3.font = "ASCII"; _local3.size = 8; this.add(_local3); addLogo(); createPlayer(); } override public function update():void{ ship.x = FlxG.mouse.x; ship.y = FlxG.mouse.y; switchState(); super.update(); } private function switchState():void{ if (((FlxG.mouse.justPressed()) && (!(isMouseOverArmor)))){ FlxG.play(SndExp); if (FlxG.FlxSave.data.help == 0){ FlxG.FlxSave.data.help++; FlxG.switchState(HelpState); } else { FlxG.switchState(PlayState); }; } else { if (FlxG.keys.F1){ FlxG.switchState(HelpState); }; }; } private function onArmorOut(_arg1:MouseEvent):void{ isMouseOverArmor = false; ship.visible = true; Mouse.hide(); } private function onArmorClick(_arg1:MouseEvent):void{ FlxG.openURL(Global.link); } private function onArmorOver(_arg1:MouseEvent):void{ isMouseOverArmor = true; ship.visible = false; Mouse.show(); } private function addLogo():void{ armor = new ArmorClip(); armor.btnArmor.addEventListener(MouseEvent.CLICK, onArmorClick); armor.btnArmor.addEventListener(MouseEvent.MOUSE_OVER, onArmorOver); armor.btnArmor.addEventListener(MouseEvent.MOUSE_OUT, onArmorOut); addChild(armor); } private function addButton(_arg1:Object, _arg2:String):void{ var _local3:MovieClip = Global.createButton(_arg1); Global.link = _arg2; addChild(_local3); } private function createPlayer():void{ ship = new ImgPlayerDummy(); addChild(ship); } } }//package
Section 211
//TitleState_FontAscii (TitleState_FontAscii) package { import mx.core.*; public class TitleState_FontAscii extends FontAsset { } }//package
Section 212
//TitleState_ImgLogo1 (TitleState_ImgLogo1) package { import mx.core.*; public class TitleState_ImgLogo1 extends BitmapAsset { } }//package
Section 213
//TitleState_ImgPlayerDummy (TitleState_ImgPlayerDummy) package { import mx.core.*; public class TitleState_ImgPlayerDummy extends BitmapAsset { } }//package
Section 214
//TitleState_ImgTitle (TitleState_ImgTitle) package { import mx.core.*; public class TitleState_ImgTitle extends BitmapAsset { } }//package
Section 215
//TitleState_SndBck (TitleState_SndBck) package { import mx.core.*; public class TitleState_SndBck extends SoundAsset { } }//package
Section 216
//TitleState_SndExp (TitleState_SndExp) package { import mx.core.*; public class TitleState_SndExp extends SoundAsset { } }//package
Section 217
//Tracker (Tracker) package { import org.flixel.*; public class Tracker extends Enemy { private const SWITCH_SPEED:Number = 0.2; private var ImgMissile:Class; private var SndMiss:Class; private var ImgMissDummy:Class; private var switchTimer:Number; public static var speed:Number = 150; public function Tracker(){ var _local2:int; var _local3:int; ImgMissile = Tracker_ImgMissile; ImgMissDummy = Tracker_ImgMissDummy; SndMiss = Tracker_SndMiss; var _local1:Number = Math.random(); _local2 = (Math.random() * FlxG.width); _local3 = -60; super(_local2, _local3, ImgMissile, SndMiss, true, ImgMissDummy); addAnimation("normal", [0, 1, 2], 5, true); Global.trackers.push(this); create(); } private function destroySpawners():void{ var _local1:DiamondSpawn; for each (_local1 in Global.spawners) { if (((((exists) && (_local1.exists))) && (HitTest.complexHitTestObject(this.dummy, _local1.dummy)))){ _local1.exists = false; }; }; } public function create():void{ exists = true; visible = true; Global.trackerNumber++; x = (Math.random() * FlxG.width); y = -60; dummy.x = x; dummy.y = y; counter = 0; isDestroyed = false; play("normal", true); Sounds.loadSound(SndMiss, Sounds.missileSounds); switchTimer = SWITCH_SPEED; } private function trackPlayer():void{ switchTimer = (switchTimer - FlxG.elapsed); if (switchTimer < 0){ switchTimer = 0.1; if (PlayState.player != null){ direction = (30 * Math.round((calculateAngle(PlayState.player.x, PlayState.player.y, x, y) / 30))); } else { direction = (30 * Math.round((calculateAngle((Math.random() * FlxG.width), (Math.random() * FlxG.height), x, y) / 30))); }; angle = direction; computeVelocity(); }; } override public function update():void{ var _local1:Object; if (exists){ collideWithPlayer(); collideWithNuke(); collideBullets(); destroySpawners(); trackPlayer(); if (Global.gameOver == true){ _local1 = Global.findFree(Global.explosions); if (_local1 == null){ new Explosion(x, y); } else { _local1.create(x, y); }; Global.trackerNumber--; destroyThis(); }; super.update(); }; } private function computeVelocity():void{ velocity.x = (speed * Math.cos(((direction * Math.PI) / 180))); velocity.y = (speed * Math.sin(((direction * Math.PI) / 180))); } private function collideBullets():void{ var _local1:Bullet; var _local2:Laser; var _local3:ShockPart; var _local4:Shield; var _local5:Object; for each (_local1 in Global.bullets) { if (((((exists) && (_local1.exists))) && (HitTest.complexHitTestObject(this.dummy, _local1.dummy)))){ _local5 = Global.findFree(Global.explosions); if (_local5 == null){ new Explosion(x, y); } else { _local5.create(x, y); }; Sounds.stopDies(); Global.score = (Global.score + 71); if (Math.random() > 0.33){ _local5 = Global.findFree(Global.spawners); if (_local5 == null){ new DiamondSpawn(); } else { _local5.create(); }; }; exists = false; Global.trackerNumber--; _local1.exists = false; _local1.isTracking = true; }; }; for each (_local2 in Global.lasers) { if (((((exists) && (_local2.exists))) && (HitTest.complexHitTestObject(this.dummy, _local2.dummy)))){ _local5 = Global.findFree(Global.explosions); if (_local5 == null){ new Explosion(x, y); } else { _local5.create(x, y); }; Sounds.stopDies(); Global.score = (Global.score + 71); _local2.isTracking = true; if (Math.random() > 0.85){ _local5 = Global.findFree(Global.spawners); if (_local5 == null){ new DiamondSpawn(); } else { _local5.create(); }; }; _local2.isTracking = true; Global.trackerNumber--; exists = false; }; }; for each (_local3 in Global.shocks) { if (((((exists) && (_local3.exists))) && (HitTest.complexHitTestObject(this.dummy, _local3.dummy)))){ _local5 = Global.findFree(Global.explosions); if (_local5 == null){ new Explosion(x, y); } else { _local5.create(x, y); }; Sounds.stopDies(); Global.score = (Global.score + 51); if (Math.random() > 0.9){ _local5 = Global.findFree(Global.spawners); if (_local5 == null){ new DiamondSpawn(); } else { _local5.create(); }; }; _local3.exists = false; Global.trackerNumber--; destroyThis(); }; }; for each (_local4 in Global.shields) { if (((((exists) && (_local4.exists))) && (HitTest.complexHitTestObject(this.dummy, _local4.dummy)))){ _local5 = Global.findFree(Global.explosions); if (_local5 == null){ new Explosion(x, y); } else { _local5.create(x, y); }; Sounds.stopDies(); Global.score = (Global.score + 53); if (Math.random() > 0.486){ _local5 = Global.findFree(Global.spawners); if (_local5 == null){ new DiamondSpawn(); } else { _local5.create(); }; }; Global.trackerNumber--; destroyThis(); }; }; } private function collideWithPlayer():void{ if ((((((((PlayState.player.destroyed == false)) && (exists))) && (PlayState.player.exists))) && (HitTest.complexHitTestObject(this.dummy, PlayState.player.dummy)))){ Player.deathType = "tracker"; PlayState.player.destroyed = true; }; } private function collideWithNuke():void{ var _local1:BigExplosion; var _local2:Object; for each (_local1 in Global.bigExplosion) { if (((((exists) && (_local1.exists))) && (HitTest.complexHitTestObject(this.dummy, _local1.dummy)))){ _local2 = Global.findFree(Global.explosions); if (_local2 == null){ new Explosion(x, y); } else { _local2.create(x, y); }; Sounds.stopDies(); Global.score = (Global.score + 51); if (Math.random() > 0.2){ _local2 = Global.findFree(Global.spawners); if (_local2 == null){ new DiamondSpawn(); } else { _local2.create(); }; }; Global.trackerNumber--; destroyThis(); }; }; } } }//package
Section 218
//Tracker_ImgMissDummy (Tracker_ImgMissDummy) package { import mx.core.*; public class Tracker_ImgMissDummy extends BitmapAsset { } }//package
Section 219
//Tracker_ImgMissile (Tracker_ImgMissile) package { import mx.core.*; public class Tracker_ImgMissile extends BitmapAsset { } }//package
Section 220
//Tracker_SndMiss (Tracker_SndMiss) package { import mx.core.*; public class Tracker_SndMiss extends SoundAsset { } }//package

Library Items

Symbol 1 Sound {org.flixel.FlxGame_SndFlixel} [org.flixel.FlxGame_SndFlixel]
Symbol 2 Sound {org.flixel.FlxGame_SndBeep} [org.flixel.FlxGame_SndBeep]
Symbol 3 Bitmap {org.flixel.data.FlxPause_ImgKey0}
Symbol 4 Bitmap {org.flixel.data.FlxPanel_ImgStumble}
Symbol 5 Bitmap {org.flixel.FlxG_ImgDefaultCursor}
Symbol 6 Bitmap {org.flixel.data.FlxPanel_ImgClose}
Symbol 7 Bitmap {org.flixel.data.FlxPause_ImgKeyPlus}
Symbol 8 Bitmap {org.flixel.data.FlxFactory_ImgBit}
Symbol 9 Bitmap {org.flixel.data.FlxPanel_ImgDonate}
Symbol 10 Bitmap {org.flixel.data.FlxPause_ImgKeyMinus}
Symbol 11 Bitmap {org.flixel.data.FlxPanel_ImgTwitter}
Symbol 12 Bitmap {org.flixel.data.FlxPause_ImgKeyP}
Symbol 13 Font {org.flixel.FlxGame_junk}
Symbol 14 Bitmap {org.flixel.data.FlxPanel_ImgDigg}
Symbol 15 Bitmap {org.flixel.data.FlxFactory_ImgBar}
Symbol 16 Bitmap {org.flixel.FlxGame_ImgPoweredBy}
Symbol 17 Bitmap {org.flixel.data.FlxPanel_ImgReddit}
Symbol 18 Bitmap {org.flixel.data.FlxPanel_ImgDelicious}
Symbol 19 GraphicUsed by:34
Symbol 20 GraphicUsed by:34
Symbol 21 GraphicUsed by:34
Symbol 22 SoundUsed by:34
Symbol 23 SoundUsed by:34
Symbol 24 GraphicUsed by:34
Symbol 25 GraphicUsed by:26
Symbol 26 MovieClipUses:25Used by:34
Symbol 27 SoundUsed by:34
Symbol 28 SoundUsed by:34
Symbol 29 SoundUsed by:34
Symbol 30 GraphicUsed by:31
Symbol 31 ButtonUses:30Used by:34
Symbol 32 SoundUsed by:34
Symbol 33 SoundUsed by:34
Symbol 34 MovieClip {ag_intro_mc} [ag_intro_mc]Uses:19 20 21 22 23 24 26 27 28 29 31 32 33
Symbol 35 GraphicUsed by:41
Symbol 36 GraphicUsed by:41
Symbol 37 GraphicUsed by:38
Symbol 38 MovieClipUses:37Used by:41
Symbol 39 GraphicUsed by:40
Symbol 40 MovieClipUses:39Used by:41
Symbol 41 MovieClipUses:35 36 38 40Used by:49
Symbol 42 GraphicUsed by:48
Symbol 43 GraphicUsed by:48
Symbol 44 GraphicUsed by:45
Symbol 45 MovieClipUses:44Used by:48
Symbol 46 GraphicUsed by:47
Symbol 47 MovieClipUses:46Used by:48
Symbol 48 MovieClipUses:42 43 45 47Used by:49
Symbol 49 MovieClipUses:41 48Used by:63
Symbol 50 GraphicUsed by:62
Symbol 51 GraphicUsed by:62
Symbol 52 GraphicUsed by:62
Symbol 53 GraphicUsed by:62
Symbol 54 GraphicUsed by:62
Symbol 55 GraphicUsed by:62
Symbol 56 GraphicUsed by:62
Symbol 57 GraphicUsed by:62
Symbol 58 GraphicUsed by:62
Symbol 59 GraphicUsed by:62
Symbol 60 GraphicUsed by:62
Symbol 61 GraphicUsed by:62
Symbol 62 MovieClipUses:50 51 52 53 54 55 56 57 58 59 60 61Used by:63
Symbol 63 MovieClip {headBig} [headBig]Uses:49 62
Symbol 64 Sound {IntroState_SndBck} [IntroState_SndBck]
Symbol 65 Sound {TitleState_SndExp} [TitleState_SndExp]
Symbol 66 Sound {TitleState_SndBck} [TitleState_SndBck]
Symbol 67 BitmapUsed by:68
Symbol 68 GraphicUses:67Used by:69
Symbol 69 Button {ArmorGamesButton} [ArmorGamesButton]Uses:68Used by:70
Symbol 70 MovieClip {ArmorClip} [ArmorClip]Uses:69
Symbol 71 Sound {HelpState_SndExp} [HelpState_SndExp]
Symbol 72 Sound {AirPlane_SndPlane} [AirPlane_SndPlane]
Symbol 73 Sound {AirPlane_SndDie} [AirPlane_SndDie]
Symbol 74 Sound {Player_SndShock} [Player_SndShock]
Symbol 75 Sound {Player_SndDies} [Player_SndDies]
Symbol 76 Sound {Player_SndLaser} [Player_SndLaser]
Symbol 77 Sound {Tank_SndHit} [Tank_SndHit]
Symbol 78 Sound {Tracker_SndMiss} [Tracker_SndMiss]
Symbol 79 Sound {Nuke_SndBExp} [Nuke_SndBExp]
Symbol 80 Sound {Nuke_SndNuke} [Nuke_SndNuke]
Symbol 81 Sound {EndState_SndExp} [EndState_SndExp]
Symbol 82 Sound {Explosion_SndExp} [Explosion_SndExp]
Symbol 83 Sound {Shield_SndPick} [Shield_SndPick]
Symbol 84 Sound {BigExplosion_SndBExp} [BigExplosion_SndBExp]
Symbol 85 Sound {Diamond_SndGem} [Diamond_SndGem]
Symbol 86 Bitmap {BigExplosion_ImgDummyBExp}
Symbol 87 Bitmap {Diamond_ImgGem}
Symbol 88 Bitmap {Tank_ImgTank}
Symbol 89 Bitmap {Player_ImgPlayer}
Symbol 90 Bitmap {TitleState_ImgLogo1}
Symbol 91 Font {Message_FontAscii}
Symbol 92 Bitmap {SplashState_ImgPlayerDummy}
Symbol 93 Bitmap {PlayState_ImgMissDummy}
Symbol 94 Bitmap {HelpState_ImgHelp}
Symbol 95 Bitmap {Tank_ImgTankDummy}
Symbol 96 Bitmap {Shield_ImgShieldDummy}
Symbol 97 Bitmap {SplashState_ImgButtPress}
Symbol 98 Bitmap {Explosion_ImgExp}
Symbol 99 Bitmap {PlayState_ImgLogo2}
Symbol 100 Bitmap {Bullet_ImgBullet}
Symbol 101 Bitmap {ShockPart_ImgShock}
Symbol 102 Bitmap {DiamondSpawn_ImgSpawner}
Symbol 103 Bitmap {Laser_ImgLaser}
Symbol 104 Bitmap {DiamondSpawn_ImgSpawnerDummy}
Symbol 105 Bitmap {Tracker_ImgMissile}
Symbol 106 Bitmap {AirPlane_ImgPlane}
Symbol 107 Font {Player_FontAscii2}
Symbol 108 Bitmap {BigExplosion_ImgBExp}
Symbol 109 Bitmap {Player_ImgComboBar}
Symbol 110 Bitmap {Nuke_ImgNuke}
Symbol 111 Bitmap {Shield_ImgShield}
Symbol 112 Bitmap {TitleState_ImgTitle}
Symbol 113 Bitmap {SplashState_ImgButt}

Instance Names

"linkButton"Symbol 34 MovieClip {ag_intro_mc} [ag_intro_mc] Frame 82Symbol 31 Button
"btnArmor"Symbol 70 MovieClip {ArmorClip} [ArmorClip] Frame 1Symbol 69 Button {ArmorGamesButton} [ArmorGamesButton]

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1459 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
ExportAssets (56)Timeline Frame 1Symbol 1 as "org.flixel.FlxGame_SndFlixel"
ExportAssets (56)Timeline Frame 1Symbol 2 as "org.flixel.FlxGame_SndBeep"
ExportAssets (56)Timeline Frame 2Symbol 34 as "ag_intro_mc"
ExportAssets (56)Timeline Frame 2Symbol 63 as "headBig"
ExportAssets (56)Timeline Frame 2Symbol 64 as "IntroState_SndBck"
ExportAssets (56)Timeline Frame 2Symbol 65 as "TitleState_SndExp"
ExportAssets (56)Timeline Frame 2Symbol 66 as "TitleState_SndBck"
ExportAssets (56)Timeline Frame 2Symbol 70 as "ArmorClip"
ExportAssets (56)Timeline Frame 2Symbol 69 as "ArmorGamesButton"
ExportAssets (56)Timeline Frame 2Symbol 71 as "HelpState_SndExp"
ExportAssets (56)Timeline Frame 2Symbol 72 as "AirPlane_SndPlane"
ExportAssets (56)Timeline Frame 2Symbol 73 as "AirPlane_SndDie"
ExportAssets (56)Timeline Frame 2Symbol 74 as "Player_SndShock"
ExportAssets (56)Timeline Frame 2Symbol 75 as "Player_SndDies"
ExportAssets (56)Timeline Frame 2Symbol 76 as "Player_SndLaser"
ExportAssets (56)Timeline Frame 2Symbol 77 as "Tank_SndHit"
ExportAssets (56)Timeline Frame 2Symbol 78 as "Tracker_SndMiss"
ExportAssets (56)Timeline Frame 2Symbol 79 as "Nuke_SndBExp"
ExportAssets (56)Timeline Frame 2Symbol 80 as "Nuke_SndNuke"
ExportAssets (56)Timeline Frame 2Symbol 81 as "EndState_SndExp"
ExportAssets (56)Timeline Frame 2Symbol 82 as "Explosion_SndExp"
ExportAssets (56)Timeline Frame 2Symbol 83 as "Shield_SndPick"
ExportAssets (56)Timeline Frame 2Symbol 84 as "BigExplosion_SndBExp"
ExportAssets (56)Timeline Frame 2Symbol 85 as "Diamond_SndGem"
SerialNumber (41)Timeline Frame 1

Labels

"Preloader"Frame 1
"Main"Frame 2




https://swfchan.com/53/263639/info.shtml
Created: 8/4 -2026 18:41:41 Last modified: 8/4 -2026 18:41:41 Server time: 08/04 -2026 23:14:21