Section 1
//EdgeMetrics (mx.core.EdgeMetrics)
package mx.core {
public class EdgeMetrics {
public var top:Number;
public var left:Number;
public var bottom:Number;
public var right:Number;
mx_internal static const VERSION:String = "3.0.0.0";
public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0);
;
public function EdgeMetrics(_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 2
//FlexLoader (mx.core.FlexLoader)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexLoader extends Loader {
mx_internal static const VERSION:String = "3.0.0.0";
public function FlexLoader(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 3
//FlexMovieClip (mx.core.FlexMovieClip)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexMovieClip extends MovieClip {
mx_internal static const VERSION:String = "3.0.0.0";
public function FlexMovieClip(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 4
//FlexShape (mx.core.FlexShape)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexShape extends Shape {
mx_internal static const VERSION:String = "3.0.0.0";
public function FlexShape(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 5
//FlexSprite (mx.core.FlexSprite)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexSprite extends Sprite {
mx_internal static const VERSION:String = "3.0.0.0";
public function FlexSprite(){
super();
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.0.0.0";
private static var compatibilityVersionChanged:Boolean = false;
private static var _compatibilityErrorFunction:Function;
private static var _compatibilityVersion:uint = 50331648;
private static var compatibilityVersionRead:Boolean = false;
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.0.0.0";
}
}//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.geom.*;
import flash.display.*;
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.geom.*;
import flash.media.*;
import flash.display.*;
import mx.managers.*;
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 {
public interface IFlexModuleFactory {
function create(... _args):Object;
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
//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 21
//MovieClipAsset (mx.core.MovieClipAsset)
package mx.core {
public class MovieClipAsset extends FlexMovieClip implements IFlexAsset, IFlexDisplayObject, IBorder {
private var _measuredHeight:Number;
private var _measuredWidth:Number;
mx_internal static const VERSION:String = "3.0.0.0";
public function MovieClipAsset(){
_measuredWidth = width;
_measuredHeight = height;
}
public function get measuredWidth():Number{
return (_measuredWidth);
}
public function get measuredHeight():Number{
return (_measuredHeight);
}
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;
}
public function get borderMetrics():EdgeMetrics{
if (scale9Grid == null){
return (EdgeMetrics.EMPTY);
};
return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom))));
}
}
}//package mx.core
Section 22
//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 23
//Singleton (mx.core.Singleton)
package mx.core {
public class Singleton {
mx_internal static const VERSION:String = "3.0.0.0";
private static var classMap:Object = {};
public 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 24
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "3.0.0.0";
}
}//package mx.core
Section 25
//SpriteAsset (mx.core.SpriteAsset)
package mx.core {
public class SpriteAsset extends FlexSprite implements IFlexAsset, IFlexDisplayObject, IBorder {
private var _measuredHeight:Number;
private var _measuredWidth:Number;
mx_internal static const VERSION:String = "3.0.0.0";
public function SpriteAsset(){
_measuredWidth = width;
_measuredHeight = height;
}
public function get measuredWidth():Number{
return (_measuredWidth);
}
public function get measuredHeight():Number{
return (_measuredHeight);
}
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;
}
public function get borderMetrics():EdgeMetrics{
if (scale9Grid == null){
return (EdgeMetrics.EMPTY);
};
return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom))));
}
}
}//package mx.core
Section 26
//UIComponentGlobals (mx.core.UIComponentGlobals)
package mx.core {
import flash.geom.*;
import flash.display.*;
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.0.0.0";
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.0.0.0";
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.0.0.0";
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.geom.*;
import flash.display.*;
import mx.utils.*;
import flash.filters.*;
public class RectangularDropShadow {
private var leftShadow:BitmapData;
private var _tlRadius:Number;// = 0
private var _trRadius:Number;// = 0
private var _angle:Number;// = 45
private var topShadow:BitmapData;
private var _distance:Number;// = 4
private var rightShadow:BitmapData;
private var _alpha:Number;// = 0.4
private var shadow:BitmapData;
private var _brRadius:Number;// = 0
private var _blRadius:Number;// = 0
private var _color:int;// = 0
private var bottomShadow:BitmapData;
private var changed:Boolean;// = true
mx_internal static const VERSION:String = "3.0.0.0";
public function 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.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 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 flash.events.*;
import mx.core.*;
import flash.geom.*;
import flash.display.*;
import flash.text.*;
public interface ISystemManager extends IEventDispatcher, IChildList, IFlexModuleFactory {
function get focusPane():Sprite;
function get loaderInfo():LoaderInfo;
function get toolTipChildren():IChildList;
function set focusPane(_arg1:Sprite):void;
function isTopLevel():Boolean;
function get popUpChildren():IChildList;
function get screen():Rectangle;
function isFontFaceEmbedded(_arg1:TextFormat):Boolean;
function get rawChildren():IChildList;
function get topLevelSystemManager():ISystemManager;
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 removeFocusManager(_arg1:IFocusManagerContainer):void;
function get document():Object;
function get numModalWindows():int;
function addFocusManager(_arg1:IFocusManagerContainer):void;
function get stage():Stage;
}
}//package mx.managers
Section 37
//SystemManagerGlobals (mx.managers.SystemManagerGlobals)
package mx.managers {
public class SystemManagerGlobals {
public static var topLevelSystemManagers:Array = [];
public static var bootstrapLoaderInfoURL:String;
}
}//package mx.managers
Section 38
//IModuleInfo (mx.modules.IModuleInfo)
package mx.modules {
import flash.events.*;
import mx.core.*;
import flash.system.*;
public interface IModuleInfo extends IEventDispatcher {
function get ready():Boolean;
function get loaded():Boolean;
function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null):void;
function release():void;
function get error():Boolean;
function get data():Object;
function publish(_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.0.0.0";
public static function getModule(_arg1:String):IModuleInfo{
return (getSingleton().getModule(_arg1));
}
private static function getSingleton():Object{
if (!ModuleManagerGlobals.managerSingleton){
ModuleManagerGlobals.managerSingleton = new ModuleManagerImpl();
};
return (ModuleManagerGlobals.managerSingleton);
}
public static function getAssociatedFactory(_arg1:Object):IFlexModuleFactory{
return (getSingleton().getAssociatedFactory(_arg1));
}
}
}//package mx.modules
import flash.events.*;
import mx.core.*;
import flash.display.*;
import flash.system.*;
import mx.events.*;
import flash.utils.*;
import flash.net.*;
class ModuleInfoProxy extends EventDispatcher implements IModuleInfo {
private var _data:Object;
private var info:ModuleInfo;
private var referenced:Boolean;// = false
private function ModuleInfoProxy(_arg1:ModuleInfo){
this.info = _arg1;
_arg1.addEventListener(ModuleEvent.SETUP, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.PROGRESS, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.READY, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.ERROR, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.UNLOAD, moduleEventHandler, false, 0, true);
}
public function get loaded():Boolean{
return (info.loaded);
}
public function release():void{
if (referenced){
info.removeReference();
referenced = false;
};
}
public function get error():Boolean{
return (info.error);
}
public function get factory():IFlexModuleFactory{
return (info.factory);
}
public function publish(_arg1:IFlexModuleFactory):void{
info.publish(_arg1);
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
public function get ready():Boolean{
return (info.ready);
}
public function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null):void{
var _local3: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){
_local3 = new ModuleEvent(ModuleEvent.PROGRESS);
_local3.bytesLoaded = info.size;
_local3.bytesTotal = info.size;
dispatchEvent(_local3);
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
};
};
} else {
info.load(_arg1, _arg2);
};
};
}
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);
};
} 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);
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);
}
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):void{
if (_loaded){
return;
};
_loaded = true;
limbo = null;
if (_url.indexOf("published://") == 0){
return;
};
var _local3:URLRequest = new URLRequest(_url);
var _local4:LoaderContext = new LoaderContext();
_local4.applicationDomain = (_arg1) ? _arg1 : new ApplicationDomain(ApplicationDomain.currentDomain);
_local4.securityDomain = _arg2;
if ((((_arg2 == null)) && ((Security.sandboxType == Security.REMOTE)))){
_local4.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(_local3, _local4);
}
public function get url():String{
return (_url);
}
public function get applicationDomain():ApplicationDomain{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.applicationDomain : null);
}
public function readyHandler(_arg1:Event):void{
_ready = true;
factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal;
clearLoader();
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
}
public function get setup():Boolean{
return ((limbo) ? false : _setup);
}
public function unload():void{
clearLoader();
if (_loaded){
dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD));
};
limbo = null;
factoryInfo = null;
_loaded = false;
_setup = false;
_ready = false;
_error = false;
}
}
class FactoryInfo {
public var bytesTotal:int;// = 0
public var factory:IFlexModuleFactory;
public var applicationDomain:ApplicationDomain;
private function FactoryInfo(){
}
}
Section 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 findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle;
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
//ResourceBundle (mx.resources.ResourceBundle)
package mx.resources {
import mx.core.*;
import flash.system.*;
import mx.utils.*;
public class ResourceBundle implements IResourceBundle {
mx_internal var _locale:String;
private var _content:Object;
mx_internal var _bundleName:String;
mx_internal static const VERSION:String = "3.0.0.0";
mx_internal static var backupApplicationDomain:ApplicationDomain;
mx_internal static var locale:String;
public function ResourceBundle(_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 45
//ResourceManager (mx.resources.ResourceManager)
package mx.resources {
import mx.core.*;
public class ResourceManager {
mx_internal static const VERSION:String = "3.0.0.0";
private static var implClassDependency:ResourceManagerImpl;
private static var instance:IResourceManager;
public 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 46
//ResourceManagerImpl (mx.resources.ResourceManagerImpl)
package mx.resources {
import flash.events.*;
import mx.core.*;
import flash.system.*;
import mx.modules.*;
import mx.events.*;
import flash.utils.*;
import mx.utils.*;
public class ResourceManagerImpl extends EventDispatcher implements IResourceManager {
private var resourceModules:Object;
private var initializedForNonFrameworkApp:Boolean;// = false
private var localeMap:Object;
private var _localeChain:Array;
mx_internal static const VERSION:String = "3.0.0.0";
private static var instance:IResourceManager;
public function ResourceManagerImpl(){
localeMap = {};
resourceModules = {};
super();
}
public function get localeChain():Array{
return (_localeChain);
}
public function set localeChain(_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 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 addResourceBundle(_arg1:IResourceBundle):void{
var _local2:String = _arg1.locale;
var _local3:String = _arg1.bundleName;
if (!localeMap[_local2]){
localeMap[_local2] = {};
};
localeMap[_local2][_local3] = _arg1;
}
private function findBundle(_arg1:String, _arg2:String, _arg3:String):IResourceBundle{
supportNonFrameworkApps();
return (((_arg3)!=null) ? getResourceBundle(_arg3, _arg1) : findResourceBundleWithResource(_arg1, _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 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 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 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 getBundleNamesForLocale(_arg1:String):Array{
var _local3:String;
var _local2:Array = [];
for (_local3 in localeMap[_arg1]) {
_local2.push(_local3);
};
return (_local2);
}
public function removeResourceBundle(_arg1:String, _arg2:String):void{
delete localeMap[_arg1][_arg2];
if (getBundleNamesForLocale(_arg1).length == 0){
delete localeMap[_arg1];
};
}
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 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));
}
public function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (false);
};
var _local5:* = _local4.content[_arg2];
return ((String(_local5).toLowerCase() == "true"));
}
public function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void{
throw (new Error("unloadResourceModule() is not yet implemented."));
}
public static function getInstance():IResourceManager{
if (!instance){
instance = new (ResourceManagerImpl);
};
return (instance);
}
}
}//package mx.resources
import flash.events.*;
import mx.modules.*;
import mx.events.*;
class ResourceModuleInfo {
public var resourceModule:IResourceModule;
public var errorHandler:Function;
public var readyHandler:Function;
public var moduleInfo:IModuleInfo;
private function ResourceModuleInfo(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){
this.moduleInfo = _arg1;
this.readyHandler = _arg2;
this.errorHandler = _arg3;
}
}
class ResourceEventDispatcher extends EventDispatcher {
private function ResourceEventDispatcher(_arg1:IModuleInfo){
_arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true);
}
private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{
var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
dispatchEvent(_local2);
}
private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{
var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.COMPLETE);
dispatchEvent(_local2);
}
private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{
var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
_local2.errorText = _arg1.errorText;
dispatchEvent(_local2);
}
}
Section 47
//HaloBorder (mx.skins.halo.HaloBorder)
package mx.skins.halo {
import mx.core.*;
import flash.display.*;
import mx.styles.*;
import mx.skins.*;
import mx.graphics.*;
import mx.utils.*;
public class HaloBorder extends RectangularBorder {
mx_internal var radiusObj:Object;
mx_internal var backgroundHole:Object;
mx_internal var radius:Number;
mx_internal var bRoundedCorners:Boolean;
mx_internal var backgroundColor:Object;
private var dropShadow:RectangularDropShadow;
protected var _borderMetrics:EdgeMetrics;
mx_internal var backgroundAlphaName:String;
mx_internal static const VERSION:String = "3.0.0.0";
private static var BORDER_WIDTHS:Object = {none:0, solid:1, inset:2, outset:2, alert:3, dropdown:2, menuBorder:1, comboNonEdit:2};
public function HaloBorder(){
BORDER_WIDTHS["default"] = 3;
}
override public function styleChanged(_arg1:String):void{
if ((((((((((_arg1 == null)) || ((_arg1 == "styleName")))) || ((_arg1 == "borderStyle")))) || ((_arg1 == "borderThickness")))) || ((_arg1 == "borderSides")))){
_borderMetrics = null;
};
invalidateDisplayList();
}
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
if (((isNaN(_arg1)) || (isNaN(_arg2)))){
return;
};
super.updateDisplayList(_arg1, _arg2);
backgroundColor = getBackgroundColor();
bRoundedCorners = false;
backgroundAlphaName = "backgroundAlpha";
backgroundHole = null;
radius = 0;
radiusObj = null;
drawBorder(_arg1, _arg2);
drawBackground(_arg1, _arg2);
}
mx_internal function drawBorder(_arg1:Number, _arg2:Number):void{
var _local5:Number;
var _local6:uint;
var _local7:uint;
var _local8:String;
var _local9:Number;
var _local10:uint;
var _local11:Boolean;
var _local12:uint;
var _local13:Array;
var _local14:Array;
var _local15:uint;
var _local16:uint;
var _local17:uint;
var _local18:uint;
var _local19:Boolean;
var _local20:Object;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Object;
var _local27:Number;
var _local28:Number;
var _local29:IContainer;
var _local30:EdgeMetrics;
var _local31:Boolean;
var _local32:Number;
var _local33:Array;
var _local34:uint;
var _local35:Boolean;
var _local36:Number;
var _local3:String = getStyle("borderStyle");
var _local4:Array = getStyle("highlightAlphas");
var _local21:Boolean;
var _local26:Graphics = graphics;
_local26.clear();
if (_local3){
switch (_local3){
case "none":
break;
case "inset":
_local7 = getStyle("borderColor");
_local22 = ColorUtil.adjustBrightness2(_local7, -40);
_local23 = ColorUtil.adjustBrightness2(_local7, 25);
_local24 = ColorUtil.adjustBrightness2(_local7, 40);
_local25 = backgroundColor;
if ((((_local25 === null)) || ((_local25 === "")))){
_local25 = _local7;
};
draw3dBorder(_local23, _local22, _local24, Number(_local25), Number(_local25), Number(_local25));
break;
case "outset":
_local7 = getStyle("borderColor");
_local22 = ColorUtil.adjustBrightness2(_local7, -40);
_local23 = ColorUtil.adjustBrightness2(_local7, -25);
_local24 = ColorUtil.adjustBrightness2(_local7, 40);
_local25 = backgroundColor;
if ((((_local25 === null)) || ((_local25 === "")))){
_local25 = _local7;
};
draw3dBorder(_local23, _local24, _local22, Number(_local25), Number(_local25), Number(_local25));
break;
case "alert":
case "default":
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
_local27 = getStyle("backgroundAlpha");
_local5 = getStyle("borderAlpha");
backgroundAlphaName = "borderAlpha";
radius = getStyle("cornerRadius");
bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true");
_local28 = (bRoundedCorners) ? radius : 0;
drawDropShadow(0, 0, _arg1, _arg2, radius, radius, _local28, _local28);
if (!bRoundedCorners){
radiusObj = {};
};
_local29 = (parent as IContainer);
if (_local29){
_local30 = _local29.viewMetrics;
backgroundHole = {x:_local30.left, y:_local30.top, w:Math.max(0, ((_arg1 - _local30.left) - _local30.right)), h:Math.max(0, ((_arg2 - _local30.top) - _local30.bottom)), r:0};
if ((((backgroundHole.w > 0)) && ((backgroundHole.h > 0)))){
if (_local27 != _local5){
drawDropShadow(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h, 0, 0, 0, 0);
};
_local26.beginFill(Number(backgroundColor), _local27);
_local26.drawRect(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h);
_local26.endFill();
};
};
backgroundColor = getStyle("borderColor");
};
break;
case "dropdown":
_local12 = getStyle("dropdownBorderColor");
drawDropShadow(0, 0, _arg1, _arg2, 4, 0, 0, 4);
drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, 5068126, 1);
drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, [0xFFFFFF, 0xFFFFFF], [0.7, 0], verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1);
drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3)));
if (!isNaN(_local12)){
drawRoundRect(0, 0, (_arg1 + 1), _arg2, {tl:4, tr:0, br:0, bl:4}, _local12, 0.5);
drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1);
drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3)));
};
backgroundColor = null;
break;
case "menuBorder":
_local7 = getStyle("borderColor");
drawRoundRect(0, 0, _arg1, _arg2, 0, _local7, 1);
drawDropShadow(1, 1, (_arg1 - 2), (_arg2 - 2), 0, 0, 0, 0);
break;
case "comboNonEdit":
break;
case "controlBar":
if ((((_arg1 == 0)) || ((_arg2 == 0)))){
backgroundColor = null;
break;
};
_local14 = getStyle("footerColors");
_local31 = !((_local14 == null));
_local32 = getStyle("borderAlpha");
if (_local31){
_local26.lineStyle(0, ((_local14.length > 0)) ? _local14[1] : _local14[0], _local32);
_local26.moveTo(0, 0);
_local26.lineTo(_arg1, 0);
_local26.lineStyle(0, 0, 0);
if (((((parent) && (parent.parent))) && ((parent.parent is IStyleClient)))){
radius = IStyleClient(parent.parent).getStyle("cornerRadius");
_local32 = IStyleClient(parent.parent).getStyle("borderAlpha");
};
if (isNaN(radius)){
radius = 0;
};
if (IStyleClient(parent.parent).getStyle("roundedBottomCorners").toString().toLowerCase() != "true"){
radius = 0;
};
drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2));
if ((((_local14.length > 1)) && (!((_local14[0] == _local14[1]))))){
drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(1, 2, (_arg1 - 2), (_arg2 - 3), {tl:0, tr:0, bl:(radius - 1), br:(radius - 1)}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2));
};
};
backgroundColor = null;
break;
case "applicationControlBar":
_local13 = getStyle("fillColors");
_local5 = getStyle("backgroundAlpha");
_local4 = getStyle("highlightAlphas");
_local33 = getStyle("fillAlphas");
_local11 = getStyle("docked");
_local34 = uint(backgroundColor);
radius = getStyle("cornerRadius");
if (!radius){
radius = 0;
};
drawDropShadow(0, 1, _arg1, (_arg2 - 1), radius, radius, radius, radius);
if (((!((backgroundColor === null))) && (StyleManager.isValidStyleValue(backgroundColor)))){
drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local34, _local5, verticalGradientMatrix(0, 0, _arg1, _arg2));
};
drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local13, _local33, verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(0, 1, _arg1, ((_arg2 / 2) - 1), {tl:radius, tr:radius, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, ((_arg2 / 2) - 1)));
drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, 0.3, null, GradientType.LINEAR, null, {x:0, y:2, w:_arg1, h:(_arg2 - 2), r:{tl:radius, tr:radius, bl:0, br:0}});
backgroundColor = null;
break;
default:
_local7 = getStyle("borderColor");
_local9 = getStyle("borderThickness");
_local8 = getStyle("borderSides");
_local35 = true;
radius = getStyle("cornerRadius");
bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true");
_local36 = Math.max((radius - _local9), 0);
_local20 = {x:_local9, y:_local9, w:(_arg1 - (_local9 * 2)), h:(_arg2 - (_local9 * 2)), r:_local36};
if (!bRoundedCorners){
radiusObj = {tl:radius, tr:radius, bl:0, br:0};
_local20.r = {tl:_local36, tr:_local36, bl:0, br:0};
};
if (_local8 != "left top right bottom"){
_local20.r = {tl:_local36, tr:_local36, bl:(bRoundedCorners) ? _local36 : 0, br:(bRoundedCorners) ? _local36 : 0};
radiusObj = {tl:radius, tr:radius, bl:(bRoundedCorners) ? radius : 0, br:(bRoundedCorners) ? radius : 0};
_local8 = _local8.toLowerCase();
if (_local8.indexOf("left") == -1){
_local20.x = 0;
_local20.w = (_local20.w + _local9);
_local20.r.tl = 0;
_local20.r.bl = 0;
radiusObj.tl = 0;
radiusObj.bl = 0;
_local35 = false;
};
if (_local8.indexOf("top") == -1){
_local20.y = 0;
_local20.h = (_local20.h + _local9);
_local20.r.tl = 0;
_local20.r.tr = 0;
radiusObj.tl = 0;
radiusObj.tr = 0;
_local35 = false;
};
if (_local8.indexOf("right") == -1){
_local20.w = (_local20.w + _local9);
_local20.r.tr = 0;
_local20.r.br = 0;
radiusObj.tr = 0;
radiusObj.br = 0;
_local35 = false;
};
if (_local8.indexOf("bottom") == -1){
_local20.h = (_local20.h + _local9);
_local20.r.bl = 0;
_local20.r.br = 0;
radiusObj.bl = 0;
radiusObj.br = 0;
_local35 = false;
};
};
if ((((radius == 0)) && (_local35))){
drawDropShadow(0, 0, _arg1, _arg2, 0, 0, 0, 0);
_local26.beginFill(_local7);
_local26.drawRect(0, 0, _arg1, _arg2);
_local26.drawRect(_local9, _local9, (_arg1 - (2 * _local9)), (_arg2 - (2 * _local9)));
_local26.endFill();
} else {
if (radiusObj){
drawDropShadow(0, 0, _arg1, _arg2, radiusObj.tl, radiusObj.tr, radiusObj.br, radiusObj.bl);
drawRoundRect(0, 0, _arg1, _arg2, radiusObj, _local7, 1, null, null, null, _local20);
radiusObj.tl = Math.max((radius - _local9), 0);
radiusObj.tr = Math.max((radius - _local9), 0);
radiusObj.bl = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0;
radiusObj.br = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0;
} else {
drawDropShadow(0, 0, _arg1, _arg2, radius, radius, radius, radius);
drawRoundRect(0, 0, _arg1, _arg2, radius, _local7, 1, null, null, null, _local20);
radius = Math.max((getStyle("cornerRadius") - _local9), 0);
};
};
};
};
}
mx_internal function drawBackground(_arg1:Number, _arg2:Number):void{
var _local4:Number;
var _local5:Number;
var _local6:EdgeMetrics;
var _local7:Graphics;
var _local8:Number;
var _local9:Number;
var _local10:Array;
var _local11:Number;
if (((((((!((backgroundColor === null))) && (!((backgroundColor === ""))))) || (getStyle("mouseShield")))) || (getStyle("mouseShieldChildren")))){
_local4 = Number(backgroundColor);
_local5 = 1;
_local6 = getBackgroundColorMetrics();
_local7 = graphics;
if (((((isNaN(_local4)) || ((backgroundColor === "")))) || ((backgroundColor === null)))){
_local5 = 0;
_local4 = 0xFFFFFF;
} else {
_local5 = getStyle(backgroundAlphaName);
};
if (((!((radius == 0))) || (backgroundHole))){
_local8 = _local6.bottom;
if (radiusObj){
_local9 = (bRoundedCorners) ? radius : 0;
radiusObj = {tl:radius, tr:radius, bl:_local9, br:_local9};
drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radiusObj, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole);
} else {
drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radius, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole);
};
} else {
_local7.beginFill(_local4, _local5);
_local7.drawRect(_local6.left, _local6.top, ((_arg1 - _local6.right) - _local6.left), ((_arg2 - _local6.bottom) - _local6.top));
_local7.endFill();
};
};
var _local3:String = getStyle("borderStyle");
if ((((((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) && ((((_local3 == "alert")) || ((_local3 == "default")))))) && ((getStyle("headerColors") == null)))){
_local10 = getStyle("highlightAlphas");
_local11 = (_local10) ? _local10[0] : 0.3;
drawRoundRect(0, 0, _arg1, _arg2, {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, _local11, null, GradientType.LINEAR, null, {x:0, y:1, w:_arg1, h:(_arg2 - 1), r:{tl:radius, tr:radius, bl:0, br:0}});
};
}
mx_internal function drawDropShadow(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):void{
var _local11:Number;
var _local12:Boolean;
if ((((((((getStyle("dropShadowEnabled") == false)) || ((getStyle("dropShadowEnabled") == "false")))) || ((_arg3 == 0)))) || ((_arg4 == 0)))){
return;
};
var _local9:Number = getStyle("shadowDistance");
var _local10:String = getStyle("shadowDirection");
if (getStyle("borderStyle") == "applicationControlBar"){
_local12 = getStyle("docked");
_local11 = (_local12) ? 90 : getDropShadowAngle(_local9, _local10);
_local9 = Math.abs(_local9);
} else {
_local11 = getDropShadowAngle(_local9, _local10);
_local9 = (Math.abs(_local9) + 2);
};
if (!dropShadow){
dropShadow = new RectangularDropShadow();
};
dropShadow.distance = _local9;
dropShadow.angle = _local11;
dropShadow.color = getStyle("dropShadowColor");
dropShadow.alpha = 0.4;
dropShadow.tlRadius = _arg5;
dropShadow.trRadius = _arg6;
dropShadow.blRadius = _arg8;
dropShadow.brRadius = _arg7;
dropShadow.drawShadow(graphics, _arg1, _arg2, _arg3, _arg4);
}
mx_internal function getBackgroundColor():Object{
var _local2:Object;
var _local1:IUIComponent = (parent as IUIComponent);
if (((_local1) && (!(_local1.enabled)))){
_local2 = getStyle("backgroundDisabledColor");
if (((!((_local2 === null))) && (StyleManager.isValidStyleValue(_local2)))){
return (_local2);
};
};
return (getStyle("backgroundColor"));
}
mx_internal function draw3dBorder(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{
var _local7:Number = width;
var _local8:Number = height;
drawDropShadow(0, 0, width, height, 0, 0, 0, 0);
var _local9:Graphics = graphics;
_local9.beginFill(_arg1);
_local9.drawRect(0, 0, _local7, _local8);
_local9.drawRect(1, 0, (_local7 - 2), _local8);
_local9.endFill();
_local9.beginFill(_arg2);
_local9.drawRect(1, 0, (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg3);
_local9.drawRect(1, (_local8 - 1), (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg4);
_local9.drawRect(1, 1, (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg5);
_local9.drawRect(1, (_local8 - 2), (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg6);
_local9.drawRect(1, 2, (_local7 - 2), (_local8 - 4));
_local9.drawRect(2, 2, (_local7 - 4), (_local8 - 4));
_local9.endFill();
}
mx_internal function getBackgroundColorMetrics():EdgeMetrics{
return (borderMetrics);
}
mx_internal function getDropShadowAngle(_arg1:Number, _arg2:String):Number{
if (_arg2 == "left"){
return (((_arg1 >= 0)) ? 135 : 225);
//unresolved jump
};
if (_arg2 == "right"){
return (((_arg1 >= 0)) ? 45 : 315);
//unresolved jump
};
return (((_arg1 >= 0)) ? 90 : 270);
}
override public function get borderMetrics():EdgeMetrics{
var _local1:Number;
var _local3:String;
if (_borderMetrics){
return (_borderMetrics);
};
var _local2:String = getStyle("borderStyle");
if ((((_local2 == "default")) || ((_local2 == "alert")))){
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
_borderMetrics = new EdgeMetrics(0, 0, 0, 0);
} else {
return (EdgeMetrics.EMPTY);
};
} else {
if ((((_local2 == "controlBar")) || ((_local2 == "applicationControlBar")))){
_borderMetrics = new EdgeMetrics(1, 1, 1, 1);
} else {
if (_local2 == "solid"){
_local1 = getStyle("borderThickness");
if (isNaN(_local1)){
_local1 = 0;
};
_borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1);
_local3 = getStyle("borderSides");
if (_local3 != "left top right bottom"){
if (_local3.indexOf("left") == -1){
_borderMetrics.left = 0;
};
if (_local3.indexOf("top") == -1){
_borderMetrics.top = 0;
};
if (_local3.indexOf("right") == -1){
_borderMetrics.right = 0;
};
if (_local3.indexOf("bottom") == -1){
_borderMetrics.bottom = 0;
};
};
} else {
_local1 = BORDER_WIDTHS[_local2];
if (isNaN(_local1)){
_local1 = 0;
};
_borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1);
};
};
};
return (_borderMetrics);
}
}
}//package mx.skins.halo
Section 48
//HaloFocusRect (mx.skins.halo.HaloFocusRect)
package mx.skins.halo {
import flash.display.*;
import mx.styles.*;
import mx.skins.*;
import mx.utils.*;
public class HaloFocusRect extends ProgrammaticSkin implements IStyleClient {
private var _focusColor:Number;
mx_internal static const VERSION:String = "3.0.0.0";
public function get inheritingStyles():Object{
return (styleName.inheritingStyles);
}
public function set inheritingStyles(_arg1:Object):void{
}
public function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void{
}
public function registerEffects(_arg1:Array):void{
}
public function regenerateStyleCache(_arg1:Boolean):void{
}
public function get styleDeclaration():CSSStyleDeclaration{
return (CSSStyleDeclaration(styleName));
}
public function getClassStyleDeclarations():Array{
return ([]);
}
public function get className():String{
return ("HaloFocusRect");
}
public function clearStyle(_arg1:String):void{
if (_arg1 == "focusColor"){
_focusColor = NaN;
};
}
public function setStyle(_arg1:String, _arg2):void{
if (_arg1 == "focusColor"){
_focusColor = _arg2;
};
}
public function set nonInheritingStyles(_arg1:Object):void{
}
public function get nonInheritingStyles():Object{
return (styleName.nonInheritingStyles);
}
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
super.updateDisplayList(_arg1, _arg2);
var _local3:String = getStyle("focusBlendMode");
var _local4:Number = getStyle("focusAlpha");
var _local5:Number = getStyle("focusColor");
var _local6:Number = getStyle("cornerRadius");
var _local7:Number = getStyle("focusThickness");
var _local8:String = getStyle("focusRoundedCorners");
var _local9:Number = getStyle("themeColor");
var _local10:Number = _local5;
if (isNaN(_local10)){
_local10 = _local9;
};
var _local11:Graphics = graphics;
_local11.clear();
blendMode = _local3;
if (((!((_local8 == "tl tr bl br"))) && ((_local6 > 0)))){
_local12 = 0;
_local13 = 0;
_local14 = 0;
_local15 = 0;
_local16 = (_local6 + _local7);
if (_local8.indexOf("tl") >= 0){
_local12 = _local16;
};
if (_local8.indexOf("tr") >= 0){
_local14 = _local16;
};
if (_local8.indexOf("bl") >= 0){
_local13 = _local16;
};
if (_local8.indexOf("br") >= 0){
_local15 = _local16;
};
_local11.beginFill(_local10, _local4);
GraphicsUtil.drawRoundRectComplex(_local11, 0, 0, _arg1, _arg2, _local12, _local14, _local13, _local15);
_local12 = (_local12) ? _local6 : 0;
_local14 = (_local14) ? _local6 : 0;
_local13 = (_local13) ? _local6 : 0;
_local15 = (_local15) ? _local6 : 0;
GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15);
_local11.endFill();
_local16 = (_local6 + (_local7 / 2));
_local12 = (_local12) ? _local16 : 0;
_local14 = (_local14) ? _local16 : 0;
_local13 = (_local13) ? _local16 : 0;
_local15 = (_local15) ? _local16 : 0;
_local11.beginFill(_local10, _local4);
GraphicsUtil.drawRoundRectComplex(_local11, (_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local12, _local14, _local13, _local15);
_local12 = (_local12) ? _local6 : 0;
_local14 = (_local14) ? _local6 : 0;
_local13 = (_local13) ? _local6 : 0;
_local15 = (_local15) ? _local6 : 0;
GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15);
_local11.endFill();
} else {
_local11.beginFill(_local10, _local4);
_local17 = (((_local6 > 0)) ? (_local6 + _local7) : 0 * 2);
_local11.drawRoundRect(0, 0, _arg1, _arg2, _local17, _local17);
_local17 = (_local6 * 2);
_local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17);
_local11.endFill();
_local11.beginFill(_local10, _local4);
_local17 = (((_local6 > 0)) ? (_local6 + (_local7 / 2)) : 0 * 2);
_local11.drawRoundRect((_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local17, _local17);
_local17 = (_local6 * 2);
_local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17);
_local11.endFill();
};
}
override public function getStyle(_arg1:String){
return (((_arg1 == "focusColor")) ? _focusColor : super.getStyle(_arg1));
}
public function set styleDeclaration(_arg1:CSSStyleDeclaration):void{
}
}
}//package mx.skins.halo
Section 49
//Border (mx.skins.Border)
package mx.skins {
import mx.core.*;
public class Border extends ProgrammaticSkin implements IBorder {
mx_internal static const VERSION:String = "3.0.0.0";
public function get borderMetrics():EdgeMetrics{
return (EdgeMetrics.EMPTY);
}
}
}//package mx.skins
Section 50
//ProgrammaticSkin (mx.skins.ProgrammaticSkin)
package mx.skins {
import mx.core.*;
import flash.geom.*;
import flash.display.*;
import mx.styles.*;
import mx.managers.*;
import mx.utils.*;
public class ProgrammaticSkin extends FlexShape implements IFlexDisplayObject, IInvalidating, ILayoutManagerClient, ISimpleStyleClient, IProgrammaticSkin {
private var _initialized:Boolean;// = false
private var _height:Number;
private var invalidateDisplayListFlag:Boolean;// = false
private var _styleName:IStyleClient;
private var _nestLevel:int;// = 0
private var _processedDescriptors:Boolean;// = false
private var _updateCompletePendingFlag:Boolean;// = true
private var _width:Number;
mx_internal static const VERSION:String = "3.0.0.0";
private static var tempMatrix:Matrix = new Matrix();
public function ProgrammaticSkin(){
_width = measuredWidth;
_height = measuredHeight;
}
public function getStyle(_arg1:String){
return (_styleName.getStyle(_arg1));
}
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 51
//RectangularBorder (mx.skins.RectangularBorder)
package mx.skins {
import flash.events.*;
import mx.core.*;
import flash.geom.*;
import flash.display.*;
import mx.styles.*;
import flash.system.*;
import mx.resources.*;
import flash.utils.*;
import flash.net.*;
public class RectangularBorder extends Border implements IRectangularBorder {
private var backgroundImage:DisplayObject;
private var backgroundImageHeight:Number;
private var _backgroundImageBounds:Rectangle;
private var backgroundImageStyle:Object;
private var backgroundImageWidth:Number;
private var resourceManager:IResourceManager;
mx_internal static const VERSION:String = "3.0.0.0";
public function RectangularBorder(){
resourceManager = ResourceManager.getInstance();
super();
addEventListener(Event.REMOVED, removedHandler);
}
public function layoutBackgroundImage():void{
var _local4:Number;
var _local5:Number;
var _local7:Number;
var _local8:Number;
var _local14:Number;
var _local15:Graphics;
var _local1:DisplayObject = parent;
var _local2:EdgeMetrics = ((_local1 is IContainer)) ? IContainer(_local1).viewMetrics : borderMetrics;
var _local3 = !((getStyle("backgroundAttachment") == "fixed"));
if (_backgroundImageBounds){
_local4 = _backgroundImageBounds.width;
_local5 = _backgroundImageBounds.height;
} else {
_local4 = ((width - _local2.left) - _local2.right);
_local5 = ((height - _local2.top) - _local2.bottom);
};
var _local6:Number = getBackgroundSize();
if (isNaN(_local6)){
_local7 = 1;
_local8 = 1;
} else {
_local14 = (_local6 * 0.01);
_local7 = ((_local14 * _local4) / backgroundImageWidth);
_local8 = ((_local14 * _local5) / backgroundImageHeight);
};
backgroundImage.scaleX = _local7;
backgroundImage.scaleY = _local8;
var _local9:Number = Math.round((0.5 * (_local4 - (backgroundImageWidth * _local7))));
var _local10:Number = Math.round((0.5 * (_local5 - (backgroundImageHeight * _local8))));
backgroundImage.x = _local2.left;
backgroundImage.y = _local2.top;
var _local11:Shape = Shape(backgroundImage.mask);
_local11.x = _local2.left;
_local11.y = _local2.top;
if (((_local3) && ((_local1 is IContainer)))){
_local9 = (_local9 - IContainer(_local1).horizontalScrollPosition);
_local10 = (_local10 - IContainer(_local1).verticalScrollPosition);
};
backgroundImage.alpha = getStyle("backgroundAlpha");
backgroundImage.x = (backgroundImage.x + _local9);
backgroundImage.y = (backgroundImage.y + _local10);
var _local12:Number = ((width - _local2.left) - _local2.right);
var _local13:Number = ((height - _local2.top) - _local2.bottom);
if (((!((_local11.width == _local12))) || (!((_local11.height == _local13))))){
_local15 = _local11.graphics;
_local15.clear();
_local15.beginFill(0xFFFFFF);
_local15.drawRect(0, 0, _local12, _local13);
_local15.endFill();
};
}
public function set backgroundImageBounds(_arg1:Rectangle):void{
_backgroundImageBounds = _arg1;
invalidateDisplayList();
}
private function getBackgroundSize():Number{
var _local3:int;
var _local1:Number = NaN;
var _local2:Object = getStyle("backgroundSize");
if (((_local2) && ((_local2 is String)))){
_local3 = _local2.indexOf("%");
if (_local3 != -1){
_local1 = Number(_local2.substr(0, _local3));
};
};
return (_local1);
}
private function removedHandler(_arg1:Event):void{
var _local2:IChildList;
if (backgroundImage){
_local2 = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent);
_local2.removeChild(backgroundImage.mask);
_local2.removeChild(backgroundImage);
backgroundImage = null;
};
}
private function initBackgroundImage(_arg1:DisplayObject):void{
backgroundImage = _arg1;
if ((_arg1 is Loader)){
backgroundImageWidth = Loader(_arg1).contentLoaderInfo.width;
backgroundImageHeight = Loader(_arg1).contentLoaderInfo.height;
} else {
backgroundImageWidth = backgroundImage.width;
backgroundImageHeight = backgroundImage.height;
if ((_arg1 is ISimpleStyleClient)){
ISimpleStyleClient(_arg1).styleName = styleName;
};
};
var _local2:IChildList = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent);
var _local3:Shape = new FlexShape();
_local3.name = "backgroundMask";
_local3.x = 0;
_local3.y = 0;
_local2.addChild(_local3);
var _local4:int = _local2.getChildIndex(this);
_local2.addChildAt(backgroundImage, (_local4 + 1));
backgroundImage.mask = _local3;
}
public function get backgroundImageBounds():Rectangle{
return (_backgroundImageBounds);
}
public function get hasBackgroundImage():Boolean{
return (!((backgroundImage == null)));
}
private function completeEventHandler(_arg1:Event):void{
if (!parent){
return;
};
var _local2:DisplayObject = DisplayObject(LoaderInfo(_arg1.target).loader);
initBackgroundImage(_local2);
layoutBackgroundImage();
dispatchEvent(_arg1.clone());
}
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
var cls:Class;
var newStyleObj:DisplayObject;
var loader:Loader;
var loaderContext:LoaderContext;
var message:String;
var unscaledWidth = _arg1;
var unscaledHeight = _arg2;
if (!parent){
return;
};
var newStyle:Object = getStyle("backgroundImage");
if (newStyle != backgroundImageStyle){
removedHandler(null);
backgroundImageStyle = newStyle;
if (((newStyle) && ((newStyle as Class)))){
cls = Class(newStyle);
initBackgroundImage(new (cls));
} else {
if (((newStyle) && ((newStyle is String)))){
try {
cls = Class(getDefinitionByName(String(newStyle)));
} catch(e:Error) {
};
if (cls){
newStyleObj = new (cls);
initBackgroundImage(newStyleObj);
} else {
loader = new FlexLoader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeEventHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorEventHandler);
loader.contentLoaderInfo.addEventListener(ErrorEvent.ERROR, errorEventHandler);
loaderContext = new LoaderContext();
loaderContext.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
loader.load(new URLRequest(String(newStyle)), loaderContext);
};
} else {
if (newStyle){
message = resourceManager.getString("skins", "notLoaded", [newStyle]);
throw (new Error(message));
};
};
};
};
if (backgroundImage){
layoutBackgroundImage();
};
}
private function errorEventHandler(_arg1:Event):void{
}
}
}//package mx.skins
Section 52
//CSSStyleDeclaration (mx.styles.CSSStyleDeclaration)
package mx.styles {
import flash.events.*;
import mx.core.*;
import flash.display.*;
import mx.managers.*;
import flash.utils.*;
public class CSSStyleDeclaration extends EventDispatcher {
mx_internal var effects:Array;
protected var overrides:Object;
public var defaultFactory:Function;
public var factory:Function;
mx_internal var selectorRefCount:int;// = 0
private var styleManager:IStyleManager2;
private var clones:Dictionary;
mx_internal static const VERSION:String = "3.0.0.0";
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 53
//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 54
//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 55
//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 56
//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 57
//IStyleModule (mx.styles.IStyleModule)
package mx.styles {
public interface IStyleModule {
function unload():void;
}
}//package mx.styles
Section 58
//StyleManager (mx.styles.StyleManager)
package mx.styles {
import flash.events.*;
import mx.core.*;
import flash.system.*;
public class StyleManager {
mx_internal static const VERSION:String = "3.0.0.0";
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 59
//StyleManagerImpl (mx.styles.StyleManagerImpl)
package mx.styles {
import flash.events.*;
import mx.core.*;
import flash.system.*;
import mx.modules.*;
import mx.events.*;
import mx.resources.*;
import mx.managers.*;
import flash.utils.*;
public class StyleManagerImpl implements IStyleManager2 {
private var _stylesRoot:Object;
private var _selectors:Object;
private var styleModules:Object;
private var _inheritingStyles:Object;
private var resourceManager:IResourceManager;
private var _typeSelectorCache:Object;
mx_internal static const VERSION:String = "3.0.0.0";
private static var parentSizeInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true};
private static var colorNames:Object = {transparent:"transparent", black:0, blue:0xFF, green:0x8000, gray:0x808080, silver:0xC0C0C0, lime:0xFF00, olive:0x808000, white:0xFFFFFF, yellow:0xFFFF00, maroon:0x800000, navy:128, red:0xFF0000, purple:0x800080, teal:0x8080, fuchsia:0xFF00FF, aqua:0xFFFF, magenta:0xFF00FF, cyan:0xFFFF, halogreen:8453965, haloblue:40447, haloorange:0xFFB600, halosilver:11455193};
private static var inheritingTextFormatStyles:Object = {align:true, bold:true, color:true, font:true, indent:true, italic:true, size:true};
private static var instance:IStyleManager2;
private static var parentDisplayListInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true};
private static var sizeInvalidatingStyles:Object = {borderStyle:true, borderThickness:true, fontAntiAliasType:true, fontFamily:true, fontGridFitType:true, fontSharpness:true, fontSize:true, fontStyle:true, fontThickness:true, fontWeight:true, headerHeight:true, horizontalAlign:true, horizontalGap:true, kerning:true, leading:true, letterSpacing:true, paddingBottom:true, paddingLeft:true, paddingRight:true, paddingTop:true, strokeWidth:true, tabHeight:true, tabWidth:true, verticalAlign:true, verticalGap:true};
public function StyleManagerImpl(){
_selectors = {};
styleModules = {};
resourceManager = ResourceManager.getInstance();
_inheritingStyles = {};
_typeSelectorCache = {};
super();
}
public function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void{
_arg2.selectorRefCount++;
_selectors[_arg1] = _arg2;
typeSelectorCache = {};
if (_arg3){
styleDeclarationsChanged();
};
}
public function registerParentDisplayListInvalidatingStyle(_arg1:String):void{
parentDisplayListInvalidatingStyles[_arg1] = true;
}
public function getStyleDeclaration(_arg1:String):CSSStyleDeclaration{
var _local2:int;
if (_arg1.charAt(0) != "."){
_local2 = _arg1.lastIndexOf(".");
if (_local2 != -1){
_arg1 = _arg1.substr((_local2 + 1));
};
};
return (_selectors[_arg1]);
}
public function set typeSelectorCache(_arg1:Object):void{
_typeSelectorCache = _arg1;
}
public function isColorName(_arg1:String):Boolean{
return (!((colorNames[_arg1.toLowerCase()] === undefined)));
}
public function set inheritingStyles(_arg1:Object):void{
_inheritingStyles = _arg1;
}
public function getColorNames(_arg1:Array):void{
var _local4:uint;
if (!_arg1){
return;
};
var _local2:int = _arg1.length;
var _local3:int;
while (_local3 < _local2) {
if (((!((_arg1[_local3] == null))) && (isNaN(_arg1[_local3])))){
_local4 = getColorName(_arg1[_local3]);
if (_local4 != StyleManager.NOT_A_COLOR){
_arg1[_local3] = _local4;
};
};
_local3++;
};
}
public function isInheritingTextFormatStyle(_arg1:String):Boolean{
return ((inheritingTextFormatStyles[_arg1] == true));
}
public function registerParentSizeInvalidatingStyle(_arg1:String):void{
parentSizeInvalidatingStyles[_arg1] = true;
}
public function registerColorName(_arg1:String, _arg2:uint):void{
colorNames[_arg1.toLowerCase()] = _arg2;
}
public function isParentSizeInvalidatingStyle(_arg1:String):Boolean{
return ((parentSizeInvalidatingStyles[_arg1] == true));
}
public function registerInheritingStyle(_arg1:String):void{
inheritingStyles[_arg1] = true;
}
public function set stylesRoot(_arg1:Object):void{
_stylesRoot = _arg1;
}
public function get typeSelectorCache():Object{
return (_typeSelectorCache);
}
public function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean{
return ((parentDisplayListInvalidatingStyles[_arg1] == true));
}
public function isSizeInvalidatingStyle(_arg1:String):Boolean{
return ((sizeInvalidatingStyles[_arg1] == true));
}
public function styleDeclarationsChanged():void{
var _local4:Object;
var _local1:Array = SystemManagerGlobals.topLevelSystemManagers;
var _local2:int = _local1.length;
var _local3:int;
while (_local3 < _local2) {
_local4 = _local1[_local3];
_local4.regenerateStyleCache(true);
_local4.notifyStyleChangeInChildren(null, true);
_local3++;
};
}
public function isValidStyleValue(_arg1):Boolean{
return (!((_arg1 === undefined)));
}
public function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher{
return (loadStyleDeclarations2(_arg1, _arg2));
}
public function get inheritingStyles():Object{
return (_inheritingStyles);
}
public function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void{
var _local4:IModuleInfo;
var _local3:StyleModuleInfo = styleModules[_arg1];
if (_local3){
_local3.styleModule.unload();
_local4 = _local3.module;
_local4.unload();
_local4.removeEventListener(ModuleEvent.READY, _local3.readyHandler);
_local4.removeEventListener(ModuleEvent.ERROR, _local3.errorHandler);
styleModules[_arg1] = null;
};
if (_arg2){
styleDeclarationsChanged();
};
}
public function getColorName(_arg1:Object):uint{
var _local2:Number;
var _local3:*;
if ((_arg1 is String)){
if (_arg1.charAt(0) == "#"){
_local2 = Number(("0x" + _arg1.slice(1)));
return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2));
};
if ((((_arg1.charAt(1) == "x")) && ((_arg1.charAt(0) == "0")))){
_local2 = Number(_arg1);
return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2));
};
_local3 = colorNames[_arg1.toLowerCase()];
if (_local3 === undefined){
return (StyleManager.NOT_A_COLOR);
};
return (uint(_local3));
};
return (uint(_arg1));
}
public function isInheritingStyle(_arg1:String):Boolean{
return ((inheritingStyles[_arg1] == true));
}
public function get stylesRoot():Object{
return (_stylesRoot);
}
public function initProtoChainRoots():void{
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
delete _inheritingStyles["textDecoration"];
delete _inheritingStyles["leading"];
};
if (!stylesRoot){
stylesRoot = _selectors["global"].addStyleToProtoChain({}, null);
};
}
public function loadStyleDeclarations2(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher{
var module:IModuleInfo;
var styleEventDispatcher:StyleEventDispatcher;
var timer:Timer;
var timerHandler:Function;
var url = _arg1;
var update = _arg2;
var applicationDomain = _arg3;
var securityDomain = _arg4;
module = ModuleManager.getModule(url);
var readyHandler:Function = function (_arg1:ModuleEvent):void{
var _local2:IStyleModule = IStyleModule(_arg1.module.factory.create());
styleModules[_arg1.module.url].styleModule = _local2;
if (update){
styleDeclarationsChanged();
};
};
module.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true);
styleEventDispatcher = new StyleEventDispatcher(module);
var errorHandler:Function = function (_arg1:ModuleEvent):void{
var _local3:StyleEvent;
var _local2:String = resourceManager.getString("styles", "unableToLoad", [_arg1.errorText, url]);
if (styleEventDispatcher.willTrigger(StyleEvent.ERROR)){
_local3 = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local3.bytesLoaded = 0;
_local3.bytesTotal = 0;
_local3.errorText = _local2;
styleEventDispatcher.dispatchEvent(_local3);
} else {
throw (new Error(_local2));
};
};
module.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true);
styleModules[url] = new StyleModuleInfo(module, readyHandler, errorHandler);
timer = new Timer(0);
timerHandler = function (_arg1:TimerEvent):void{
timer.removeEventListener(TimerEvent.TIMER, timerHandler);
timer.stop();
module.load(applicationDomain, securityDomain);
};
timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true);
timer.start();
return (styleEventDispatcher);
}
public function registerSizeInvalidatingStyle(_arg1:String):void{
sizeInvalidatingStyles[_arg1] = true;
}
public function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void{
var _local3:CSSStyleDeclaration = getStyleDeclaration(_arg1);
if (((_local3) && ((_local3.selectorRefCount > 0)))){
_local3.selectorRefCount--;
};
delete _selectors[_arg1];
if (_arg2){
styleDeclarationsChanged();
};
}
public function get selectors():Array{
var _local2:String;
var _local1:Array = [];
for (_local2 in _selectors) {
_local1.push(_local2);
};
return (_local1);
}
public static function getInstance():IStyleManager2{
if (!instance){
instance = new (StyleManagerImpl);
};
return (instance);
}
}
}//package mx.styles
import flash.events.*;
import mx.modules.*;
import mx.events.*;
class StyleEventDispatcher extends EventDispatcher {
private function StyleEventDispatcher(_arg1:IModuleInfo){
_arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true);
}
private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{
var _local2:StyleEvent = new StyleEvent(StyleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
dispatchEvent(_local2);
}
private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{
var _local2:StyleEvent = new StyleEvent(StyleEvent.COMPLETE);
dispatchEvent(_local2);
}
private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{
var _local2:StyleEvent = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
_local2.errorText = _arg1.errorText;
dispatchEvent(_local2);
}
}
class StyleModuleInfo {
public var errorHandler:Function;
public var readyHandler:Function;
public var module:IModuleInfo;
public var styleModule:IStyleModule;
private function StyleModuleInfo(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){
this.module = _arg1;
this.readyHandler = _arg2;
this.errorHandler = _arg3;
}
}
Section 60
//ColorUtil (mx.utils.ColorUtil)
package mx.utils {
public class ColorUtil {
mx_internal static const VERSION:String = "3.0.0.0";
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 61
//GraphicsUtil (mx.utils.GraphicsUtil)
package mx.utils {
import flash.display.*;
public class GraphicsUtil {
mx_internal static const VERSION:String = "3.0.0.0";
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 62
//NameUtil (mx.utils.NameUtil)
package mx.utils {
import flash.display.*;
import mx.core.*;
import flash.utils.*;
public class NameUtil {
mx_internal static const VERSION:String = "3.0.0.0";
private static var counter:int = 0;
public static function displayObjectToString(_arg1:DisplayObject):String{
var _local2:String;
var _local4:String;
var _local5:Array;
var _local3:DisplayObject = _arg1;
while (_local3 != null) {
if (((((_local3.parent) && (_local3.stage))) && ((_local3.parent == _local3.stage)))){
break;
};
_local4 = _local3.name;
if ((_local3 is IRepeaterClient)){
_local5 = IRepeaterClient(_local3).instanceIndices;
if (_local5){
_local4 = (_local4 + (("[" + _local5.join("][")) + "]"));
};
};
_local2 = ((_local2 == null)) ? _local4 : ((_local4 + ".") + _local2);
_local3 = _local3.parent;
};
return (_local2);
}
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 63
//StringUtil (mx.utils.StringUtil)
package mx.utils {
public class StringUtil {
mx_internal static const VERSION:String = "3.0.0.0";
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 64
//_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 65
//_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 66
//_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 67
//_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 68
//_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 69
//_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 70
//_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 71
//_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 72
//_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 73
//_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 74
//_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 75
//_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 76
//_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 77
//_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 78
//_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 79
//_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 80
//_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 81
//_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 82
//_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 83
//_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 84
//_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 85
//_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 86
//Background (Background)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
public class Background extends Sprite {
public var matrix:Matrix;
public var lq:Boolean;// = false
public var speed:Number;
public var stars:Array;
public var from:ColorTransform;
public var progress:Number;
public var playing:Boolean;// = true
public var targetSpeed:Number;
public var current:ColorTransform;
public var to:ColorTransform;
public static var GREEN:ColorTransform;
private static var StarField:Class = Background_StarField;
public static var ORANGE:ColorTransform;
public static var RED:ColorTransform;
public static var BLUE:ColorTransform;
public static var YELLOW:ColorTransform;
public function Background(){
var _local3:DisplayObject;
super();
progress = 1;
from = new ColorTransform();
to = new ColorTransform();
current = new ColorTransform();
BLUE = new ColorTransform();
RED = new ColorTransform();
GREEN = new ColorTransform();
YELLOW = new ColorTransform();
ORANGE = new ColorTransform();
BLUE.color = 73095;
RED.color = 0x880000;
GREEN.color = 2254370;
YELLOW.color = 12303138;
ORANGE.color = 11171635;
from.color = (to.color = (current.color = BLUE.color));
speed = 1;
targetSpeed = 1;
stars = new Array();
var _local1:int;
while (_local1 < 10) {
_local3 = new StarField();
_local3.scaleX = (_local3.scaleY = ((_local1 / 10) * 3));
_local3.rotation = (Math.random() * 360);
_local3.x = (_local3.y = 200);
stars.push(_local3);
addChild(_local3);
_local1++;
};
matrix = new Matrix();
var _local2:Number = (400 * Math.sqrt(2));
matrix.createGradientBox(_local2, _local2, 0, ((400 - _local2) / 2), ((400 - _local2) / 2));
draw();
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
public function draw():void{
var _local1:Graphics = this.graphics;
_local1.clear();
_local1.beginGradientFill("radial", [current.color, 0], [1, 1], [0, 0xFF], matrix);
_local1.moveTo(0, 0);
_local1.lineTo(0, 400);
_local1.lineTo(400, 400);
_local1.lineTo(400, 0);
_local1.lineTo(0, 0);
_local1.endFill();
}
public function update(_arg1:Event):void{
var _local3:DisplayObject;
if (!playing){
return;
};
if (speed != targetSpeed){
if (speed < targetSpeed){
speed = Math.min(targetSpeed, (speed + 0.05));
} else {
speed = Math.max(targetSpeed, (speed - 0.05));
};
};
if (progress < 1){
progress = (progress + 0.05);
updateColor();
};
if (lq){
return;
};
var _local2:int;
while (_local2 < stars.length) {
_local3 = stars[_local2];
_local3.rotation = (_local3.rotation + (0.01 * speed));
_local3.scaleX = (_local3.scaleX - (0.003 * speed));
_local3.scaleY = (_local3.scaleY - (0.003 * speed));
if (_local3.scaleX < 0.05){
_local3.scaleX = (_local3.scaleY = 3);
};
_local2++;
};
}
public function updateColor():void{
current = interpolateColor(from, to, progress);
draw();
}
public function interpolateColor(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{
var _local4:Number = (_arg1.redOffset + ((_arg2.redOffset - _arg1.redOffset) * _arg3));
var _local5:Number = (_arg1.greenOffset + ((_arg2.greenOffset - _arg1.greenOffset) * _arg3));
var _local6:Number = (_arg1.blueOffset + ((_arg2.blueOffset - _arg1.blueOffset) * _arg3));
return (new ColorTransform(0, 0, 0, 1, _local4, _local5, _local6));
}
public function setColor(_arg1:ColorTransform):void{
progress = 0;
from.color = current.color;
to.color = _arg1.color;
targetSpeed = 1;
updateColor();
}
public function setDifficulty(_arg1:Number):void{
progress = 0;
from.color = current.color;
if (_arg1 < 0){
to.color = GREEN.color;
} else {
to = interpolateColor(BLUE, RED, _arg1);
};
targetSpeed = Math.max(1, (1 + (_arg1 * 2)));
updateColor();
}
}
}//package
Section 87
//Background_StarField (Background_StarField)
package {
import mx.core.*;
import flash.display.*;
public class Background_StarField extends SpriteAsset {
public var output:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var backButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var qualityButton:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var soundOnButton:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var input:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var musicOffButton:DisplayObject;
public var loadButton:DisplayObject;
public var musicSlider:DisplayObject;
public var resetButton:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 88
//Board (Board)
package {
import flash.events.*;
import flash.display.*;
public class Board extends Sprite {
public var size:int;
public var tileLayer:Sprite;
public var tiles:Array;
private var randomConnections:Number;
private var randomColors:int;
public var scaleFraction:Number;// = 1
public var background:Sprite;
public var slotLayer:Sprite;
private var randomLocked:Number;
public var slots:Array;
public var fullScale:Number;// = 1
public static const MAX_SIZE:int = 7;
public static const MAX_LOCKED:Number = 0.5;
public static const MIN_CONNECTIONS:Number = 0.2;
public static const MIN_SIZE:int = 2;
public static const DEFAULT_LOCKED:Number = 0.2;
public static const MIN_LOCKED:Number = 0;
public static const MAX_CONNECTIONS:Number = 1;
public static const DEFAULT_COLORS:int = 4;
public static const DEFAULT_CONNECTIONS:Number = 0.35;
private static var BoardGfx:Class = Board_BoardGfx;
public function Board(_arg1:int){
var _local2:Slot;
var _local3:Tile;
var _local6:int;
super();
this.size = _arg1;
slots = new Array();
tiles = new Array();
background = new BoardGfx();
addChild(background);
background.scaleX = (background.scaleY = ((((_arg1 * 2) + 0.75) - Math.sqrt(_arg1)) * 3.05));
slotLayer = new Sprite();
addChild(slotLayer);
tileLayer = new Sprite();
addChild(tileLayer);
_local2 = new Slot(0, 0);
slots.push(_local2);
var _local4 = 1;
while (_local4 < _arg1) {
_local6 = (slots.length - 1);
while (_local6 >= 0) {
expand(slots[_local6]);
_local6--;
};
_local4++;
};
var _local5:int = (slots.length - 1);
while (_local5 >= 0) {
_local2 = slots[_local5];
slotLayer.addChild(_local2);
_local3 = new Tile(_local2);
tileLayer.addChild(_local3);
tiles.push(_local3);
_local3.buttonMode = true;
_local5--;
};
}
public function redoRandomFill():void{
var _local1:Tile;
homePositions();
for each (_local1 in tiles) {
if (_local1.locked){
_local1.unlock();
};
if (_local1.confirmed){
_local1.unconfirm();
};
_local1.setN(0);
_local1.setNE(0);
_local1.setSE(0);
_local1.setS(0);
_local1.setSW(0);
_local1.setNW(0);
_local1.startSlot = _local1.slot;
};
if (!randomColors){
randomFill();
} else {
randomFill(randomConnections, randomLocked, randomColors);
};
shuffleStart();
}
public function setScale(_arg1:Number):void{
fullScale = (scaleX = (scaleY = _arg1));
}
public function shrink():void{
SoundBar.playSound(SoundBar.EXIT_LEVEL_SOUND, ((mouseX / Game.MIDX) - 1));
scaleFraction = 1;
addEventListener(Event.ENTER_FRAME, shrinkStep, false, 0, true);
}
public function homePositions():void{
var _local1:Tile;
for each (_local1 in tiles) {
_local1.slot = _local1.homeSlot;
_local1.slot.tile = _local1;
_local1.snapToSlot();
};
for each (_local1 in tiles) {
_local1.checkNeighbours();
};
}
private function expand(_arg1:Slot):void{
var _local2:Slot;
if (!_arg1){
return;
};
if (!_arg1.n){
_local2 = new Slot((_arg1.x + Slot.N.x), (_arg1.y + Slot.N.y));
slots.push(_local2);
_arg1.n = _local2;
_local2.s = _arg1;
if (_arg1.nw){
_arg1.nw.ne = _local2;
_local2.sw = _arg1.nw;
if (_arg1.nw.n){
_arg1.nw.n.se = _local2;
_local2.nw = _arg1.nw.n;
};
};
if (_arg1.ne){
_arg1.ne.nw = _local2;
_local2.se = _arg1.ne;
if (_arg1.ne.n){
_arg1.ne.n.sw = _local2;
_local2.ne = _arg1.ne.n;
};
};
};
if (!_arg1.ne){
_local2 = new Slot((_arg1.x + Slot.NE.x), (_arg1.y + Slot.NE.y));
slots.push(_local2);
_arg1.ne = _local2;
_local2.sw = _arg1;
if (_arg1.n){
_arg1.n.se = _local2;
_local2.nw = _arg1.n;
if (_arg1.n.ne){
_arg1.n.ne.s = _local2;
_local2.n = _arg1.n.ne;
};
};
if (_arg1.se){
_arg1.se.n = _local2;
_local2.s = _arg1.se;
if (_arg1.se.ne){
_arg1.se.ne.nw = _local2;
_local2.se = _arg1.se.ne;
};
};
};
if (!_arg1.se){
_local2 = new Slot((_arg1.x + Slot.SE.x), (_arg1.y + Slot.SE.y));
slots.push(_local2);
_arg1.se = _local2;
_local2.nw = _arg1;
if (_arg1.ne){
_arg1.ne.s = _local2;
_local2.n = _arg1.ne;
if (_arg1.ne.se){
_arg1.ne.se.sw = _local2;
_local2.ne = _arg1.ne.se;
};
};
if (_arg1.s){
_arg1.s.ne = _local2;
_local2.sw = _arg1.s;
if (_arg1.s.se){
_arg1.s.se.n = _local2;
_local2.s = _arg1.s.se;
};
};
};
if (!_arg1.s){
_local2 = new Slot((_arg1.x + Slot.S.x), (_arg1.y + Slot.S.y));
slots.push(_local2);
_arg1.s = _local2;
_local2.n = _arg1;
if (_arg1.se){
_arg1.se.sw = _local2;
_local2.ne = _arg1.se;
if (_arg1.se.s){
_arg1.se.s.nw = _local2;
_local2.se = _arg1.se.s;
};
};
if (_arg1.sw){
_arg1.sw.se = _local2;
_local2.nw = _arg1.sw;
if (_arg1.sw.s){
_arg1.sw.s.ne = _local2;
_local2.sw = _arg1.sw.s;
};
};
};
if (!_arg1.sw){
_local2 = new Slot((_arg1.x + Slot.SW.x), (_arg1.y + Slot.SW.y));
slots.push(_local2);
_arg1.sw = _local2;
_local2.ne = _arg1;
if (_arg1.s){
_arg1.s.nw = _local2;
_local2.se = _arg1.s;
if (_arg1.s.sw){
_arg1.s.sw.n = _local2;
_local2.s = _arg1.s.sw;
};
};
if (_arg1.nw){
_arg1.nw.s = _local2;
_local2.n = _arg1.nw;
if (_arg1.nw.sw){
_arg1.nw.sw.se = _local2;
_local2.nw = _arg1.nw.sw;
};
};
};
if (!_arg1.nw){
_local2 = new Slot((_arg1.x + Slot.NW.x), (_arg1.y + Slot.NW.y));
slots.push(_local2);
_arg1.nw = _local2;
_local2.se = _arg1;
if (_arg1.sw){
_arg1.sw.n = _local2;
_local2.s = _arg1.sw;
if (_arg1.sw.nw){
_arg1.sw.nw.ne = _local2;
_local2.sw = _arg1.sw.nw;
};
};
if (_arg1.n){
_arg1.n.sw = _local2;
_local2.ne = _arg1.n;
if (_arg1.n.nw){
_arg1.n.nw.s = _local2;
_local2.n = _arg1.n.nw;
};
};
};
}
public function grow():void{
SoundBar.playSound(SoundBar.ENTER_LEVEL_SOUND, ((mouseX / Game.MIDX) - 1));
scaleFraction = 0;
scaleX = (scaleY = 0);
addEventListener(Event.ENTER_FRAME, growStep, false, 0, true);
}
public function saveToText():String{
var _local2:Tile;
var _local1:String = ("" + size);
for each (_local2 in tiles) {
if (_local2.locked){
_local1 = (_local1 + "1");
} else {
_local1 = (_local1 + "0");
};
_local1 = (_local1 + (slots.lastIndexOf(_local2.startSlot) + "_"));
_local1 = (_local1 + _local2.n);
_local1 = (_local1 + _local2.ne);
_local1 = (_local1 + _local2.se);
_local1 = (_local1 + _local2.s);
_local1 = (_local1 + _local2.sw);
_local1 = (_local1 + _local2.nw);
};
return (Encrypt.encrypt(_local1));
}
public function startPositions():void{
var _local1:Tile;
for each (_local1 in tiles) {
_local1.slot = _local1.startSlot;
_local1.slot.tile = _local1;
_local1.snapToSlot();
};
for each (_local1 in tiles) {
_local1.checkNeighbours();
};
}
public function shuffleStart():void{
var _local2:Tile;
var _local3:Tile;
var _local1:int = (tiles.length * 2);
while (_local1 >= 0) {
_local2 = tiles[int((Math.random() * tiles.length))];
_local3 = tiles[int((Math.random() * tiles.length))];
if ((((((_local2 == _local3)) || (_local2.locked))) || (_local3.locked))){
} else {
_local2.slot.swapTiles(_local3.slot);
_local2.startSlot = _local2.slot;
_local3.startSlot = _local3.slot;
};
_local1--;
};
}
private function shrinkStep(_arg1:Event):void{
scaleFraction = Math.max(0, (scaleFraction - 0.1));
scaleX = (scaleY = ((scaleFraction * scaleFraction) * fullScale));
if (scaleFraction == 0){
removeEventListener(Event.ENTER_FRAME, shrinkStep);
dispatchEvent(new HexEvent(HexEvent.SHRUNK, false, false, this));
};
}
public function randomFill(_arg1:Number=0.35, _arg2:Number=0.2, _arg3:int=4):void{
var _local4:Tile;
var _local5:Slot;
var _local9:int;
randomConnections = _arg1;
randomLocked = _arg2;
randomColors = _arg3;
var _local6:int = Math.min((tiles.length - 3), Math.floor((_arg2 * tiles.length)));
while (_local6 > 0) {
_local4 = tiles[int((Math.random() * tiles.length))];
if (_local4.locked){
_local6++;
} else {
_local4.lock();
};
_local6--;
};
var _local7:int;
var _local8:int;
for each (_local5 in slots) {
if (((((((_local5.n) && (!(((_local5.tile.locked) && (_local5.n.tile.locked)))))) && ((((Math.random() < _arg1)) || (((_local7 / (_local7 + _local8)) < (_arg1 * 0.8))))))) && (((_local7 / (_local7 + _local8)) < (_arg1 * 1.1))))){
_local9 = (int((Math.random() * _arg3)) + 1);
_local5.tile.setN(_local9);
_local5.n.tile.setS(_local9);
_local7++;
} else {
_local8++;
};
if (((((((_local5.ne) && (!(((_local5.tile.locked) && (_local5.ne.tile.locked)))))) && ((((Math.random() < _arg1)) || (((_local7 / (_local7 + _local8)) < (_arg1 * 0.8))))))) && (((_local7 / (_local7 + _local8)) < (_arg1 * 1.1))))){
_local9 = (int((Math.random() * _arg3)) + 1);
_local5.tile.setNE(_local9);
_local5.ne.tile.setSW(_local9);
_local7++;
} else {
_local8++;
};
if (((((((_local5.nw) && (!(((_local5.tile.locked) && (_local5.nw.tile.locked)))))) && ((((Math.random() < _arg1)) || (((_local7 / (_local7 + _local8)) < (_arg1 * 0.8))))))) && (((_local7 / (_local7 + _local8)) < (_arg1 * 1.1))))){
_local9 = (int((Math.random() * _arg3)) + 1);
_local5.tile.setNW(_local9);
_local5.nw.tile.setSE(_local9);
_local7++;
} else {
_local8++;
};
};
}
private function growStep(_arg1:Event):void{
scaleFraction = Math.min(1, (scaleFraction + 0.1));
scaleX = (scaleY = ((scaleFraction * scaleFraction) * fullScale));
if (scaleFraction == 1){
removeEventListener(Event.ENTER_FRAME, growStep);
dispatchEvent(new HexEvent(HexEvent.GROWN, false, false, this));
};
}
public static function loadFromText(_arg1:String):Board{
var _local4:Tile;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:Tile;
while (_arg1.charAt(0) == " ") {
_arg1 = _arg1.substr(1);
};
_arg1 = Encrypt.decrypt(_arg1);
var _local2:int = int(_arg1.charAt(0));
if ((((_local2 < MIN_SIZE)) || ((_local2 > MAX_SIZE)))){
return (null);
};
var _local3:Board = new Board(_local2);
_arg1 = _arg1.substr(1);
for each (_local4 in _local3.tiles) {
if (_arg1.charAt(0) == "1"){
_local4.lock();
};
_arg1 = _arg1.substr(1);
_local5 = _arg1.indexOf("_");
_local6 = int(_arg1.substr(0, _local5));
_local4.startSlot = _local3.slots[_local6];
_arg1 = _arg1.substr((_local5 + 1));
_local7 = int(_arg1.charAt(0));
if (_local7 >= Tile.COLORS.length){
return (null);
};
_local4.setN(_local7);
_local7 = int(_arg1.charAt(1));
if (_local7 >= Tile.COLORS.length){
return (null);
};
_local4.setNE(_local7);
_local7 = int(_arg1.charAt(2));
if (_local7 >= Tile.COLORS.length){
return (null);
};
_local4.setSE(_local7);
_local7 = int(_arg1.charAt(3));
if (_local7 >= Tile.COLORS.length){
return (null);
};
_local4.setS(_local7);
_local7 = int(_arg1.charAt(4));
if (_local7 >= Tile.COLORS.length){
return (null);
};
_local4.setSW(_local7);
_local7 = int(_arg1.charAt(5));
if (_local7 >= Tile.COLORS.length){
return (null);
};
_local4.setNW(_local7);
_arg1 = _arg1.substr(6);
};
for each (_local4 in _local3.tiles) {
for each (_local8 in _local3.tiles) {
if (((!((_local8 == _local4))) && ((_local8.startSlot == _local4.startSlot)))){
return (null);
};
};
if (((_local4.n) && (((!(_local4.slot.n)) || (!((_local4.slot.n.tile.s == _local4.n))))))){
return (null);
};
if (((_local4.ne) && (((!(_local4.slot.ne)) || (!((_local4.slot.ne.tile.sw == _local4.ne))))))){
return (null);
};
if (((_local4.se) && (((!(_local4.slot.se)) || (!((_local4.slot.se.tile.nw == _local4.se))))))){
return (null);
};
if (((_local4.s) && (((!(_local4.slot.s)) || (!((_local4.slot.s.tile.n == _local4.s))))))){
return (null);
};
if (((_local4.sw) && (((!(_local4.slot.sw)) || (!((_local4.slot.sw.tile.ne == _local4.sw))))))){
return (null);
};
if (((_local4.nw) && (((!(_local4.slot.nw)) || (!((_local4.slot.nw.tile.se == _local4.nw))))))){
return (null);
};
};
_local3.startPositions();
return (_local3);
}
}
}//package
Section 89
//Board_BoardGfx (Board_BoardGfx)
package {
import mx.core.*;
import flash.display.*;
public class Board_BoardGfx extends SpriteAsset {
public var output:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var backButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var qualityButton:DisplayObject;
public var background:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var soundOnButton:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var input:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var musicOffButton:DisplayObject;
public var loadButton:DisplayObject;
public var musicSlider:DisplayObject;
public var resetButton:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 90
//Editor (Editor)
package {
import flash.events.*;
import flash.display.*;
public class Editor extends Level {
private var shift:Boolean;// = false
private var arrangeButton:TextButton;
private var tunnelGhost:Sprite;
private var shuffleButton:TextButton;
private var colorHighlight:Shape;
private var mode:int;// = 0
private var instructions:Sprite;
private var minusButton:TextButton;
private var helpButton:TextButton;
private var modeHighlight:Shape;
private var colorPanel:Sprite;
private var color:int;
private var testButton:TextButton;
private var plusButton:TextButton;
private var connButton:TextButton;
private static const TEST_MODE:int = 2;
private static const colorSize:Number = 18;
private static const ARRANGE_MODE:int = 1;
private static const CONNECTIONS_MODE:int = 0;
protected static var EditInstructions:Class = Editor_EditInstructions;
public function Editor(_arg1:Board=null){
var _local2:TextButton;
tunnelGhost = Tile.getTunnelGhost();
super(_arg1, CUSTOM, true, false);
_local2 = new TextButton(TextButton.LONG, "Connections");
connButton = _local2;
_local2.scaleX = (_local2.scaleY = 0.8);
_local2.x = 45;
_local2.y = 15;
_local2.addEventListener(MouseEvent.CLICK, connMode, false, 0, true);
addChild(_local2);
_local2 = new TextButton(TextButton.LONG, "Arrange");
arrangeButton = _local2;
_local2.scaleX = (_local2.scaleY = 0.8);
_local2.x = 45;
_local2.y = 35;
_local2.addEventListener(MouseEvent.CLICK, arrangeMode, false, 0, true);
addChild(_local2);
_local2 = new TextButton(TextButton.LONG, "Test");
testButton = _local2;
_local2.scaleX = (_local2.scaleY = 0.8);
_local2.x = 45;
_local2.y = 55;
_local2.addEventListener(MouseEvent.CLICK, testMode, false, 0, true);
addChild(_local2);
_local2 = new TextButton(TextButton.LONG, "Shuffle");
shuffleButton = _local2;
_local2.scaleX = (_local2.scaleY = 0.8);
_local2.x = 127;
_local2.y = 15;
_local2.addEventListener(MouseEvent.CLICK, shuffleClick, false, 0, true);
addChild(_local2);
_local2 = new TextButton(TextButton.SQUARE, "-");
plusButton = _local2;
_local2.scaleX = (_local2.scaleY = 0.8);
_local2.x = 97;
_local2.y = 15;
_local2.addEventListener(MouseEvent.CLICK, minusClick, false, 0, true);
addChild(_local2);
_local2 = new TextButton(TextButton.SQUARE, "+");
minusButton = _local2;
_local2.scaleX = (_local2.scaleY = 0.8);
_local2.x = 119;
_local2.y = 15;
_local2.addEventListener(MouseEvent.CLICK, plusClick, false, 0, true);
addChild(_local2);
_local2 = new TextButton(TextButton.SQUARE, "?");
helpButton = _local2;
_local2.scaleX = (_local2.scaleY = 0.76);
_local2.x = 96;
_local2.y = 35;
_local2.addEventListener(MouseEvent.CLICK, helpClick, false, 0, true);
addChild(_local2);
color = 1;
colorPanel = new Sprite();
colorPanel.y = 70;
colorPanel.x = 5;
var _local3 = 1;
while (_local3 < Tile.COLORS.length) {
colorPanel.graphics.beginFill(Tile.colorRGB(_local3, 0.85));
colorPanel.graphics.drawRect(((_local3 - 1) * colorSize), 0, colorSize, colorSize);
colorPanel.graphics.endFill();
_local3++;
};
addChild(colorPanel);
colorPanel.buttonMode = true;
colorPanel.addEventListener(MouseEvent.CLICK, colorClick, false, 0, true);
colorHighlight = new Shape();
colorHighlight.graphics.lineStyle(0, 16777181);
colorHighlight.graphics.drawRect(0, 0, (colorSize - 1), (colorSize - 1));
colorPanel.addChild(colorHighlight);
modeHighlight = new Shape();
modeHighlight.graphics.lineStyle(0, 16777181);
modeHighlight.graphics.drawRect(-40, -10, 79, 19);
addChild(modeHighlight);
instructions = new EditInstructions();
_local2 = new TextButton(TextButton.LONG, "Close");
_local2.x = 200;
_local2.y = 355;
_local2.addEventListener(MouseEvent.CLICK, closeHelpClick, false, 0, true);
instructions.addChild(_local2);
setMode(CONNECTIONS_MODE);
if (!Game.cookie.data.editHelpShown){
showHelp();
};
}
private function shuffleClick(_arg1:MouseEvent):void{
board.shuffleStart();
}
override protected function victory():void{
var _local1:Tile;
SoundBar.playSound(SoundBar.VICTORY_SOUND, 0);
for each (_local1 in tiles) {
_local1.flash();
};
}
private function plusClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
var _local2:int = (board.size + 1);
if (_local2 > Board.MAX_SIZE){
return;
};
disableMouse();
removeBoard();
addBoard(new Board(_local2));
enableMouse();
}
override protected function disableMouse():void{
var _local1:Slot;
super.disableMouse();
for each (_local1 in slots) {
_local1.removeEventListener(MouseEvent.MOUSE_DOWN, slotDown);
};
}
private function keyDown(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case 16:
shift = true;
break;
};
}
override protected function addedToStage(_arg1:Event):void{
super.addedToStage(_arg1);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown, false, 0, true);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUp, false, 0, true);
}
public function setMode(_arg1:int):void{
var _local2:Tile;
for each (_local2 in tiles) {
if (_local2.confirmed){
_local2.unconfirm();
};
};
mode = _arg1;
switch (mode){
case CONNECTIONS_MODE:
Game.background.setColor(Background.GREEN);
modeHighlight.x = connButton.x;
modeHighlight.y = connButton.y;
board.homePositions();
break;
case ARRANGE_MODE:
Game.background.setColor(Background.YELLOW);
modeHighlight.x = arrangeButton.x;
modeHighlight.y = arrangeButton.y;
board.startPositions();
break;
case TEST_MODE:
Game.background.setColor(Background.ORANGE);
modeHighlight.x = testButton.x;
modeHighlight.y = testButton.y;
board.startPositions();
break;
};
shuffleButton.visible = (mode == ARRANGE_MODE);
plusButton.visible = (mode == CONNECTIONS_MODE);
minusButton.visible = (mode == CONNECTIONS_MODE);
colorPanel.visible = (mode == CONNECTIONS_MODE);
board.slotLayer.mouseChildren = (mode == CONNECTIONS_MODE);
}
private function closeHelpClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
if (instructions.parent == this){
removeChild(instructions);
};
}
override protected function checkWin():void{
if (mode == TEST_MODE){
super.checkWin();
};
}
private function slotDown(_arg1:MouseEvent):void{
var _local2:Slot;
var _local3:Tile;
if (mode == CONNECTIONS_MODE){
_local2 = (_arg1.currentTarget as Slot);
if (!_local2){
return;
};
_local3 = _local2.tile;
if (!_local3){
return;
};
editTile(_local3, _arg1.shiftKey);
};
}
override protected function addBoard(_arg1:Board):void{
super.addBoard(_arg1);
_arg1.addChild(tunnelGhost);
}
protected function helpClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
showHelp();
}
override public function update(_arg1:Event):void{
var _local3:Tile;
var _local4:Number;
if (mode != CONNECTIONS_MODE){
tunnelGhost.visible = false;
super.update(_arg1);
return;
};
tileGhost.visible = false;
tunnelGhost.visible = false;
if (shift){
return;
};
var _local2:Slot = overSlot();
if (_local2){
_local3 = _local2.tile;
};
if (_local3){
tunnelGhost.visible = true;
tunnelGhost.x = _local3.x;
tunnelGhost.y = _local3.y;
_local4 = Math.atan2(_local3.mouseY, _local3.mouseX);
tunnelGhost.rotation = ((Math.floor((((_local4 * 180) / Math.PI) / 60)) * 60) - 60);
if (_local4 > ((Math.PI * 2) / 3)){
if (!_local3.slot.sw){
tunnelGhost.visible = false;
};
} else {
if (_local4 > (Math.PI / 3)){
if (!_local3.slot.s){
tunnelGhost.visible = false;
};
} else {
if (_local4 > 0){
if (!_local3.slot.se){
tunnelGhost.visible = false;
};
} else {
if (_local4 > (-(Math.PI) / 3)){
if (!_local3.slot.ne){
tunnelGhost.visible = false;
};
} else {
if (_local4 > ((-(Math.PI) * 2) / 3)){
if (!_local3.slot.n){
tunnelGhost.visible = false;
};
} else {
if (!_local3.slot.nw){
tunnelGhost.visible = false;
};
};
};
};
};
};
};
}
private function testMode(_arg1:MouseEvent=null):void{
setMode(TEST_MODE);
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
}
private function keyUp(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case 16:
shift = false;
break;
};
}
private function showHelp():void{
Game.cookie.data.editHelpShown = true;
addChild(instructions);
}
private function editTile(_arg1:Tile, _arg2:Boolean):void{
var _local3:Tile;
var _local4:Number;
var _local5:int;
if (_arg2){
if (_arg1.locked){
_arg1.unlock();
} else {
for each (_local3 in tiles) {
if (((!((_local3 == _arg1))) && ((_local3.startSlot == _arg1.homeSlot)))){
_local3.startSlot = _arg1.startSlot;
_arg1.startSlot = _arg1.homeSlot;
break;
};
};
_arg1.lock();
};
SoundBar.playSound(SoundBar.LOCK_SOUND, ((mouseX / Game.MIDX) - 1));
} else {
_local4 = Math.atan2(_arg1.mouseY, _arg1.mouseX);
_local5 = color;
if (_local4 > ((Math.PI * 2) / 3)){
if (_arg1.slot.sw){
if (_arg1.sw == color){
_local5 = 0;
};
_arg1.setSW(_local5);
_arg1.slot.sw.tile.setNE(_local5);
};
} else {
if (_local4 > (Math.PI / 3)){
if (_arg1.slot.s){
if (_arg1.s == color){
_local5 = 0;
};
_arg1.setS(_local5);
_arg1.slot.s.tile.setN(_local5);
};
} else {
if (_local4 > 0){
if (_arg1.slot.se){
if (_arg1.se == color){
_local5 = 0;
};
_arg1.setSE(_local5);
_arg1.slot.se.tile.setNW(_local5);
};
} else {
if (_local4 > (-(Math.PI) / 3)){
if (_arg1.slot.ne){
if (_arg1.ne == color){
_local5 = 0;
};
_arg1.setNE(_local5);
_arg1.slot.ne.tile.setSW(_local5);
};
} else {
if (_local4 > ((-(Math.PI) * 2) / 3)){
if (_arg1.slot.n){
if (_arg1.n == color){
_local5 = 0;
};
_arg1.setN(_local5);
_arg1.slot.n.tile.setS(_local5);
};
} else {
if (_arg1.slot.nw){
if (_arg1.nw == color){
_local5 = 0;
};
_arg1.setNW(_local5);
_arg1.slot.nw.tile.setSE(_local5);
};
};
};
};
};
};
SoundBar.playSound(SoundBar.PICKUP_SOUND, ((mouseX / Game.MIDX) - 1));
};
}
override protected function enableMouse():void{
var _local1:Slot;
super.enableMouse();
for each (_local1 in slots) {
_local1.buttonMode = true;
_local1.addEventListener(MouseEvent.MOUSE_DOWN, slotDown, false, 0, true);
};
}
private function colorClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
color = Math.max(1, Math.min(Tile.COLORS.length, (((colorPanel.mouseX / colorPanel.width) * (Tile.COLORS.length - 1)) + 1)));
colorHighlight.x = (colorSize * (color - 1));
}
override protected function swapSlots(_arg1:Slot, _arg2:Slot):void{
super.swapSlots(_arg1, _arg2);
if (mode == ARRANGE_MODE){
if (_arg1.tile){
_arg1.tile.startSlot = _arg1;
};
if (_arg2.tile){
_arg2.tile.startSlot = _arg2;
};
};
}
private function connMode(_arg1:MouseEvent=null):void{
setMode(CONNECTIONS_MODE);
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
}
override protected function tileDown(_arg1:MouseEvent):void{
var _local2:Tile = (_arg1.currentTarget as Tile);
if (!_local2){
return;
};
switch (mode){
case CONNECTIONS_MODE:
editTile(_local2, _arg1.shiftKey);
break;
case TEST_MODE:
case ARRANGE_MODE:
super.tileDown(_arg1);
break;
};
}
override protected function removedFromStage(_arg1:Event):void{
super.removedFromStage(_arg1);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDown);
stage.removeEventListener(KeyboardEvent.KEY_UP, keyUp);
}
private function arrangeMode(_arg1:MouseEvent=null):void{
setMode(ARRANGE_MODE);
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
}
private function minusClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
var _local2:int = (board.size - 1);
if (_local2 < Board.MIN_SIZE){
return;
};
disableMouse();
removeBoard();
addBoard(new Board(_local2));
enableMouse();
}
override protected function resetClick(_arg1:MouseEvent):void{
var _local2:Tile;
var _local3:int;
SoundBar.playSound(SoundBar.RESET_LEVEL_SOUND, 0);
if (mode == CONNECTIONS_MODE){
_local3 = board.size;
disableMouse();
removeBoard();
addBoard(new Board(_local3));
enableMouse();
} else {
if (mode == TEST_MODE){
reset();
} else {
board.homePositions();
};
};
for each (_local2 in tiles) {
_local2.flash();
};
}
}
}//package
Section 91
//Editor_EditInstructions (Editor_EditInstructions)
package {
import mx.core.*;
import flash.display.*;
public class Editor_EditInstructions extends SpriteAsset {
public var output:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var backButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var qualityButton:DisplayObject;
public var background:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var soundOnButton:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var input:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var musicOffButton:DisplayObject;
public var loadButton:DisplayObject;
public var musicSlider:DisplayObject;
public var resetButton:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 92
//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 93
//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 94
//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 95
//Encrypt (Encrypt)
package {
public class Encrypt {
private static const swaps:Array = [{before:"_10", after:"A"}, {before:"_15", after:"B"}, {before:"_17", after:"D"}, {before:"_20", after:"F"}, {before:"_22", after:"H"}, {before:"_24", after:"I"}, {before:"_30", after:"J"}, {before:"_31", after:"K"}, {before:"_0", after:"C"}, {before:"_1", after:"X"}, {before:"_2", after:"O"}, {before:"_3", after:"P"}, {before:"_4", after:"N"}, {before:"_5", after:"E"}, {before:"_6", after:"Y"}, {before:"_7", after:"Z"}, {before:"_8", after:"G"}, {before:"_9", after:"Q"}, {before:"1001", after:"m"}, {before:"2001", after:"V"}, {before:"010", after:"s"}, {before:"111", after:"d"}, {before:"101", after:"p"}, {before:"002", after:"R"}, {before:"200", after:"n"}, {before:"220", after:"W"}, {before:"300", after:"L"}, {before:"040", after:"S"}, {before:"400", after:"U"}, {before:"02", after:"k"}, {before:"03", after:"M"}, {before:"04", after:"T"}, {before:"000000", after:"a"}, {before:"00000", after:"j"}, {before:"0000", after:"v"}, {before:"000", after:"e"}, {before:"00", after:"w"}, {before:"11", after:"h"}, {before:"22", after:"l"}, {before:"0", after:"q"}, {before:"1", after:"b"}, {before:"2", after:"u"}, {before:"3", after:"c"}, {before:"4", after:"g"}, {before:"5", after:"r"}, {before:"6", after:"t"}, {before:"7", after:"f"}, {before:"8", after:"i"}, {before:"9", after:"o"}];
public static function decrypt(_arg1:String):String{
var _local3:Object;
var _local2:int = (swaps.length - 1);
while (_local2 >= 0) {
_local3 = swaps[_local2];
_arg1 = _arg1.replace(new RegExp(_local3.after, "g"), _local3.before);
_local2--;
};
return (_arg1);
}
public static function encrypt(_arg1:String):String{
var _local3:Object;
var _local2:int;
while (_local2 < swaps.length) {
_local3 = swaps[_local2];
_arg1 = _arg1.replace(new RegExp(_local3.before, "g"), _local3.after);
_local2++;
};
return (_arg1);
}
}
}//package
Section 96
//Factory (Factory)
package {
import flash.events.*;
import flash.display.*;
import flash.ui.*;
import flash.utils.*;
public class Factory extends MovieClip {
private var intro:MovieClip;
private var bar:Sprite;
private var preloader:MovieClip;
private var antFinished:Boolean;// = false
private var loadFinished:Boolean;// = false
private static const Preloader:Class = Factory_Preloader;
private static const Intro:Class = Factory_Intro;
public static var ON_BICLOPS:Boolean = false;
public static var ON_KONG:Boolean = false;
public function Factory(){
var cMenuItem:ContextMenuItem;
var barHouse:Sprite;
var kongButton:SimpleButton;
var biclopsButton:SimpleButton;
var antAnim:MovieClip;
super();
stop();
graphics.beginFill(0);
graphics.drawRect(0, 0, 400, 400);
graphics.endFill();
ON_KONG = (stage.loaderInfo.loaderURL.indexOf("kongregate.com") >= 0);
ON_BICLOPS = (stage.loaderInfo.loaderURL.indexOf("biclopsgames.com") >= 0);
Links.stage = stage;
stage.frameRate = 30;
stage.tabChildren = false;
var cMenu:ContextMenu = new ContextMenu();
cMenu.hideBuiltInItems();
cMenuItem = new ContextMenuItem("Created by Biclops Games");
cMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, Links.biclopsLink);
cMenu.customItems.push(cMenuItem);
cMenuItem = new ContextMenuItem("Sponsored by Kongregate.com");
cMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, Links.sponsorLink);
cMenu.customItems.push(cMenuItem);
this.contextMenu = cMenu;
if (ON_KONG){
preloader = new Preloader();
preloader.stop();
preloader.addFrameScript((preloader.totalFrames - 1), preloaderEnd);
addChild(preloader);
barHouse = (preloader.getChildByName("barHouse") as Sprite);
bar = (barHouse.getChildByName("bar") as Sprite);
kongButton = (preloader.getChildByName("kongButton") as SimpleButton);
kongButton.addEventListener(MouseEvent.CLICK, Links.sponsorLink, false, 0, true);
biclopsButton = (preloader.getChildByName("biclopsButton") as SimpleButton);
biclopsButton.addEventListener(MouseEvent.CLICK, Links.biclopsLink, false, 0, true);
antAnim = (preloader.getChildByName("antAnim") as MovieClip);
antAnim.addFrameScript((antAnim.totalFrames - 1), function ():void{
antAnim.stop();
antAnimFinished();
});
addEventListener(Event.ENTER_FRAME, onEnterFrame, false, 0, true);
} else {
preloader = new MovieClip();
addChild(preloader);
MochiAd.showPreGameAd({clip:preloader, id:"1b810d465c3e11d5", res:"400x400", ad_finished:adFinished});
};
}
public function startGame():void{
var _local2:Object;
if (((preloader) && (preloader.parent))){
preloader.parent.removeChild(preloader);
};
preloader = null;
bar = null;
nextFrame();
var _local1:Class = (getDefinitionByName("Game") as Class);
if (_local1){
_local2 = new (_local1);
addChild((_local2 as DisplayObject));
};
}
private function playClick(_arg1:MouseEvent):void{
intro.play();
}
private function preloaderEnd():void{
preloader.stop();
startGame();
}
private function finishedLoading():void{
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
loadFinished = true;
if (((loadFinished) && (antFinished))){
preloader.play();
};
}
private function antAnimFinished():void{
antFinished = true;
if (((loadFinished) && (antFinished))){
preloader.play();
};
}
private function onEnterFrame(_arg1:Event):void{
var _local2:Number = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal);
bar.x = (300 * (_local2 - 1));
if (framesLoaded == totalFrames){
finishedLoading();
};
}
private function adFinished():void{
var antAnim:MovieClip;
var label:FrameLabel;
var playButton:SimpleButton;
intro = new Intro();
var kongButton:SimpleButton = (intro.getChildByName("kongButton") as SimpleButton);
kongButton.addEventListener(MouseEvent.CLICK, Links.sponsorLink, false, 0, true);
var biclopsButton:SimpleButton = (intro.getChildByName("biclopsButton") as SimpleButton);
biclopsButton.addEventListener(MouseEvent.CLICK, Links.biclopsLink, false, 0, true);
antAnim = (intro.getChildByName("antAnim") as MovieClip);
antAnim.addFrameScript((antAnim.totalFrames - 1), function ():void{
antAnim.stop();
});
var playFrame = 100;
var labels:Array = intro.currentLabels;
for each (label in labels) {
if (label.name == "Play Frame"){
playFrame = label.frame;
break;
};
};
playButton = (intro.getChildByName("playButton") as SimpleButton);
if (playButton){
playButton.addEventListener(MouseEvent.CLICK, playClick, false, 0, true);
intro.addFrameScript((playFrame - 1), function ():void{
intro.stop();
});
};
intro.addFrameScript((intro.totalFrames - 1), function ():void{
intro.stop();
removeChild(intro);
startGame();
});
addChild(intro);
}
}
}//package
Section 97
//Factory_Intro (Factory_Intro)
package {
import flash.display.*;
import mx.core.*;
public class Factory_Intro extends MovieClipAsset {
public var backButton:DisplayObject;
public var output:DisplayObject;
public var playButton:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var biclopsButton:DisplayObject;
public var lights:DisplayObject;
public var antAnim:DisplayObject;
public var sponsor:DisplayObject;
public var connectionsSlider:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var bar:DisplayObject;
public var background:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var kongButton:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var barHouse:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var input:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var resetButton:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var loadButton:DisplayObject;
public var soundOnButton:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 98
//Factory_Preloader (Factory_Preloader)
package {
import flash.display.*;
import mx.core.*;
public class Factory_Preloader extends MovieClipAsset {
public var backButton:DisplayObject;
public var output:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var bar:DisplayObject;
public var biclopsButton:DisplayObject;
public var lights:DisplayObject;
public var antAnim:DisplayObject;
public var sponsor:DisplayObject;
public var connectionsSlider:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var background:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var kongButton:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var barHouse:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var input:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var resetButton:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var loadButton:DisplayObject;
public var soundOnButton:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 99
//Fonts (Fonts)
package {
public class Fonts {
public static const MYRIAD:String = "Myriad Web Pro";
private static var FONT_MYRIAD:Class = Fonts_FONT_MYRIAD;
}
}//package
Section 100
//Fonts_FONT_MYRIAD (Fonts_FONT_MYRIAD)
package {
import mx.core.*;
public class Fonts_FONT_MYRIAD extends FontAsset {
}
}//package
Section 101
//Game (Game)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class Game extends Sprite {
private var level:Level;
private var black:Sprite;
private var titleScreen:TitleScreen;
public static const MIDX:Number = 200;
private static var soundBar:SoundBar;
public static var kongregate;
public static var background:Background;
public static var colorBlind:Boolean = false;
public static var cookie:SharedObject;
public static var cheatHasBeenFound:Boolean = false;
public static var quality:int;
public function Game(){
addEventListener(Event.ADDED_TO_STAGE, addedToStage, false, 0, true);
}
private function removeLevel():void{
if (!level){
return;
};
if (level.parent == this){
removeChild(level);
};
level.removeEventListener(HexEvent.MENU, showMenu);
level.removeEventListener(HexEvent.NEXT_LEVEL, showMenu);
level.removeEventListener(HexEvent.NEXT_LEVEL, nextRandom);
level.removeEventListener(HexEvent.NEXT_LEVEL, play);
level = null;
}
private function keyUp(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == 81){
nextQuality();
};
}
public function addedToStage(_arg1:Event):void{
var _local2:Object;
var _local3:String;
var _local4:URLRequest;
var _local5:Loader;
removeEventListener(Event.ADDED_TO_STAGE, addedToStage);
if (Factory.ON_KONG){
_local2 = LoaderInfo(root.loaderInfo).parameters;
_local3 = ((_local2.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf"));
_local4 = new URLRequest(_local3);
_local5 = new Loader();
_local5.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
_local5.load(_local4);
this.addChild(_local5);
};
stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);
Input.init(stage);
if (!background){
background = new Background();
};
addChild(background);
cookie = SharedObject.getLocal("Hexiom");
if (!cookie.data.levelsComplete){
cookie.data.levelsComplete = new Array(41);
cookie.data.levelsComplete[0] = (int((Math.random() * 900)) + 3);
};
if (cookie.data.quality == undefined){
setQuality(5);
} else {
setQuality(cookie.data.quality);
};
colorBlind = cookie.data.colorBlind;
titleScreen = new TitleScreen();
titleScreen.addEventListener(HexEvent.EDIT, edit, false, 0, true);
titleScreen.addEventListener(HexEvent.PLAY, play, false, 0, true);
titleScreen.addEventListener(HexEvent.LOAD, load, false, 0, true);
titleScreen.addEventListener(HexEvent.RANDOM, random, false, 0, true);
if (!soundBar){
soundBar = new SoundBar();
};
addChild(soundBar);
showMenu();
titleScreen.stopTitle();
black = new Sprite();
black.graphics.beginFill(0);
black.graphics.drawRect(0, 0, 400, 400);
black.graphics.endFill();
addChild(black);
addEventListener(Event.ENTER_FRAME, fadeBlack, false, 0, true);
MochiBot.track(this, "2db7052f");
}
private function fadeBlack(_arg1:Event):void{
var _local2:Number = (1 / 30);
black.alpha = (black.alpha - _local2);
if (black.alpha < _local2){
removeEventListener(Event.ENTER_FRAME, fadeBlack);
removeChild(black);
black = null;
titleScreen.flashTitle();
SoundBar.playMusic();
};
}
private function load(_arg1:HexEvent):void{
if (!_arg1.board){
return;
};
if (titleScreen.parent == this){
removeChild(titleScreen);
};
level = new Level(_arg1.board, Level.CUSTOM);
level.addEventListener(HexEvent.MENU, showMenu, false, 0, true);
level.addEventListener(HexEvent.NEXT_LEVEL, showMenu, false, 0, true);
addChild(level);
_slot1.background.setColor(Background.ORANGE);
}
private function playLevel(_arg1:int):void{
level = new Level(Board.loadFromText(Levels.getBoardString(_arg1)), _arg1);
level.addEventListener(HexEvent.MENU, showMenu, false, 0, true);
level.addEventListener(HexEvent.NEXT_LEVEL, play, false, 0, true);
addChild(level);
_slot1.background.setDifficulty((_arg1 / 40));
}
private function edit(_arg1:HexEvent=null):void{
if (titleScreen.parent == this){
removeChild(titleScreen);
};
level = new Editor();
level.addEventListener(HexEvent.MENU, showMenu, false, 0, true);
addChild(level);
}
private function random(_arg1:HexEvent):void{
if (!_arg1.board){
return;
};
if (titleScreen.parent == this){
removeChild(titleScreen);
};
level = new Level(_arg1.board, _arg1.level, true);
level.addEventListener(HexEvent.MENU, showMenu, false, 0, true);
level.addEventListener(HexEvent.NEXT_LEVEL, nextRandom, false, 0, true);
addChild(level);
_slot1.background.setDifficulty(((_arg1.board.size - 3) / 3));
}
private function play(_arg1:HexEvent):void{
removeLevel();
if (titleScreen.parent == this){
removeChild(titleScreen);
};
var _local2:int = _arg1.level;
if (_local2 == 0){
_local2 = 1;
};
if (_local2 > 40){
showMenu();
} else {
playLevel(_local2);
};
}
private function nextRandom(_arg1:HexEvent):void{
if (!_arg1.board){
return;
};
removeLevel();
_arg1.board.redoRandomFill();
level = new Level(_arg1.board, _arg1.level, true);
level.addEventListener(HexEvent.MENU, showMenu, false, 0, true);
level.addEventListener(HexEvent.NEXT_LEVEL, nextRandom, false, 0, true);
addChild(level);
}
private function showMenu(_arg1:HexEvent=null):void{
removeLevel();
titleScreen.update();
addChild(titleScreen);
titleScreen.flashTitle();
}
private function loadComplete(_arg1:Event):void{
kongregate = _arg1.target.content;
kongregate.services.connect();
trace("Connected - Submitting levels completed");
submitLevelsCompleted();
}
public static function completeLevel(_arg1:int, _arg2:int, _arg3:int):void{
if (_arg1 > 0){
setLevelComplete(_arg1, true);
submitLevelsCompleted();
} else {
if (_arg1 == Level.BASIC_RANDOM){
if (kongregate){
trace("Size", _arg2, "in", _arg3, "seconds.");
kongregate.stats.submit(("Random Size " + _arg2), _arg3);
};
};
};
}
public static function nextQuality():void{
setQuality(((quality + 1) % 6));
}
public static function setLevelComplete(_arg1:int, _arg2:Boolean):void{
if (!_arg2){
cookie.data.levelsComplete[_arg1] = 0;
return;
};
RandomNumber.initialize(cookie.data.levelsComplete[0]);
var _local3:int;
while (_local3 < _arg1) {
RandomNumber.random();
_local3++;
};
cookie.data.levelsComplete[_arg1] = (((int((RandomNumber.random() * 1111)) % 13) + 3) * _arg1);
cookie.flush();
}
public static function getLevelComplete(_arg1:int):Boolean{
RandomNumber.initialize(cookie.data.levelsComplete[0]);
var _local2:int;
while (_local2 < _arg1) {
RandomNumber.random();
_local2++;
};
return (((cookie.data.levelsComplete[_arg1] / _arg1) == ((int((RandomNumber.random() * 1111)) % 13) + 3)));
}
public static function submitLevelsCompleted():void{
var _local1:int;
var _local2:int;
if (kongregate){
_local1 = 0;
_local2 = 1;
while (_local2 <= 40) {
if (getLevelComplete(_local2)){
_local1++;
};
_local2++;
};
trace("Completed:", _local1);
kongregate.stats.submit("Levels Completed", _local1);
};
}
public static function cheatFound():void{
if (cheatHasBeenFound){
return;
};
trace("Cheat Found");
cheatHasBeenFound = true;
}
public static function setColorBlind(_arg1:Boolean):void{
colorBlind = _arg1;
cookie.data.colorBlind = _arg1;
}
public static function checkClocking():Boolean{
if (cookie.data.clocked){
return (false);
};
var _local1 = 1;
while (_local1 <= 40) {
if (!getLevelComplete(_local1)){
return (false);
};
_local1++;
};
cookie.data.clocked = true;
return (true);
}
private static function setQuality(_arg1:int):void{
quality = _arg1;
background.playing = (_arg1 >= 3);
if ((_arg1 % 3) == 0){
background.stage.quality = StageQuality.LOW;
};
if ((_arg1 % 3) == 1){
background.stage.quality = StageQuality.MEDIUM;
};
if ((_arg1 % 3) == 2){
background.stage.quality = StageQuality.HIGH;
};
cookie.data.quality = _arg1;
}
}
}//package
Section 102
//HexEvent (HexEvent)
package {
import flash.events.*;
public class HexEvent extends Event {
public var level:int;
public var board:Board;
public static const RANDOM:String = "Random";
public static const LOAD:String = "Load";
public static const EDIT:String = "Edit";
public static const PLAY:String = "Play";
public static const SHRUNK:String = "Shrunk";
public static const NEXT_LEVEL:String = "Next Level";
public static const GROWN:String = "Grown";
public static const MENU:String = "Menu";
public function HexEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Board=null, _arg5:int=0){
super(_arg1, _arg2, _arg3);
this.board = _arg4;
this.level = _arg5;
}
override public function toString():String{
return (formatToString("HexEvent", "type", "bubbles", "cancelable", "eventPhase", "board", "level"));
}
override public function clone():Event{
return (new HexEvent(type, bubbles, cancelable, board, level));
}
}
}//package
Section 103
//Input (Input)
package {
import flash.events.*;
import flash.display.*;
import flash.ui.*;
public class Input {
public static const CLOSEST_CHARACTER_KEY:uint = (keyCount++ * 2);
public static const LEFT_KEY:uint = (keyCount++ * 2);
public static const TRANSPARENT_GUI_KEY:uint = (keyCount++ * 2);
public static const SELF_ABILITY_KEY:uint = (keyCount++ * 2);
public static const UP_KEY:uint = (keyCount++ * 2);
public static const DOWN_KEY:uint = (keyCount++ * 2);
public static const NUM_KEYS:uint = (keyCount * 2);
public static const NO_KEYCODE:uint = 258;
public static const DEFEND_KEY:uint = (keyCount++ * 2);
public static const NEXT_CHARACTER_KEY:uint = (keyCount++ * 2);
public static const CHAT_KEY:uint = (keyCount++ * 2);
public static const CLEAR_SELECTION_KEY:uint = (keyCount++ * 2);
public static const UNDO_KEY:uint = (keyCount++ * 2);
public static const MOUSE_KEYCODE:uint = 0x0101;
public static const RIGHT_KEY:uint = (keyCount++ * 2);
public static const VIEW_FORTRESS_KEY:uint = (keyCount++ * 2);
private static var down:Array = new Array();
private static var released:Array = new Array();
private static var keyCount:uint = 0;
private static var keys:Array = new Array();
public static function flush():void{
var _local1:int;
while (_local1 < NUM_KEYS) {
down[keys[_local1]] = false;
released[keys[_local1]] = true;
_local1++;
};
}
public static function newPress(_arg1:int):Boolean{
return (((((down[keys[_arg1]]) && (released[keys[_arg1]]))) || (((down[keys[(_arg1 + 1)]]) && (released[keys[(_arg1 + 1)]])))));
}
public static function getSecondaryBindString(_arg1:uint):String{
return (getCharString(keys[(_arg1 + 1)]));
}
public static function init(_arg1:Stage):Boolean{
defaults();
flush();
if (!_arg1){
return (false);
};
_arg1.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
_arg1.addEventListener(MouseEvent.MOUSE_UP, mouseUp);
_arg1.addEventListener(Event.MOUSE_LEAVE, mouseLeave);
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
_arg1.addEventListener(KeyboardEvent.KEY_UP, keyUp);
return (true);
}
public static function mouseLeave(_arg1:Event):void{
var _local2:int;
while (_local2 < NUM_KEYS) {
down[keys[_local2]] = false;
released[keys[_local2]] = true;
_local2++;
};
}
public static function getPrimaryBindString(_arg1:uint):String{
return (getCharString(keys[_arg1]));
}
public static function mouseUp(_arg1:MouseEvent):void{
down[MOUSE_KEYCODE] = false;
released[MOUSE_KEYCODE] = true;
}
public static function keyDown(_arg1:KeyboardEvent):void{
var _local2:uint = _arg1.keyCode;
down[_local2] = true;
}
public static function setBind(_arg1:int, _arg2:Boolean, _arg3:uint):void{
if (_arg2){
keys[_arg1] = _arg3;
} else {
keys[(_arg1 + 1)] = _arg3;
};
}
public static function bindString(_arg1:uint):String{
var _local2:String = getPrimaryBindString(_arg1);
if (_local2 != ""){
return (_local2);
};
_local2 = getSecondaryBindString(_arg1);
if (_local2 != ""){
return (_local2);
};
return ("No-Key-Set");
}
public static function update():void{
var _local1:int;
while (_local1 < NUM_KEYS) {
released[keys[_local1]] = !(down[keys[_local1]]);
_local1++;
};
}
public static function defaults():void{
var _local1:uint;
while (_local1 < NUM_KEYS) {
keys[_local1] = NO_KEYCODE;
_local1++;
};
keys[LEFT_KEY] = 65;
keys[(LEFT_KEY + 1)] = Keyboard.LEFT;
keys[RIGHT_KEY] = 68;
keys[(RIGHT_KEY + 1)] = Keyboard.RIGHT;
keys[UP_KEY] = 87;
keys[(UP_KEY + 1)] = Keyboard.UP;
keys[DOWN_KEY] = 83;
keys[(DOWN_KEY + 1)] = Keyboard.DOWN;
keys[UNDO_KEY] = 82;
keys[(UNDO_KEY + 1)] = Keyboard.BACKSPACE;
keys[CLEAR_SELECTION_KEY] = Keyboard.ESCAPE;
keys[NEXT_CHARACTER_KEY] = Keyboard.TAB;
keys[CLOSEST_CHARACTER_KEY] = 67;
keys[VIEW_FORTRESS_KEY] = 70;
keys[(VIEW_FORTRESS_KEY + 1)] = Keyboard.HOME;
keys[SELF_ABILITY_KEY] = 49;
keys[(SELF_ABILITY_KEY + 1)] = 96;
keys[DEFEND_KEY] = Keyboard.SPACE;
keys[(DEFEND_KEY + 1)] = Keyboard.END;
keys[CHAT_KEY] = Keyboard.ENTER;
keys[TRANSPARENT_GUI_KEY] = Keyboard.CONTROL;
}
public static function keyUp(_arg1:KeyboardEvent):void{
var _local2:uint = _arg1.keyCode;
down[_local2] = false;
released[_local2] = true;
}
public static function mouseDown(_arg1:MouseEvent):void{
down[MOUSE_KEYCODE] = true;
}
public static function isDown(_arg1:int):Boolean{
return (((down[keys[_arg1]]) || (down[keys[(_arg1 + 1)]])));
}
public static function getCharString(_arg1:uint):String{
switch (_arg1){
case NO_KEYCODE:
return ("");
case MOUSE_KEYCODE:
return ("Mouse Button");
case 65:
return ("A");
case 66:
return ("B");
case 67:
return ("C");
case 68:
return ("D");
case 69:
return ("E");
case 70:
return ("F");
case 71:
return ("G");
case 72:
return ("H");
case 73:
return ("I");
case 74:
return ("J");
case 75:
return ("K");
case 76:
return ("L");
case 77:
return ("M");
case 78:
return ("N");
case 79:
return ("O");
case 80:
return ("P");
case 81:
return ("Q");
case 82:
return ("R");
case 83:
return ("S");
case 84:
return ("T");
case 85:
return ("U");
case 86:
return ("V");
case 87:
return ("W");
case 88:
return ("X");
case 89:
return ("Y");
case 90:
return ("Z");
case 27:
return ("Esc");
case 112:
return ("F1");
case 113:
return ("F2");
case 114:
return ("F3");
case 115:
return ("F4");
case 116:
return ("F5");
case 117:
return ("F6");
case 118:
return ("F7");
case 119:
return ("F8");
case 120:
return ("F9");
case 122:
return ("F11");
case 123:
return ("F12");
case 145:
return ("Scroll Lock");
case 19:
return ("Pause");
case 192:
return ("`");
case 49:
return ("1");
case 50:
return ("2");
case 51:
return ("3");
case 52:
return ("4");
case 53:
return ("5");
case 54:
return ("6");
case 55:
return ("7");
case 56:
return ("8");
case 57:
return ("9");
case 48:
return ("0");
case 189:
return ("-");
case 187:
return ("=");
case 8:
return ("Backspace");
case 9:
return ("Tab");
case 20:
return ("Caps Lock");
case 16:
return ("Shift");
case 17:
return ("Control");
case 32:
return ("Space");
case 13:
return ("Enter");
case 220:
return ("\\");
case 37:
return ("Left");
case 39:
return ("Right");
case 38:
return ("Up");
case 40:
return ("Down");
case 45:
return ("Insert");
case 46:
return ("Del");
case 36:
return ("Home");
case 35:
return ("End");
case 33:
return ("Page Up");
case 34:
return ("Page Down");
case 144:
return ("Num Lock");
case 96:
return ("Numpad Ins");
case 97:
return ("Numpad 1");
case 98:
return ("Numpad 2");
case 99:
return ("Numpad 3");
case 100:
return ("Numpad 4");
case 101:
return ("Numpad 5");
case 102:
return ("Numpad 6");
case 103:
return ("Numpad 7");
case 104:
return ("Numpad 8");
case 105:
return ("Numpad 9");
case 106:
return ("Numpad *");
case 107:
return ("Numpad +");
case 109:
return ("Numpad -");
case 110:
return ("Numpad Del");
case 111:
return ("Numpad /");
case 219:
return ("[");
case 221:
return ("]");
case 186:
return (";");
case 222:
return ("'");
case 188:
return ("<");
case 190:
return (">");
case 191:
return ("/");
};
return ("");
}
}
}//package
Section 104
//Level (Level)
package {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.system.*;
import flash.text.*;
import flash.utils.*;
public class Level extends Sprite {
protected var tileGhost:Sprite;
public var tiles:Array;
protected var saveButton:SimpleButton;
private var saveDialog:Sprite;
protected var timeLabel:TextField;
private var victoryScreen:Sprite;
private var _time:Array;
public var slots:Array;
private var timer:Timer;
protected var currentTile:Tile;
protected var levelLabel:TextField;
private var victoryShowing:Boolean;// = false
protected var gap:Sprite;
private var saveOutput:TextField;
protected var resetButton:SimpleButton;
private var victoryTimer:Timer;
public var board:Board;
private var levelNumber:int;
protected var backButton:SimpleButton;
public static const CUSTOM:int = -1;
public static const ADVANCED_RANDOM:int = -3;
public static const BASIC_RANDOM:int = -2;
protected static var InterfaceGfx:Class = Level_InterfaceGfx;
protected static var SaveDialog:Class = Level_SaveDialog;
protected static var Clocking:Class = Level_Clocking;
protected static var Gap:Class = Level_Gap;
protected static var VictoryScreen:Class = Level_VictoryScreen;
public function Level(_arg1:Board=null, _arg2:int=-1, _arg3:Boolean=false, _arg4:Boolean=true){
_time = new Array(3);
super();
time = 0;
tileGhost = Tile.getTileGhost();
gap = new Gap();
if (_arg1){
addBoard(_arg1);
} else {
addBoard(new Board(3));
};
board.addEventListener(HexEvent.GROWN, startTimer, false, 0, true);
board.grow();
timer = new Timer(1000, 0);
victoryTimer = new Timer(500, 1);
victoryTimer.addEventListener(TimerEvent.TIMER, showVictoryScreenTime, false, 0, true);
this.levelNumber = _arg2;
addInterface(_arg3, _arg4);
addEventListener(Event.ADDED_TO_STAGE, addedToStage, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, removedFromStage, false, 0, true);
}
protected function resetClick(_arg1:MouseEvent):void{
var _local2:Tile;
victoryShowing = false;
hideVictoryScreen();
SoundBar.playSound(SoundBar.RESET_LEVEL_SOUND, 0);
reset();
for each (_local2 in tiles) {
_local2.flash();
};
}
protected function startTimer(_arg1:HexEvent):void{
timer.addEventListener(TimerEvent.TIMER, secondTick, false, 0, true);
}
protected function victoryOver(_arg1:MouseEvent):void{
if (victoryShowing){
showVictoryScreen();
};
}
protected function continueToMenu(_arg1:HexEvent):void{
var _local2:int = levelNumber;
if (levelNumber >= 1){
_local2++;
};
dispatchEvent(new HexEvent(HexEvent.NEXT_LEVEL, false, false, board, _local2));
}
protected function saveClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
stage.focus = saveOutput;
saveOutput.text = board.saveToText();
saveOutput.scrollH = 0;
saveOutput.setSelection(0, saveOutput.text.length);
addChild(saveDialog);
}
protected function victory():void{
var _local1:Tile;
SoundBar.playSound(SoundBar.VICTORY_SOUND, 0);
for each (_local1 in tiles) {
_local1.flash();
};
victoryTimer.reset();
victoryTimer.start();
Game.completeLevel(levelNumber, board.size, time);
}
protected function overSlot():Slot{
var _local2:DisplayObject;
var _local3:DisplayObjectContainer;
var _local4:Slot;
var _local1:Array = stage.getObjectsUnderPoint(new Point(stage.mouseX, stage.mouseY));
if (_local1.length){
for each (_local2 in _local1) {
_local3 = _local2.parent;
while (_local3 != stage) {
_local4 = (_local3 as Slot);
if (_local4){
return (_local4);
};
_local3 = _local3.parent;
};
};
};
return (null);
}
protected function showVictoryScreenTime(_arg1:TimerEvent):void{
var _local2:Sprite;
var _local3:DisplayObject;
if (Game.checkClocking()){
_local2 = new Clocking();
_local3 = victoryScreen.getChildAt((victoryScreen.numChildren - 1));
_local3.y = (_local3.y - 30);
_local2.addChild(_local3);
_local3 = victoryScreen.getChildAt((victoryScreen.numChildren - 1));
_local3.y = (_local3.y - 30);
_local2.addChild(_local3);
victoryScreen = _local2;
};
victoryShowing = true;
victoryScreen.alpha = 0;
showVictoryScreen();
}
protected function saveCopyClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
System.setClipboard(saveOutput.text);
}
protected function addInterface(_arg1:Boolean, _arg2:Boolean):void{
var _local4:TextButton;
var _local3:DisplayObjectContainer = new InterfaceGfx();
resetButton = (_local3.getChildByName("resetButton") as SimpleButton);
saveButton = (_local3.getChildByName("saveButton") as SimpleButton);
backButton = (_local3.getChildByName("backButton") as SimpleButton);
levelLabel = (_local3.getChildByName("levelLabel") as TextField);
levelLabel.mouseEnabled = false;
timeLabel = (_local3.getChildByName("timeLabel") as TextField);
timeLabel.mouseEnabled = false;
if (_arg2){
addChild(levelLabel);
if (levelNumber == CUSTOM){
levelLabel.text = "Custom";
} else {
if ((((levelNumber == BASIC_RANDOM)) || ((levelNumber == ADVANCED_RANDOM)))){
levelLabel.text = "Random";
} else {
levelLabel.text = ("Level " + levelNumber);
};
};
addChild(timeLabel);
timer.start();
updateTime();
};
saveDialog = new SaveDialog();
_local4 = new TextButton(TextButton.LONG, "Copy");
_local4.x = 140;
_local4.y = 240;
_local4.addEventListener(MouseEvent.CLICK, saveCopyClick, false, 0, true);
saveDialog.addChild(_local4);
_local4 = new TextButton(TextButton.LONG, "Ok");
_local4.x = 260;
_local4.y = 240;
_local4.addEventListener(MouseEvent.CLICK, saveOkClick, false, 0, true);
saveDialog.addChild(_local4);
saveOutput = (saveDialog.getChildByName("output") as TextField);
if (_arg1){
addChild(saveButton);
saveButton.addEventListener(MouseEvent.CLICK, saveClick, false, 0, true);
};
addChild(resetButton);
resetButton.addEventListener(MouseEvent.CLICK, resetClick, false, 0, true);
addChild(backButton);
backButton.addEventListener(MouseEvent.CLICK, menuClick, false, 0, true);
victoryScreen = new VictoryScreen();
victoryScreen.addEventListener(MouseEvent.ROLL_OVER, victoryOver, false, 0, true);
victoryScreen.addEventListener(MouseEvent.ROLL_OUT, victoryOut, false, 0, true);
_local4 = new TextButton(TextButton.LONG, "Continue");
_local4.x = 200;
_local4.y = 200;
_local4.addEventListener(MouseEvent.CLICK, continueClick, false, 0, true);
victoryScreen.addChild(_local4);
_local4 = new TextButton(TextButton.LONG, "Replay");
_local4.x = 200;
_local4.y = 230;
_local4.addEventListener(MouseEvent.CLICK, resetClick, false, 0, true);
victoryScreen.addChild(_local4);
_local4 = new TextButton(TextButton.LONG, "Menu");
_local4.x = 200;
_local4.y = 260;
_local4.addEventListener(MouseEvent.CLICK, menuClick, false, 0, true);
victoryScreen.addChild(_local4);
_local4 = new TextButton(TextButton.LONG, "More Games");
_local4.x = 200;
_local4.y = 290;
_local4.addEventListener(MouseEvent.CLICK, moreGamesClick, false, 0, true);
victoryScreen.addChild(_local4);
}
private function set time(_arg1:int):void{
_time[0] = ((_arg1 * 3) - 1);
_time[1] = ((_arg1 * 7) - 2);
_time[2] = ((_arg1 * -5) - 1);
}
protected function disableMouse():void{
var _local1:Tile;
for each (_local1 in tiles) {
_local1.removeEventListener(MouseEvent.MOUSE_DOWN, tileDown);
};
}
protected function tileMove(_arg1:MouseEvent):void{
if (!currentTile){
return;
};
currentTile.x = board.mouseX;
currentTile.y = board.mouseY;
}
protected function continueClick(_arg1:MouseEvent):void{
victoryShowing = false;
hideVictoryScreen();
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
board.addEventListener(HexEvent.SHRUNK, continueToMenu, false, 0, true);
board.shrink();
}
protected function overTile():Tile{
var _local2:DisplayObject;
var _local3:DisplayObjectContainer;
var _local4:Tile;
var _local1:Array = stage.getObjectsUnderPoint(new Point(stage.mouseX, stage.mouseY));
if (_local1.length){
for each (_local2 in _local1) {
_local3 = _local2.parent;
while (_local3 != stage) {
_local4 = (_local3 as Tile);
if (((_local4) && (!((_local4 == currentTile))))){
return (_local4);
};
_local3 = _local3.parent;
};
};
};
return (null);
}
protected function addedToStage(_arg1:Event):void{
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
enableMouse();
}
private function showVictoryScreen():void{
addChild(victoryScreen);
removeEventListener(Event.ENTER_FRAME, fadeOutVictoryStep);
addEventListener(Event.ENTER_FRAME, fadeInVictoryStep, false, 0, true);
}
protected function hideVictoryScreen():void{
removeEventListener(Event.ENTER_FRAME, fadeInVictoryStep);
addEventListener(Event.ENTER_FRAME, fadeOutVictoryStep, false, 0, true);
}
protected function secondTick(_arg1:TimerEvent):void{
time++;
updateTime();
}
protected function checkWin():void{
var _local2:Tile;
var _local3:Slot;
var _local1:Boolean;
for each (_local2 in tiles) {
_local3 = _local2.slot;
if (((_local2.n) && (((!(_local3.n)) || (!((_local2.n == _local3.n.tile.s))))))){
_local1 = false;
};
if (((_local2.ne) && (((!(_local3.ne)) || (!((_local2.ne == _local3.ne.tile.sw))))))){
_local1 = false;
};
if (((_local2.se) && (((!(_local3.se)) || (!((_local2.se == _local3.se.tile.nw))))))){
_local1 = false;
};
if (((_local2.s) && (((!(_local3.s)) || (!((_local2.s == _local3.s.tile.n))))))){
_local1 = false;
};
if (((_local2.sw) && (((!(_local3.sw)) || (!((_local2.sw == _local3.sw.tile.ne))))))){
_local1 = false;
};
if (((_local2.nw) && (((!(_local3.nw)) || (!((_local2.nw == _local3.nw.tile.se))))))){
_local1 = false;
};
if (!_local1){
break;
};
};
if (_local1){
timer.stop();
victory();
};
}
protected function updateTime():void{
if (Game.cheatHasBeenFound){
timeLabel.text = "Cheat Detected";
timeLabel.textColor = 0xAA0000;
return;
};
var _local1:int = time;
var _local2 = "";
var _local3 = "";
var _local4 = "";
var _local5 = (_local1 >= 3600);
var _local6 = (_local1 >= 60);
if (_local5){
_local2 = (int((_local1 / 3600)) + ":");
};
_local1 = (_local1 % 3600);
if (_local5){
_local3 = (_local3 + int((_local1 / 60)));
while (_local3.length < 2) {
_local3 = ("0" + _local3);
};
_local3 = (_local3 + ":");
} else {
_local3 = (int((_local1 / 60)) + ":");
};
_local1 = (_local1 % 60);
_local4 = (_local4 + _local1);
while (_local4.length < 2) {
_local4 = ("0" + _local4);
};
timeLabel.text = ((_local2 + _local3) + _local4);
}
protected function removeBoard():void{
var _local1:Tile;
if (!board){
return;
};
for each (_local1 in tiles) {
_local1.removeEventListener(MouseEvent.MOUSE_DOWN, tileDown);
};
slots = null;
tiles = null;
if (board.parent == this){
removeChild(board);
};
board = null;
}
private function get time():int{
var _local1:int = ((_time[0] + 1) / 3);
if (((_time[1] + 2) / 7) != _local1){
Game.cheatFound();
};
if (((_time[2] + 1) / -5) != _local1){
Game.cheatFound();
};
return (_local1);
}
protected function reset():void{
var _local1:Tile;
for each (_local1 in tiles) {
if (_local1.confirmed){
_local1.unconfirm();
};
};
board.startPositions();
}
protected function returnToMenu(_arg1:HexEvent):void{
dispatchEvent(new HexEvent(HexEvent.MENU));
}
protected function addBoard(_arg1:Board):void{
var _local2:Tile;
board = _arg1;
slots = board.slots;
tiles = board.tiles;
addChild(board);
board.x = 200;
board.y = 200;
board.scaleX = (board.scaleY = 1);
board.setScale(Math.min(0.65, (350 / board.width), (350 / board.height)));
board.addChild(tileGhost);
for each (_local2 in tiles) {
_local2.checkNeighbours();
};
}
protected function victoryOut(_arg1:MouseEvent):void{
if (victoryShowing){
hideVictoryScreen();
};
}
protected function saveOkClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
if (saveDialog.parent == this){
removeChild(saveDialog);
};
}
protected function enableMouse():void{
var _local1:Tile;
for each (_local1 in tiles) {
_local1.addEventListener(MouseEvent.MOUSE_DOWN, tileDown, false, 0, true);
};
}
public function update(_arg1:Event):void{
if (!currentTile){
tileGhost.visible = false;
return;
};
var _local2:Slot = overSlot();
var _local3:Tile;
if (_local2){
_local3 = _local2.tile;
};
if (((_local3) && (!(_local3.locked)))){
tileGhost.x = _local3.x;
tileGhost.y = _local3.y;
tileGhost.visible = true;
} else {
tileGhost.visible = false;
};
}
protected function fadeOutVictoryStep(_arg1:Event):void{
victoryScreen.alpha = Math.max(0, (victoryScreen.alpha - 0.1));
if (victoryScreen.alpha == 0){
removeEventListener(Event.ENTER_FRAME, fadeOutVictoryStep);
if ((((victoryScreen.parent == this)) && (!(victoryShowing)))){
removeChild(victoryScreen);
};
};
}
protected function menuClick(_arg1:MouseEvent):void{
victoryShowing = false;
hideVictoryScreen();
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
board.addEventListener(HexEvent.SHRUNK, returnToMenu, false, 0, true);
board.shrink();
}
protected function swapSlots(_arg1:Slot, _arg2:Slot):void{
_arg1.swapTiles(_arg2);
_arg1.tile.flash();
_arg2.tile.flash();
if (_arg1.tile.confirmed){
_arg1.tile.unconfirm();
};
if (_arg2.tile.confirmed){
_arg2.tile.unconfirm();
};
}
protected function removedFromStage(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, update);
disableMouse();
}
protected function tileDown(_arg1:MouseEvent):void{
var _local2:Tile = (_arg1.currentTarget as Tile);
if (((!(_local2)) || (_local2.locked))){
return;
};
if (_arg1.shiftKey){
SoundBar.playSound(SoundBar.LOCK_SOUND, ((mouseX / Game.MIDX) - 1));
if (_local2.confirmed){
_local2.unconfirm();
} else {
_local2.confirm();
};
return;
};
SoundBar.playSound(SoundBar.PICKUP_SOUND, ((mouseX / Game.MIDX) - 1));
if (_local2.confirmed){
_local2.unconfirm();
};
currentTile = _local2;
currentTile.x = board.mouseX;
currentTile.y = board.mouseY;
currentTile.alpha = 0.75;
_local2.parent.setChildIndex(currentTile, (_local2.parent.numChildren - 1));
stage.addEventListener(MouseEvent.MOUSE_MOVE, tileMove, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, tileUp, false, 0, true);
_local2.slot.addChild(gap);
}
protected function tileUp(_arg1:MouseEvent):void{
if (!currentTile){
return;
};
if (gap.parent){
gap.parent.removeChild(gap);
};
var _local2:Slot = overSlot();
var _local3:Tile;
if (_local2){
_local3 = _local2.tile;
};
if (_local3 == currentTile){
SoundBar.playSound(SoundBar.DROP_SOUND, ((mouseX / Game.MIDX) - 1));
currentTile.snapToSlot();
} else {
if (((_local3) && (!(_local3.locked)))){
SoundBar.playSound(SoundBar.DROP_SOUND, ((mouseX / Game.MIDX) - 1));
swapSlots(currentTile.slot, _local3.slot);
checkWin();
} else {
SoundBar.playSound(SoundBar.RETURN_SOUND, ((mouseX / Game.MIDX) - 1));
currentTile.snapToSlot();
};
};
currentTile.alpha = 1;
stage.removeEventListener(MouseEvent.MOUSE_MOVE, tileMove);
stage.removeEventListener(MouseEvent.MOUSE_UP, tileUp);
currentTile = null;
}
protected function moreGamesClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
Links.sponsorLink();
}
protected function fadeInVictoryStep(_arg1:Event):void{
victoryScreen.alpha = Math.min(1, (victoryScreen.alpha + 0.1));
if (victoryScreen.alpha == 1){
removeEventListener(Event.ENTER_FRAME, fadeInVictoryStep);
};
}
}
}//package
Section 105
//Level_Clocking (Level_Clocking)
package {
import mx.core.*;
import flash.display.*;
public class Level_Clocking extends SpriteAsset {
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOnButton:DisplayObject;
public var handle:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var soundSlider:DisplayObject;
public var input:DisplayObject;
public var loadButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 106
//Level_Gap (Level_Gap)
package {
import mx.core.*;
import flash.display.*;
public class Level_Gap extends SpriteAsset {
public var output:DisplayObject;
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOnButton:DisplayObject;
public var handle:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var soundSlider:DisplayObject;
public var input:DisplayObject;
public var loadButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 107
//Level_InterfaceGfx (Level_InterfaceGfx)
package {
import mx.core.*;
import flash.display.*;
public class Level_InterfaceGfx extends SpriteAsset {
public var output:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var backButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var qualityButton:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var soundOnButton:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var input:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var musicOffButton:DisplayObject;
public var loadButton:DisplayObject;
public var musicSlider:DisplayObject;
public var resetButton:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 108
//Level_SaveDialog (Level_SaveDialog)
package {
import mx.core.*;
import flash.display.*;
public class Level_SaveDialog extends SpriteAsset {
public var output:DisplayObject;
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOnButton:DisplayObject;
public var handle:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var soundSlider:DisplayObject;
public var input:DisplayObject;
public var loadButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 109
//Level_VictoryScreen (Level_VictoryScreen)
package {
import mx.core.*;
import flash.display.*;
public class Level_VictoryScreen extends SpriteAsset {
public var output:DisplayObject;
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOnButton:DisplayObject;
public var handle:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var soundSlider:DisplayObject;
public var input:DisplayObject;
public var loadButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 110
//Levels (Levels)
package {
public class Levels {
public static const TUTORIAL:String = "uqtCusqMAvTCnebCqRuqrCvRCqReCqnq";
public static function getBoardString(_arg1:int):String{
switch (_arg1){
case 1:
default:
return ("ukCbjbCatCnwTCqRwrCjMCwswCj");
case 2:
return ("ukCbswtAjrCLwTJwLbCwLwCwsMCj");
case 3:
return ("uqbCbsqMXnvCjTCvRCarCRbwtFRq");
case 4:
return ("uTCqMqRJvMIjrNwSqbCqSgqtCTVqFqn");
case 5:
return ("chiCjhfCjhtCjhrCjhgCjhcCatNeMdCjhqCjboCjbiCabCkbebuAbvfCvRJLwrCqSgTCjMCRkbqFgcqb");
case 6:
return ("uTCbvMChvbAwstAeRCqsbqrCsbeCwhq");
case 7:
return ("cqiCwmbfCjTCabrCwRqbtCabuFjoCjdCvRCarCsebcCatCjsCbspAnwbgCukkqfFuqViCRscAbsbqCj");
case 8:
return ("nCjMCqnwbFqRqrCwRqtCqRukCqnqTCln");
case 9:
return ("cqfCwSqbrCwMcqtCMqLiNjTCqSqhcCjMNvRAvhqCjboCqhebtAswbgCUebiCesbuCunwhFqRqbfCqSwrCLMhCcLsCRuq");
case 10:
return ("cqbuCkqnqCqRuqfCkRhrCjhgCjsFjoCjdCarCabtCunqbiCabCuRqbtCqWuTHnwbcCukkqbfFRubuCukncCabiCWl");
case 11:
return ("cqhCatCesfCqbLqbcCwShgCqRusCUSrCgqSqbFUwbtCSTboChvbrCRvCsmuCqMsbfJUqbgCUSuCnguMJnwbiCqMsiJnq");
case 12:
return ("cqhCabgCeSrCSUbCwsqtCafXbjbrCmwbtCjhqFjbcCMcqRJjbuCMLTJwMqoCuqnqiCbswbfCebpiCwTgMCggcMbqPgbkq");
case 13:
return ("csCqswbcCwmbtCwShrCemAqswAvMCbvdCSebiCeSbfCcLwbgCcLqbfCRcRFkccqbuOLMTCbswoCmbqtCarXgSwiNscq");
case 14:
return ("cqbiCjhfCebpCqbmbrCehqtCaqCarXbvdChvbtAehoChesCabcCwhwfAmkCpmuCabgCqhsiXmqMCjTCbpb");
case 15:
return ("cqbiCMubwtCqMkqbgCqncqiNebcsJSwbfJeLCbwsoAnwbtCMRqfCgbLqbPgswhCbuSMCwThrCabuCqbLTCqLgbuCabrFMkqbcJUq");
case 16:
return ("cqoCsbqTCqswbtCebpuFRuhgAqnqbFjfCnwsCnqRHjbrChebiCabiCmqbtCbksbcHkVbCRuqbcAnwbfCwhwrCmsCbRq");
case 17:
return ("cqbgCSUbiCqSgkCSSgCwTgMNwSqbcCUShCgqSqbuNSefCSSqCgSwiNqSwoCgqSqrCabtCabrCatCgUwbfCwTgsCTUqbNUw");
case 18:
return ("cqbcCatCwshtCqswbgCvRCwSwCabfCeTsCarCUebuCseiCSwbfCqswbAcusoFwShFgSqbiIvMXbkLbrCRwTOckM");
case 19:
return ("cTCwbpbfCebuqbCkqVcJwMqtCqMsbtIvMNwSdKvsXneiCTcqRJqLqbiCbSwbuNeSbrCwhwrCRnoCMUqbgChvfXnqsCj");
case 20:
return ("cqbrCwbUrCqRgMCTsqoNeMqbuCqSusXUqRJqSqbgCuUwbcCbwSgCMUqbNqnwbtCgqLqiJLcqtCuRuqhAqbmiCMcMqbfCWnfXbqmqXucbuc");
case 21:
return ("cqoCqMcRCwTgqiCTUqbtFqRqbuCRVqPLebiCwMcqhChvbrAwscCknqbgHjbCcLwrCqRuqfCwbmcCMLTCunwtNUebfJwMbqCj");
case 22:
return ("gqbiCjbcrCnwMgCnwbccCqnRoChebcbCvhcqCjTCabfFqRqboCarCvRfCvRrCesfCvRuCwbubsCqRwiCqblRCabrCuqnMAhlhtHnRqCvRgARqhcCqVhuFkkkbCebuMuCsetCubuVbFeRtCRuRcFmqoChvbgObVkiCukbqMtCnwhFesCRh");
case 23:
return ("cqbrCkkRCRkqbuCkRqbcFRwtFkbpgCbwsfXVwiFnqTAbRqbiCuqnqbOhnqoCnVbCsbwrCbsbMCabfCbsptCsmqCvsCbpb");
case 24:
return ("gqtCuqnMFnRuCkkqbccCjbcuCjbcbCjbcqCjbuoCjbuiCjbufCjbutCjburCvRcAqsMgCqspgCspubCjbuqCjhoCabrCsmtCjMrCbsbTJwLhCbMMhcCafCLMqiNSebiCUSrCjMtCgSusCbkkqoFgSqbfCabNMTRCabuAcMRgCvsCcSg");
case 25:
return ("gkfCatCabfCabiCbeRoCjMbAvTNjMcCvRCeSctCjMgCafCaiCeVoCahCRebCqLRbCqMqRtCaqCkMcMFkcuqbuJuclhrCwTuqrHRRrCggqsugNUgRuXghwMuNhgqhoCcbeMrCpmcCcMcRqPubchkiPgTUbgXmRcNlgbuMqPcTcqsCuqbVtXcubgb");
case 26:
return ("gkoCvRCheMgCvRbCatCSqRrCugqSlCugqSbcCUSbfCwTgqboCeSfFqRwCRkbugCqRqMuCehkqCqhwMCgSqsCqTbgMbCSgqhiCbeRfXbqRqbuNkcqRcCqngqiCunwbtCggqWbCSUhCbLRtCcukcboCbcsMtCcmMcNwsMqCbqMcqbgCmhgCLLrJgqLcrJqLqbrCwskiCws");
case 27:
return ("gqoCSwbcrCLwMqCjbccCbvsCLvXbeRqJLqbuoCeMkrCjMtNeMqbgCeSutCjbugCeScgCwRqiCqnRuCgqnqtCqMcRiCqTUboNcgbwMuCSebrJkSbfAggcgkcCqsgMbCjhuCcLdbFgbcRbAMbgqfCUcgTCRmiFqSqbcCqLwrCqsqMCsebCSMbuFgMukfAuLqbtPcLc");
case 28:
return ("gTChwRtChebcgCuqbmrCnwbcuCarAeRoFjboCjMcCwRqtCbqRkfCebpCwsbugCwRkcCeVbCabfCqRRCRsbgCsebiCwbVtClnqiFqnwXhvbcFqbubkbXbnRrCksMtXbqmbqFqnqoXbuqhkiCkbubkuCnmuCwRMqCRbuMObsqMrCVqMbFbkRqAjfCuqn");
case 29:
return ("gqbCvRCubvbcCRqRcCcqLqhJUqMCsSboCbehuoCUefOLgubufCwMRtCeSbuAeRrCwhRiCqRqMbCeMqbrCUetCMuqRqCwShiCqLqhfCncbMcFbqMkgNSwhgCbScTCkqmtCRsubCqnqhqCwRMtFRqbiCucMbMgCseoCqRqMuCsMkuCcmMqJqMUCccLMrCesrCSw");
case 30:
return ("cqhCqswtCesiCqhebcAqshgCqswbrCbwsfCmqMAvhqCsebfCsqRCqhebuCqhebtAmwCqmTCbwsrAqsqoAswbAspiAeb");
case 31:
return ("gMbCcnqbcrCwLbcgCLLoJjiCjTCqLwbcCqncMtKqRkoCUhkuCwSMuCesqNqRRcCqTggsCebcqbfCqLRtCkcLbiCjMqCaboCTuguqrCbgcSbtCTcgghrNumqbPgTUbuJbcqRiCahCsqRrCesubCwRMCgbebfPUetCwbgRqXbVqbgAMkkfCgbebuJvMcISRgNwhq");
case 32:
return ("gMuClnqbuFMqRcCbRqMcPcqLMgPcnwtCkRbcqCkRkqFqRkuCuqRkiCcRpbCwMcqboAqMcqfAsRoCqsptCqbukqrCmeCkqhkbCspbiCbwVcFqRMtCknqbrCcLqMrCqLcMbCqWRfCqmqoCMMqhqPnMTCqsubiXbwLbfCuWRgFqhRrAMqRtChkqbcCehkFcqbpCskqbgChe");
case 33:
return ("gkoCcLRCucLMgCwbcRfPLwbcuCvRtNSetCeSbcCjMcCwRMtHjhNqRcqbuCqSqMbCeSubCqRgMrCSgRcCqswiCRuprCqbVbiHTVCugUhtIqskrCMuqdgNjsNkRqrFjbfCqSRgNgnqboARckiCnccqfXnqRqCgReCbggqRuNqTggTCqbnqboCwsMqNbqSMCbTbq");
case 34:
return ("chiCknqbfCqRusCkRqbuCqRuqiCwRqfHjtCuRwrHjbtFvboCknqbgFqnqbcCabCuqRTCRVbHkqRCkqWbrCunqMFRsCkn");
case 35:
return ("gkbCvRuCUqRfCabfCafCsetNvhcqCbeRoCjbuiCLwMtCUcuMcCwTRCwMuktCqRRrCwTRgCqswboCqsqTCqswhCabtCksqiXgTLcARuMrXLMkcNlbsbiCebchuCqnRqFuUhqCbcRqbcCwSqbCRwMgXbgnqbrFvbrCjMuAqsMbJLwoCcbcgnClcSbgPgsq");
case 36:
return ("cqbrCMqLcCqMMqhCqLcqbJwLqJMMqfCeMqoCLMqbtFnwbuPccRqtCcLqsCuqnqiCcuqLbiCWucbrCwLqbcHcqLbgFRqbuCMukTCkqWbfCRk");
case 37:
return ("gqbrCjsCqSRfCnwbccNsqRoCuLqMbAwMbcqObnRNgqRMuCwTuqoCvhutCabcCafAvbucCwbplCvRbCgTuRqCqRqTCwbUcrXuSwrCbMLiCqTUbgFqTnJqnqtClgbqMgXgbkgkgJqbupoAqnqbfCLebtCwLMNwbcRiXLehCuhebuFgqsurFubMqbiNckcqhNULctCccW");
case 38:
return ("rqrCjTbCjTuCSwMCatCeVfCjTrCjTiCwVruCjbrbFeRbCwTcMfCUsboCabcAvbgtCarfCjToCabiPLwMtCqLRtCqSwoCjMbCgqLMuJnqTfCsgqSCqswbtAcRbcgNesrgCjMrCgucMqbuCncubcqCaroCaiCqhqRoPcLcMcCwMgqrcCjTgCwsbucCngRgCvRuCbvbuqCvRiCebgMiCswTcCUcgkfCSqdrCTcThgCbqMbwNeMsALqdCwSqfCMqnrrCqSRrNeMkCqherqAbLqrtJbebgCgTscoPcgbgcqriCcbLhCqsbqtqALb");
case 39:
return ("rMbCwSbroCqSRbCgSwrgCqSRgCqswbiCqSwbuAqhqTAsqMoAwsoAqmrqCehqrbCmwrcCbvMCmwbCbjtqCbwsuqCbvTbChwRHvMfCRngqFqnqtCunqbciCknTcCWngrCkRqrtCkRqbfFuRktCuRqMuChqmcCehkcAwmqCmqMgAqsqruAmMtCserAqsMrCbsRfNwTgqboNSSrrNgUwrfNTgSbtCSUbrCeSccCgSgkuNSwTgCbswbgNwSqfXbeRoCqdRrCmwhAsqTfCuqRkiCuRuqiCkqWgiCkqnguCpbqToAsqTtCUScqCwSqriCRkbqIghu");
case 40:
return ("rqiCsebiCTusrfCwTRtCwTgqrtCjTcCwLqrgCqSwtNqsqToJqRqhAqLMbFvTfJqTRgFwSroNUwMrNgUwtqCUwTgCvRcCjbguCqLqbgbCgbuUfCUqRfCwmciXnqRCUwTtCTcnoJqTRqFvbccCcbwRbCeMMtJvbcqJgggRrHkggMfOcTVAMcRiCknMuCarqNarbJSwbuCeMqbfCuksbqIccscgCsncoCeLboCqsghtJggmcCqsdgAvTrCRSuoCRercCbMsqIgLqbrCMuSriIwLrrOLerCwTcTiCukpgCwSbcNseruNqTcRuCbvSCcRq");
};
}
}
}//package
Section 111
//Links (Links)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.external.*;
public class Links {
private static var submittedMochibot:Boolean = false;
public static var stage:Stage;
public static function sponsorLink(_arg1:Event=null):void{
if (!submittedMochibot){
submittedMochibot = true;
trace("Submit Mochibot");
MochiBot.track(stage, "24287def");
};
openURL("http://www.kongregate.com/?gamereferral=hexiomconnect");
}
public static function unlockLink(_arg1:Event=null):void{
if (!submittedMochibot){
submittedMochibot = true;
trace("Submit Mochibot");
MochiBot.track(stage, "24287def");
};
openURL("http://www.kongregate.com/games/moonkey/hexiom-connect/?gamereferral=hexiomconnect\t\t");
}
public static function rigLink(_arg1:Event=null):void{
openURL("http://rig.newgrounds.com/");
}
public static function biclopsLink(_arg1:Event=null):void{
openURL("http://www.biclopsgames.com");
}
public static function openURL(_arg1:String):void{
var url = _arg1;
try {
ExternalInterface.call("window.open", url, "_blank", "");
} catch(error:Error) {
navigateToURL(new URLRequest(url), "_blank");
};
}
}
}//package
Section 112
//MochiAd (MochiAd)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
public class MochiAd {
public static function getVersion():String{
return ("2.5");
}
public static function showClickAwayAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
var sendHostProgress:Boolean;
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
_local3 = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.root == null){
_local3 = true;
};
if (_local3){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(_arg1:String):String{
var _local2:String = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (_arg1.origFrameRate != undefined){
_arg1.stage.frameRate = _arg1.origFrameRate;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad._containerLCName != undefined){
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"});
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (_local2 > chk.ad_msec){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
var idx:Number = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(_arg1:Object):MovieClip{
var clip:Object;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
var DEFAULTS:Object = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
var depth:Number = options.depth;
delete options.depth;
var mc:MovieClip = createEmptyMovieClip(clip, "_mochiad", depth);
var wh:Array = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
var lv:URLVariables = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
if (typeof(_arg1[_local4[_local5]]) == "function"){
return (_arg1[_local4[_local5]].apply(_arg1, _arg3));
};
return (undefined);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local6:Array;
var _local3:Object = _arg2.getBounds(_arg2.root);
var _local4:Number = 0;
var _local5:Number = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array = _arg2.split(".");
var _local4:Number = 0;
while (_local4 < (_local3.length - 1)) {
if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local3[_local4]];
_local4++;
};
return (_arg1[_local3[_local4]]);
}
public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{
var _local4:Object;
var _local5:Object;
switch (_arg3.id){
case "setValue":
MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value);
break;
case "getValue":
_local4 = MochiAd.getValue(_arg1, _arg3.objectName);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + _arg3.id));
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return;
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
_arg1[_local4[_local5]] = _arg3;
}
public static function showPreGameAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var complete:Boolean;
var unloaded:Boolean;
var sendHostProgress:Boolean;
var r:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
setTimeout(options.ad_finished, 100);
return;
};
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
var fn:Function = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = 10;
bar.y = (h - 20);
};
var bar_color:Number = options.color;
delete options.color;
var bar_background:Number = options.background;
delete options.background;
var bar_outline:Number = options.outline;
delete options.outline;
var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1);
var backing:Object = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2);
var inside:Object = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3);
var outline:Object = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
var f:Function = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
mc.rpcTestFn = function (_arg1:String):Object{
trace(("[MOCHIAD rpcTestFn] " + _arg1));
return (_arg1);
};
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local11:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
var _local1:Object = this.parent.parent.root;
var _local2:Object = this.parent._mochiad_ctr;
var _local3:Number = (getTimer() - this.started);
var _local4:Boolean;
var _local5:Number = _local1.loaderInfo.bytesTotal;
var _local6:Number = _local1.loaderInfo.bytesLoaded;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
var _local7:Number = ((100 * _local6) / _local5);
var _local8:Number = ((100 * _local3) / chk.ad_msec);
var _local9:Object = this._mochiad_bar._inside;
var _local10:Number = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
options.ad_progress(_local10);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7});
if (_local7 == 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local11 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(_arg1);
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(_arg1);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var mc = _arg1;
var f:Function = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package
Section 113
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.system.*;
import flash.net.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:DisplayObjectContainer, _arg2:String):MochiBot{
if (Security.sandboxType == "localWithFile"){
return (null);
};
var _local3:MochiBot = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
var _local4 = "http://core.mochibot.com/my/core.swf";
var _local5:URLVariables = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
var _local6:String = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
var _local7:URLRequest = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
var _local8:Loader = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 114
//RandomNumber (RandomNumber)
package {
public class RandomNumber {
private static var MT:Array = new Array();
private static var currentIndex:int = 0;
public static function initialize(_arg1:int):void{
MT[0] = _arg1;
var _local2 = 1;
while (_local2 < 624) {
MT[_local2] = ((1812433253 * (MT[(_local2 - 1)] ^ (MT[(_local2 - 1)] >> 30))) + _local2);
_local2++;
};
generateNumbers();
}
public static function random():Number{
var _local1:int = extractNumber(currentIndex);
currentIndex++;
if (currentIndex >= 624){
generateNumbers();
};
return ((_local1 / int.MAX_VALUE));
}
private static function generateNumbers():void{
var _local2:int;
var _local1:int;
while (_local1 < 624) {
_local2 = ((MT[_local1] & 1) + (MT[((_local1 + 1) % 624)] & 2147483647));
if ((_local2 % 2) == 0){
MT[_local1] = (MT[((_local1 + 397) % 624)] ^ (_local2 >> 1));
} else {
MT[_local1] = ((MT[((_local1 + 397) % 624)] ^ (_local2 >> 1)) ^ 2567483615);
};
_local1++;
};
currentIndex = 0;
}
private static function extractNumber(_arg1:int):int{
var _local2:int = MT[_arg1];
_local2 = (_local2 ^ (_local2 >> 11));
_local2 = (_local2 ^ ((_local2 << 7) & 2636928640));
_local2 = (_local2 ^ ((_local2 << 15) & 4022730752));
_local2 = (_local2 ^ (_local2 >> 18));
return (_local2);
}
}
}//package
Section 115
//Slot (Slot)
package {
import flash.geom.*;
import flash.display.*;
public class Slot extends Sprite {
public var nw:Slot;
public var sw:Slot;
public var n:Slot;
public var s:Slot;
public var ne:Slot;
public var se:Slot;
public var tile:Tile;
public static var SW:Point = new Point(-75, 43);
public static var NW:Point = new Point(-75, -43);
public static var SE:Point = new Point(75, 43);
public static var S:Point = new Point(0, 86);
public static var N:Point = new Point(0, -86);
public static var NE:Point = new Point(75, -43);
private static var SlotGfx:Class = Slot_SlotGfx;
public function Slot(_arg1:Number, _arg2:Number){
this.x = _arg1;
this.y = _arg2;
var _local3:DisplayObjectContainer = (new SlotGfx() as DisplayObjectContainer);
while (_local3.numChildren) {
addChild(_local3.getChildAt(0));
};
}
public function swapTiles(_arg1:Slot):void{
var _local2:Tile = this.tile;
var _local3:Tile = _arg1.tile;
_arg1.tile = _local2;
this.tile = _local3;
if (_local2){
_local2.slot = _arg1;
_local2.snapToSlot();
_local2.checkNeighbours();
};
if (_local3){
_local3.slot = this;
_local3.snapToSlot();
_local3.checkNeighbours();
};
}
}
}//package
Section 116
//Slot_SlotGfx (Slot_SlotGfx)
package {
import mx.core.*;
import flash.display.*;
public class Slot_SlotGfx extends SpriteAsset {
public var backButton:DisplayObject;
public var output:DisplayObject;
public var label:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var light:DisplayObject;
public var bar:DisplayObject;
public var lights:DisplayObject;
public var soundOnButton:DisplayObject;
public var sponsor:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var background:DisplayObject;
public var button:DisplayObject;
public var musicOnButton:DisplayObject;
public var soundOffButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var button4:DisplayObject;
public var button5:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var center:DisplayObject;
public var resetButton:DisplayObject;
public var musicSlider:DisplayObject;
public var rTunnel:DisplayObject;
public var playButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var connectionsSlider:DisplayObject;
public var antAnim:DisplayObject;
public var biclopsButton:DisplayObject;
public var kongButton:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var loadButton:DisplayObject;
public var biclops:DisplayObject;
public var input:DisplayObject;
public var barHouse:DisplayObject;
public var levelLabel:DisplayObject;
public var randomButton:DisplayObject;
public var soundSlider:DisplayObject;
public var musicOffButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var editButton:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var connect:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
public var lTunnel:DisplayObject;
}
}//package
Section 117
//SoundBar (SoundBar)
package {
import flash.events.*;
import flash.media.*;
import flash.display.*;
public class SoundBar extends Sprite {
public var soundOnButton:SimpleButton;
public var musicSlider:MovieClip;
public var soundSlider:MovieClip;
public var soundOffButton:SimpleButton;
public var musicOnButton:SimpleButton;
public var musicOffButton:SimpleButton;
private static const DROP_CLASS:Class = SoundBar_DROP_CLASS;
private static const RETURN_CLASS:Class = SoundBar_RETURN_CLASS;
public static const SOUND_MULTIPLIER:Number = 1.25;
private static const EXIT_LEVEL_CLASS:Class = SoundBar_EXIT_LEVEL_CLASS;
private static const MUSIC_CLASS:Class = SoundBar_MUSIC_CLASS;
public static const DROP_SOUND:Sound = new DROP_CLASS();
public static const RETURN_SOUND:Sound = new RETURN_CLASS();
public static const EXIT_LEVEL_SOUND:Sound = new EXIT_LEVEL_CLASS();
private static const BUTTON_CLICK_CLASS:Class = SoundBar_BUTTON_CLICK_CLASS;
private static const ENTER_LEVEL_CLASS:Class = SoundBar_ENTER_LEVEL_CLASS;
public static const MUSIC_MULTIPLIER:Number = 0.8;
private static const LOCK_CLASS:Class = SoundBar_LOCK_CLASS;
private static const CHEAT_MODE_CLASS:Class = SoundBar_CHEAT_MODE_CLASS;
public static const RESET_LEVEL_SOUND:Sound = new END_CLASS();
public static const ENTER_LEVEL_SOUND:Sound = new ENTER_LEVEL_CLASS();
public static const BUTTON_CLICK_SOUND:Sound = new BUTTON_CLICK_CLASS();
private static const END_CLASS:Class = SoundBar_END_CLASS;
private static const PICKUP_CLASS:Class = SoundBar_PICKUP_CLASS;
public static const LOCK_SOUND:Sound = new LOCK_CLASS();
public static const CHEAT_MODE_SOUND:Sound = new CHEAT_MODE_CLASS();
public static const VICTORY_SOUND:Sound = RESET_LEVEL_SOUND;
public static const PICKUP_SOUND:Sound = new PICKUP_CLASS();
public static var soundVolume:Number = 1;
public static var soundMuted:Boolean = false;
public static var musicChannel:SoundChannel = null;
public static var musicVolume:Number = 1;
public static var music:Sound = null;
public static var musicMuted:Boolean = false;
private static var Gfx:Class = SoundBar_Gfx;
public function SoundBar(){
var _local1:Sprite = new Gfx();
while (_local1.numChildren) {
addChild(_local1.getChildAt(0));
};
soundOnButton = (getChildByName("soundOnButton") as SimpleButton);
soundOffButton = (getChildByName("soundOffButton") as SimpleButton);
musicOnButton = (getChildByName("musicOnButton") as SimpleButton);
musicOffButton = (getChildByName("musicOffButton") as SimpleButton);
soundSlider = (getChildByName("soundSlider") as MovieClip);
musicSlider = (getChildByName("musicSlider") as MovieClip);
soundOnButton.addEventListener(MouseEvent.CLICK, toggleSound, false, 0, true);
soundOffButton.addEventListener(MouseEvent.CLICK, toggleSound, false, 0, true);
musicOnButton.addEventListener(MouseEvent.CLICK, toggleMusic, false, 0, true);
musicOffButton.addEventListener(MouseEvent.CLICK, toggleMusic, false, 0, true);
soundOnButton.visible = false;
musicOnButton.visible = false;
soundSlider.buttonMode = true;
musicSlider.buttonMode = true;
soundSlider.addEventListener(MouseEvent.MOUSE_DOWN, soundDown, false, 0, true);
musicSlider.addEventListener(MouseEvent.MOUSE_DOWN, musicDown, false, 0, true);
if (Game.cookie.data.soundVolume == undefined){
soundVolume = 0.8;
} else {
soundVolume = Game.cookie.data.soundVolume;
};
if (Game.cookie.data.musicVolume == undefined){
musicVolume = 0.8;
} else {
musicVolume = Game.cookie.data.musicVolume;
};
soundSlider.slider.x = (100 * soundVolume);
musicSlider.slider.x = (100 * musicVolume);
setSoundVolume(soundVolume);
setMusicVolume(musicVolume);
if (Game.cookie.data.soundMuted){
toggleSound();
};
if (Game.cookie.data.musicMuted){
toggleMusic();
};
}
private function musicMove(_arg1:MouseEvent=null):void{
musicSlider.slider.x = Math.max(0, Math.min(100, musicSlider.mouseX));
setMusicVolume((musicSlider.slider.x / 100));
}
private function soundDown(_arg1:MouseEvent):void{
stage.addEventListener(MouseEvent.MOUSE_UP, soundUp, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_MOVE, soundMove, false, 0, true);
soundMove();
}
private function soundUp(_arg1:MouseEvent):void{
stage.removeEventListener(MouseEvent.MOUSE_UP, soundUp);
stage.removeEventListener(MouseEvent.MOUSE_MOVE, soundMove);
soundMove();
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
}
private function soundMove(_arg1:MouseEvent=null):void{
soundSlider.slider.x = Math.max(0, Math.min(100, soundSlider.mouseX));
setSoundVolume((soundSlider.slider.x / 100));
}
public function setSoundVolume(_arg1:Number=-1):void{
if (_arg1 == -1){
return;
};
Game.cookie.data.soundVolume = (soundVolume = _arg1);
if (soundMuted){
toggleSound();
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
};
}
public function toggleMusic(_arg1:MouseEvent=null):void{
Game.cookie.data.musicMuted = (musicMuted = !(musicMuted));
musicSlider.slider.visible = !(musicMuted);
if (!musicMuted){
musicOffButton.visible = true;
musicOnButton.visible = false;
playMusic();
} else {
musicOffButton.visible = false;
musicOnButton.visible = true;
if (musicChannel != null){
musicChannel.stop();
};
};
}
private function musicUp(_arg1:MouseEvent):void{
stage.removeEventListener(MouseEvent.MOUSE_UP, musicUp);
stage.removeEventListener(MouseEvent.MOUSE_MOVE, musicMove);
musicMove();
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
}
public function toggleSound(_arg1:MouseEvent=null):void{
Game.cookie.data.soundMuted = (soundMuted = !(soundMuted));
soundSlider.slider.visible = !(soundMuted);
if (!soundMuted){
soundOffButton.visible = true;
soundOnButton.visible = false;
} else {
soundOffButton.visible = false;
soundOnButton.visible = true;
};
}
public function setMusicVolume(_arg1:Number=-1):void{
if (_arg1 == -1){
return;
};
Game.cookie.data.musicVolume = (musicVolume = _arg1);
if (musicChannel != null){
musicChannel.soundTransform = new SoundTransform((musicVolume * MUSIC_MULTIPLIER), 0);
};
if (musicMuted){
toggleMusic();
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
};
}
private function musicDown(_arg1:MouseEvent):void{
stage.addEventListener(MouseEvent.MOUSE_UP, musicUp, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_MOVE, musicMove, false, 0, true);
musicMove();
}
public static function playSound(_arg1:Sound, _arg2:Number=0):void{
if (((soundMuted) || (!(_arg1)))){
return;
};
var _local3:SoundChannel = _arg1.play();
if (_local3){
_local3.soundTransform = new SoundTransform((soundVolume * SOUND_MULTIPLIER), Math.max(-1, Math.min(1, _arg2)));
};
}
public static function playMusic():void{
if (!musicMuted){
music = new MUSIC_CLASS();
musicChannel = music.play(0, 9999999999999, new SoundTransform((musicVolume * MUSIC_MULTIPLIER), 0));
};
}
}
}//package
Section 118
//SoundBar_BUTTON_CLICK_CLASS (SoundBar_BUTTON_CLICK_CLASS)
package {
import mx.core.*;
import flash.display.*;
public class SoundBar_BUTTON_CLICK_CLASS extends SoundAsset {
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOnButton:DisplayObject;
public var handle:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var soundSlider:DisplayObject;
public var input:DisplayObject;
public var loadButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 119
//SoundBar_CHEAT_MODE_CLASS (SoundBar_CHEAT_MODE_CLASS)
package {
import mx.core.*;
import flash.display.*;
public class SoundBar_CHEAT_MODE_CLASS extends SoundAsset {
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOnButton:DisplayObject;
public var handle:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var soundSlider:DisplayObject;
public var input:DisplayObject;
public var loadButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 120
//SoundBar_DROP_CLASS (SoundBar_DROP_CLASS)
package {
import mx.core.*;
import flash.display.*;
public class SoundBar_DROP_CLASS extends SoundAsset {
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOnButton:DisplayObject;
public var handle:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var soundSlider:DisplayObject;
public var input:DisplayObject;
public var loadButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 121
//SoundBar_END_CLASS (SoundBar_END_CLASS)
package {
import mx.core.*;
import flash.display.*;
public class SoundBar_END_CLASS extends SoundAsset {
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var handle:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var biclops:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var loadButton:DisplayObject;
public var button4:DisplayObject;
public var button5:DisplayObject;
public var input:DisplayObject;
public var randomButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var connect:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 122
//SoundBar_ENTER_LEVEL_CLASS (SoundBar_ENTER_LEVEL_CLASS)
package {
import mx.core.*;
import flash.display.*;
public class SoundBar_ENTER_LEVEL_CLASS extends SoundAsset {
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOnButton:DisplayObject;
public var handle:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var soundSlider:DisplayObject;
public var input:DisplayObject;
public var loadButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 123
//SoundBar_EXIT_LEVEL_CLASS (SoundBar_EXIT_LEVEL_CLASS)
package {
import mx.core.*;
import flash.display.*;
public class SoundBar_EXIT_LEVEL_CLASS extends SoundAsset {
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var handle:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var biclops:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var loadButton:DisplayObject;
public var button4:DisplayObject;
public var button5:DisplayObject;
public var input:DisplayObject;
public var randomButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var connect:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 124
//SoundBar_Gfx (SoundBar_Gfx)
package {
import mx.core.*;
import flash.display.*;
public class SoundBar_Gfx extends SpriteAsset {
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOnButton:DisplayObject;
public var handle:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var soundSlider:DisplayObject;
public var input:DisplayObject;
public var loadButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 125
//SoundBar_LOCK_CLASS (SoundBar_LOCK_CLASS)
package {
import mx.core.*;
import flash.display.*;
public class SoundBar_LOCK_CLASS extends SoundAsset {
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOnButton:DisplayObject;
public var handle:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var soundSlider:DisplayObject;
public var input:DisplayObject;
public var loadButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 126
//SoundBar_MUSIC_CLASS (SoundBar_MUSIC_CLASS)
package {
import mx.core.*;
import flash.display.*;
public class SoundBar_MUSIC_CLASS extends SoundAsset {
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var handle:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var biclops:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var loadButton:DisplayObject;
public var button4:DisplayObject;
public var button5:DisplayObject;
public var input:DisplayObject;
public var randomButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var connect:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 127
//SoundBar_PICKUP_CLASS (SoundBar_PICKUP_CLASS)
package {
import mx.core.*;
import flash.display.*;
public class SoundBar_PICKUP_CLASS extends SoundAsset {
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOnButton:DisplayObject;
public var handle:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var soundSlider:DisplayObject;
public var input:DisplayObject;
public var loadButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 128
//SoundBar_RETURN_CLASS (SoundBar_RETURN_CLASS)
package {
import mx.core.*;
import flash.display.*;
public class SoundBar_RETURN_CLASS extends SoundAsset {
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var handle:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var biclops:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var loadButton:DisplayObject;
public var button4:DisplayObject;
public var button5:DisplayObject;
public var input:DisplayObject;
public var randomButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var connect:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 129
//TextButton (TextButton)
package {
import flash.display.*;
import flash.text.*;
public class TextButton extends Sprite {
private var button:MovieClip;
private var label:TextField;
public static var LONG:Class = TextButton_LONG;
public static var SQUARE:Class = TextButton_SQUARE;
public function TextButton(_arg1:Class, _arg2:String=""){
button = (new (_arg1) as MovieClip);
button.stop();
button.buttonMode = true;
label = button.label;
if (label){
label.mouseEnabled = false;
};
addChild(button);
this.text = _arg2;
}
public function set text(_arg1:String):void{
label.text = _arg1;
}
public function get text():String{
return (label.text);
}
}
}//package
Section 130
//TextButton_LONG (TextButton_LONG)
package {
import mx.core.*;
import flash.display.*;
public class TextButton_LONG extends MovieClipAsset {
public var backButton:DisplayObject;
public var output:DisplayObject;
public var soundOnButton:DisplayObject;
public var playButton:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var biclopsButton:DisplayObject;
public var light:DisplayObject;
public var lights:DisplayObject;
public var antAnim:DisplayObject;
public var sponsor:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var bar:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOffButton:DisplayObject;
public var background:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var kongButton:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var barHouse:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var input:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var resetButton:DisplayObject;
public var loadButton:DisplayObject;
public var label:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 131
//TextButton_SQUARE (TextButton_SQUARE)
package {
import mx.core.*;
import flash.display.*;
public class TextButton_SQUARE extends MovieClipAsset {
public var backButton:DisplayObject;
public var output:DisplayObject;
public var soundOnButton:DisplayObject;
public var playButton:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var biclopsButton:DisplayObject;
public var light:DisplayObject;
public var lights:DisplayObject;
public var antAnim:DisplayObject;
public var sponsor:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var bar:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOffButton:DisplayObject;
public var background:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var kongButton:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var barHouse:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var input:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var resetButton:DisplayObject;
public var loadButton:DisplayObject;
public var label:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 132
//Tile (Tile)
package {
import flash.geom.*;
import flash.display.*;
public class Tile extends Sprite {
public var startSlot:Slot;
private var nTunnel:Sprite;
public var locked:Boolean;
public var slot:Slot;
private var nwTunnel:Sprite;
private var rim:MovieClip;
public var swLight:MovieClip;
public var neLight:MovieClip;
private var background:Sprite;
public var ne:int;
private var sTunnel:Sprite;
public var nw:int;
public var nwLight:MovieClip;
public var nLight:MovieClip;
public var se:int;
private var center:Sprite;
private var seTunnel:Sprite;
public var confirmed:Boolean;
public var seLight:MovieClip;
public var sLight:MovieClip;
public var sw:int;
private var swTunnel:Sprite;
public var n:int;
public var s:int;
public var homeSlot:Slot;
private var neTunnel:Sprite;
public static const COLORS:Array = [null, new ColorTransform(1, 0, 0), new ColorTransform(0.3, 0.3, 1), new ColorTransform(0.2, 0.9, 0.2), new ColorTransform(1, 1, 0)];
private static var TunnelGfx1:Class = Tile_TunnelGfx1;
private static var TunnelGfx2:Class = Tile_TunnelGfx2;
private static var RimGfx:Class = Tile_RimGfx;
private static var TunnelGfx3:Class = Tile_TunnelGfx3;
private static var TunnelGfx4:Class = Tile_TunnelGfx4;
private static var TileGfx:Class = Tile_TileGfx;
private static var TunnelGfx:Class = Tile_TunnelGfx;
private static var CenterGfx:Class = Tile_CenterGfx;
public function Tile(_arg1:Slot){
mouseChildren = false;
this.slot = _arg1;
homeSlot = _arg1;
startSlot = _arg1;
if (_arg1){
_arg1.tile = this;
snapToSlot();
};
background = (new TileGfx() as Sprite);
addChild(background);
locked = false;
confirmed = false;
rim = (new RimGfx() as MovieClip);
addChild(rim);
rim.stop();
rim.addFrameScript(0, stopRim);
}
private function addSETunnel(_arg1:int):void{
if (seTunnel){
return;
};
seTunnel = addTunnel(_arg1, -60);
seLight = (seTunnel.getChildByName("light") as MovieClip);
seLight.stop();
seLight.addFrameScript((seLight.totalFrames - 1), seLightLoop);
}
private function removeNETunnel():void{
if (!neTunnel){
return;
};
neLight.stop();
removeChild(neTunnel);
neTunnel = null;
neLight = null;
ne = 0;
checkRemoveCenter();
}
private function nLightLoop():void{
nLight.gotoAndPlay(2);
}
public function unconfirm():void{
confirmed = false;
rim.alpha = 1;
background.alpha = 1;
}
private function addNTunnel(_arg1:int):void{
if (nTunnel){
return;
};
nTunnel = addTunnel(_arg1, 180);
nLight = (nTunnel.getChildByName("light") as MovieClip);
nLight.stop();
nLight.addFrameScript((nLight.totalFrames - 1), nLightLoop);
}
private function removeSTunnel():void{
if (!sTunnel){
return;
};
sLight.stop();
removeChild(sTunnel);
sTunnel = null;
sLight = null;
s = 0;
checkRemoveCenter();
}
private function nwLightLoop():void{
nwLight.gotoAndPlay(2);
}
public function snapToSlot():void{
x = slot.x;
y = slot.y;
}
private function addSWTunnel(_arg1:int):void{
if (swTunnel){
return;
};
swTunnel = addTunnel(_arg1, 60);
swLight = (swTunnel.getChildByName("light") as MovieClip);
swLight.stop();
swLight.addFrameScript((swLight.totalFrames - 1), swLightLoop);
}
public function checkNeighbours():void{
var _local1:Tile;
if (slot.n){
_local1 = slot.n.tile;
if (n){
if (n == _local1.s){
nLight.gotoAndPlay(2);
_local1.sLight.gotoAndPlay(2);
} else {
nLight.gotoAndStop(1);
if (_local1.s){
_local1.sLight.gotoAndStop(1);
};
};
} else {
if (_local1.s){
_local1.sLight.gotoAndStop(1);
};
};
} else {
if (n){
nLight.gotoAndStop(1);
};
};
if (slot.ne){
_local1 = slot.ne.tile;
if (ne){
if (ne == _local1.sw){
neLight.gotoAndPlay(2);
_local1.swLight.gotoAndPlay(2);
} else {
neLight.gotoAndStop(1);
if (_local1.sw){
_local1.swLight.gotoAndStop(1);
};
};
} else {
if (_local1.sw){
_local1.swLight.gotoAndStop(1);
};
};
} else {
if (ne){
neLight.gotoAndStop(1);
};
};
if (slot.se){
_local1 = slot.se.tile;
if (se){
if (se == _local1.nw){
seLight.gotoAndPlay(2);
_local1.nwLight.gotoAndPlay(2);
} else {
seLight.gotoAndStop(1);
if (_local1.nw){
_local1.nwLight.gotoAndStop(1);
};
};
} else {
if (_local1.nw){
_local1.nwLight.gotoAndStop(1);
};
};
} else {
if (se){
seLight.gotoAndStop(1);
};
};
if (slot.s){
_local1 = slot.s.tile;
if (s){
if (s == _local1.n){
sLight.gotoAndPlay(2);
_local1.nLight.gotoAndPlay(2);
} else {
sLight.gotoAndStop(1);
if (_local1.n){
_local1.nLight.gotoAndStop(1);
};
};
} else {
if (_local1.n){
_local1.nLight.gotoAndStop(1);
};
};
} else {
if (s){
sLight.gotoAndStop(1);
};
};
if (slot.sw){
_local1 = slot.sw.tile;
if (sw){
if (sw == _local1.ne){
swLight.gotoAndPlay(2);
_local1.neLight.gotoAndPlay(2);
} else {
swLight.gotoAndStop(1);
if (_local1.ne){
_local1.neLight.gotoAndStop(1);
};
};
} else {
if (_local1.ne){
_local1.neLight.gotoAndStop(1);
};
};
} else {
if (sw){
swLight.gotoAndStop(1);
};
};
if (slot.nw){
_local1 = slot.nw.tile;
if (nw){
if (nw == _local1.se){
nwLight.gotoAndPlay(2);
_local1.seLight.gotoAndPlay(2);
} else {
nwLight.gotoAndStop(1);
if (_local1.se){
_local1.seLight.gotoAndStop(1);
};
};
} else {
if (_local1.se){
_local1.seLight.gotoAndStop(1);
};
};
} else {
if (nw){
nwLight.gotoAndStop(1);
};
};
}
private function addNETunnel(_arg1:int):void{
if (neTunnel){
return;
};
neTunnel = addTunnel(_arg1, -120);
neLight = (neTunnel.getChildByName("light") as MovieClip);
neLight.stop();
neLight.addFrameScript((neLight.totalFrames - 1), neLightLoop);
}
private function checkRemoveCenter():void{
if (((((((((((!(n)) && (!(ne)))) && (!(se)))) && (!(s)))) && (!(sw)))) && (!(nw)))){
removeCenter();
};
}
private function sLightLoop():void{
sLight.gotoAndPlay(2);
}
private function seLightLoop():void{
seLight.gotoAndPlay(2);
}
private function removeNWTunnel():void{
if (!nwTunnel){
return;
};
nwLight.stop();
removeChild(nwTunnel);
nwTunnel = null;
nwLight = null;
nw = 0;
checkRemoveCenter();
}
public function setNE(_arg1:int):void{
ne = _arg1;
if (!_arg1){
removeNETunnel();
} else {
addNETunnel(_arg1);
neLight.transform.colorTransform = COLORS[_arg1];
};
checkNeighbours();
}
public function lock():void{
locked = true;
rim.visible = false;
background.visible = false;
buttonMode = false;
}
public function setS(_arg1:int):void{
s = _arg1;
if (!_arg1){
removeSTunnel();
} else {
addSTunnel(_arg1);
sLight.transform.colorTransform = COLORS[_arg1];
};
checkNeighbours();
}
private function addNWTunnel(_arg1:int):void{
if (nwTunnel){
return;
};
nwTunnel = addTunnel(_arg1, 120);
nwLight = (nwTunnel.getChildByName("light") as MovieClip);
nwLight.stop();
nwLight.addFrameScript((nwLight.totalFrames - 1), nwLightLoop);
}
public function setNW(_arg1:int):void{
nw = _arg1;
if (!_arg1){
removeNWTunnel();
} else {
addNWTunnel(_arg1);
nwLight.transform.colorTransform = COLORS[_arg1];
};
checkNeighbours();
}
public function confirm():void{
confirmed = true;
rim.alpha = 0.35;
background.alpha = 0;
}
public function setSE(_arg1:int):void{
se = _arg1;
if (!_arg1){
removeSETunnel();
} else {
addSETunnel(_arg1);
seLight.transform.colorTransform = COLORS[_arg1];
};
checkNeighbours();
}
public function unlock():void{
locked = false;
rim.visible = true;
background.visible = true;
buttonMode = true;
}
private function stopRim():void{
rim.stop();
}
public function setN(_arg1:int):void{
n = _arg1;
if (!_arg1){
removeNTunnel();
} else {
addNTunnel(_arg1);
nLight.transform.colorTransform = COLORS[_arg1];
};
checkNeighbours();
}
private function addCenter():void{
if (center){
return;
};
center = new CenterGfx();
addChild(center);
}
private function removeNTunnel():void{
if (!nTunnel){
return;
};
nLight.stop();
removeChild(nTunnel);
nTunnel = null;
nLight = null;
n = 0;
checkRemoveCenter();
}
private function swLightLoop():void{
swLight.gotoAndPlay(2);
}
private function removeSETunnel():void{
if (!seTunnel){
return;
};
seLight.stop();
removeChild(seTunnel);
seTunnel = null;
seLight = null;
se = 0;
checkRemoveCenter();
}
private function addSTunnel(_arg1:int):void{
if (sTunnel){
return;
};
sTunnel = addTunnel(_arg1, 0);
sLight = (sTunnel.getChildByName("light") as MovieClip);
sLight.stop();
sLight.addFrameScript((sLight.totalFrames - 1), sLightLoop);
}
public function setSW(_arg1:int):void{
sw = _arg1;
if (!_arg1){
removeSWTunnel();
} else {
addSWTunnel(_arg1);
swLight.transform.colorTransform = COLORS[_arg1];
};
checkNeighbours();
}
private function addTunnel(_arg1:int, _arg2:Number):Sprite{
var _local3:Sprite;
addCenter();
if (!Game.colorBlind){
_local3 = new TunnelGfx();
} else {
if (_arg1 == 1){
_local3 = new TunnelGfx1();
} else {
if (_arg1 == 2){
_local3 = new TunnelGfx2();
} else {
if (_arg1 == 3){
_local3 = new TunnelGfx3();
} else {
if (_arg1 == 4){
_local3 = new TunnelGfx4();
};
};
};
};
};
_local3.rotation = _arg2;
addChildAt(_local3, getChildIndex(center));
return (_local3);
}
private function removeSWTunnel():void{
if (!swTunnel){
return;
};
swLight.stop();
removeChild(swTunnel);
swTunnel = null;
swLight = null;
sw = 0;
checkRemoveCenter();
}
private function neLightLoop():void{
neLight.gotoAndPlay(2);
}
public function flash():void{
rim.gotoAndPlay(2);
}
private function removeCenter():void{
if (!center){
return;
};
removeChild(center);
center = null;
}
public static function getTileGhost():Sprite{
var _local1:Sprite = new Sprite();
var _local2:Sprite = (new RimGfx() as Sprite);
while (_local2.numChildren) {
_local1.addChild(_local2.getChildAt(0));
};
_local1.transform.colorTransform = new ColorTransform(0, 0, 0, 0.7, 0xFF, 0xFF, 0xFF);
return (_local1);
}
public static function getTunnelGhost():Sprite{
var _local1:MovieClip;
var _local2:Sprite = new Sprite();
var _local3:Sprite = (new TunnelGfx() as Sprite);
_local1 = (_local3.getChildByName("light") as MovieClip);
_local1.stop();
_local2.addChild(_local3);
var _local4:Sprite = (new TunnelGfx() as Sprite);
_local1 = (_local4.getChildByName("light") as MovieClip);
_local1.stop();
_local4.rotation = 180;
_local4.y = 86;
_local2.addChild(_local4);
_local2.alpha = 0.2;
_local2.mouseEnabled = false;
_local2.mouseChildren = false;
return (_local2);
}
public static function colorRGB(_arg1:int, _arg2:Number=1):uint{
var _local3:ColorTransform = COLORS[_arg1];
var _local4:uint = (((_local3.redMultiplier * _arg2) * 0xFF) << 16);
var _local5:uint = (((_local3.greenMultiplier * _arg2) * 0xFF) << 8);
var _local6:uint = ((_local3.blueMultiplier * _arg2) * 0xFF);
return (((_local4 + _local5) + _local6));
}
}
}//package
Section 133
//Tile_CenterGfx (Tile_CenterGfx)
package {
import mx.core.*;
import flash.display.*;
public class Tile_CenterGfx extends SpriteAsset {
public var backButton:DisplayObject;
public var output:DisplayObject;
public var playButton:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var biclopsButton:DisplayObject;
public var light:DisplayObject;
public var lights:DisplayObject;
public var antAnim:DisplayObject;
public var sponsor:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var bar:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOffButton:DisplayObject;
public var background:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var kongButton:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var barHouse:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var input:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var resetButton:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var loadButton:DisplayObject;
public var soundOnButton:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 134
//Tile_RimGfx (Tile_RimGfx)
package {
import mx.core.*;
import flash.display.*;
public class Tile_RimGfx extends MovieClipAsset {
public var backButton:DisplayObject;
public var output:DisplayObject;
public var playButton:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var biclopsButton:DisplayObject;
public var light:DisplayObject;
public var lights:DisplayObject;
public var antAnim:DisplayObject;
public var sponsor:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var bar:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOffButton:DisplayObject;
public var background:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var kongButton:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var barHouse:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var input:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var resetButton:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var loadButton:DisplayObject;
public var soundOnButton:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 135
//Tile_TileGfx (Tile_TileGfx)
package {
import mx.core.*;
import flash.display.*;
public class Tile_TileGfx extends SpriteAsset {
public var backButton:DisplayObject;
public var output:DisplayObject;
public var playButton:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var biclopsButton:DisplayObject;
public var lights:DisplayObject;
public var antAnim:DisplayObject;
public var sponsor:DisplayObject;
public var connectionsSlider:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var bar:DisplayObject;
public var background:DisplayObject;
public var soundOffButton:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var kongButton:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var barHouse:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var input:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var resetButton:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var loadButton:DisplayObject;
public var soundOnButton:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 136
//Tile_TunnelGfx (Tile_TunnelGfx)
package {
import mx.core.*;
import flash.display.*;
public class Tile_TunnelGfx extends SpriteAsset {
public var backButton:DisplayObject;
public var output:DisplayObject;
public var playButton:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var biclopsButton:DisplayObject;
public var light:DisplayObject;
public var lights:DisplayObject;
public var antAnim:DisplayObject;
public var sponsor:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var bar:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOffButton:DisplayObject;
public var background:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var kongButton:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var barHouse:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var input:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var resetButton:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var loadButton:DisplayObject;
public var soundOnButton:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 137
//Tile_TunnelGfx1 (Tile_TunnelGfx1)
package {
import mx.core.*;
import flash.display.*;
public class Tile_TunnelGfx1 extends SpriteAsset {
public var backButton:DisplayObject;
public var output:DisplayObject;
public var playButton:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var biclopsButton:DisplayObject;
public var light:DisplayObject;
public var lights:DisplayObject;
public var antAnim:DisplayObject;
public var sponsor:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var bar:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOffButton:DisplayObject;
public var background:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var kongButton:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var barHouse:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var input:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var resetButton:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var loadButton:DisplayObject;
public var soundOnButton:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 138
//Tile_TunnelGfx2 (Tile_TunnelGfx2)
package {
import mx.core.*;
import flash.display.*;
public class Tile_TunnelGfx2 extends SpriteAsset {
public var backButton:DisplayObject;
public var output:DisplayObject;
public var playButton:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var biclopsButton:DisplayObject;
public var light:DisplayObject;
public var lights:DisplayObject;
public var antAnim:DisplayObject;
public var sponsor:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var bar:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOffButton:DisplayObject;
public var background:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var kongButton:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var barHouse:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var input:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var resetButton:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var loadButton:DisplayObject;
public var soundOnButton:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 139
//Tile_TunnelGfx3 (Tile_TunnelGfx3)
package {
import mx.core.*;
import flash.display.*;
public class Tile_TunnelGfx3 extends SpriteAsset {
public var backButton:DisplayObject;
public var output:DisplayObject;
public var playButton:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var biclopsButton:DisplayObject;
public var light:DisplayObject;
public var lights:DisplayObject;
public var antAnim:DisplayObject;
public var sponsor:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var bar:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOffButton:DisplayObject;
public var background:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var kongButton:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var barHouse:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var input:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var resetButton:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var loadButton:DisplayObject;
public var soundOnButton:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 140
//Tile_TunnelGfx4 (Tile_TunnelGfx4)
package {
import mx.core.*;
import flash.display.*;
public class Tile_TunnelGfx4 extends SpriteAsset {
public var backButton:DisplayObject;
public var output:DisplayObject;
public var playButton:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var biclopsButton:DisplayObject;
public var light:DisplayObject;
public var lights:DisplayObject;
public var antAnim:DisplayObject;
public var sponsor:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var bar:DisplayObject;
public var connectionsSlider:DisplayObject;
public var soundOffButton:DisplayObject;
public var background:DisplayObject;
public var musicOnButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var kongButton:DisplayObject;
public var biclops:DisplayObject;
public var button5:DisplayObject;
public var barHouse:DisplayObject;
public var button4:DisplayObject;
public var randomButton:DisplayObject;
public var levelLabel:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var input:DisplayObject;
public var musicOffButton:DisplayObject;
public var musicSlider:DisplayObject;
public var resetButton:DisplayObject;
public var connect:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var loadButton:DisplayObject;
public var soundOnButton:DisplayObject;
public var status:DisplayObject;
public var soundSlider:DisplayObject;
}
}//package
Section 141
//TileButton (TileButton)
package {
import flash.geom.*;
import flash.display.*;
import flash.text.*;
public class TileButton extends Sprite {
public var level:int;
private var lLight:MovieClip;
private var rLight:MovieClip;
private var button:SimpleButton;
private var lTunnel:Sprite;
private var center:Sprite;
private var rTunnel:Sprite;
private var label:TextField;
protected static var Gfx:Class = TileButton_Gfx;
public function TileButton(_arg1:int, _arg2:ColorTransform){
this.level = _arg1;
var _local3:Sprite = new Gfx();
while (_local3.numChildren) {
addChild(_local3.getChildAt(0));
};
button = (getChildByName("button") as SimpleButton);
label = (getChildByName("label") as TextField);
center = (getChildByName("center") as Sprite);
lTunnel = (getChildByName("lTunnel") as Sprite);
rTunnel = (getChildByName("rTunnel") as Sprite);
lLight = (lTunnel.getChildByName("light") as MovieClip);
rLight = (rTunnel.getChildByName("light") as MovieClip);
label.mouseEnabled = false;
center.mouseEnabled = false;
lTunnel.mouseEnabled = false;
rTunnel.mouseChildren = false;
lLight.gotoAndStop(2);
rLight.gotoAndStop(2);
lLight.transform.colorTransform = _arg2;
rLight.transform.colorTransform = _arg2;
label.text = ("" + _arg1);
removeChild(center);
removeChild(lTunnel);
removeChild(rTunnel);
}
public function addLeft():void{
addChild(lTunnel);
}
public function complete():void{
addChild(center);
if (label.parent == this){
removeChild(label);
};
}
public function addRight():void{
addChild(rTunnel);
}
}
}//package
Section 142
//TileButton_Gfx (TileButton_Gfx)
package {
import mx.core.*;
import flash.display.*;
public class TileButton_Gfx extends SpriteAsset {
public var backButton:DisplayObject;
public var output:DisplayObject;
public var label:DisplayObject;
public var hexiom:DisplayObject;
public var saveButton:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var light:DisplayObject;
public var bar:DisplayObject;
public var lights:DisplayObject;
public var soundOnButton:DisplayObject;
public var sponsor:DisplayObject;
public var timeLabel:DisplayObject;
public var handle:DisplayObject;
public var background:DisplayObject;
public var button:DisplayObject;
public var musicOnButton:DisplayObject;
public var soundOffButton:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var button4:DisplayObject;
public var button5:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var center:DisplayObject;
public var resetButton:DisplayObject;
public var musicSlider:DisplayObject;
public var rTunnel:DisplayObject;
public var playButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var connectionsSlider:DisplayObject;
public var antAnim:DisplayObject;
public var biclopsButton:DisplayObject;
public var kongButton:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var loadButton:DisplayObject;
public var biclops:DisplayObject;
public var input:DisplayObject;
public var barHouse:DisplayObject;
public var levelLabel:DisplayObject;
public var randomButton:DisplayObject;
public var soundSlider:DisplayObject;
public var musicOffButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var slider:DisplayObject;
public var editButton:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var connect:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
public var lTunnel:DisplayObject;
}
}//package
Section 143
//TitleScreen (TitleScreen)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class TitleScreen extends Sprite {
private var advancedColor4Button:SimpleButton;
private var instructionsTime:int;// = 0
private var basicRandom5Button:SimpleButton;
private var advancedRandom3Button:SimpleButton;
private var advancedColorDisplay:MovieClip;
private var advancedRandomDialog:Sprite;
private var advancedColors:int;// = 4
private var basicRandomDialog:Sprite;
private var instructionsBoard:Board;
private var advancedColor1Button:SimpleButton;
private var advancedLockedSliderHandle:Sprite;
private var basicRandom6Button:SimpleButton;
private var title:MovieClip;
private var levelButtons:Array;
private var advancedRandom4Button:SimpleButton;
private var loadStatus:TextField;
private var advancedColor2Button:SimpleButton;
private var loadInput:TextField;
private var basicRandom3Button:SimpleButton;
private var credits:Sprite;
private var advancedConnectionsSlider:Sprite;
private var advancedRandom5Button:SimpleButton;
private var instructions:Sprite;
private var colorBlindOnButton:SimpleButton;
private var advancedColor3Button:SimpleButton;
private var advancedLocked:Number;// = 0.1
private var advancedLockedSlider:Sprite;
private var loadDialog:Sprite;
private var advancedConnections:Number;// = 0.4
private var basicRandom4Button:SimpleButton;
private var advancedRandomMenuButton:SimpleButton;
private var advancedConnectionsSliderHandle:Sprite;
private var basicRandomMenuButton:SimpleButton;
private var advancedRandom6Button:SimpleButton;
private var instructionsState:int;// = 0
private var colorBlindOffButton:SimpleButton;
private static const BAR_WIDTH:Number = 200;
private static var Gfx:Class = TitleScreen_Gfx;
private static var Instructions:Class = TitleScreen_Instructions;
protected static var TitleGfx:Class = TitleScreen_TitleGfx;
protected static var AdvancedRandomDialog:Class = TitleScreen_AdvancedRandomDialog;
protected static var LoadDialog:Class = TitleScreen_LoadDialog;
protected static var BasicRandomDialog:Class = TitleScreen_BasicRandomDialog;
private static var Credits:Class = TitleScreen_Credits;
public function TitleScreen(){
var _local9:TileButton;
var _local11:TextButton;
var _local12:Sprite;
super();
var _local1:DisplayObjectContainer = new Gfx();
while (_local1.numChildren) {
addChild(_local1.getChildAt(0));
};
var _local2:Sprite = new TitleGfx();
addChild(_local2);
_local2.x = 200;
title = (_local2.getChildByName("hexiom") as MovieClip);
title.addFrameScript((title.totalFrames - 1), stopTitle);
var _local3:Sprite = (_local2.getChildByName("connect") as Sprite);
var _local4:Sprite = (_local3.getChildByName("lights") as Sprite);
_local4.transform.colorTransform = Tile.COLORS[1];
var _local5:SimpleButton = (getChildByName("editButton") as SimpleButton);
_local5.addEventListener(MouseEvent.CLICK, editClick, false, 0, true);
var _local6:SimpleButton = (getChildByName("randomButton") as SimpleButton);
_local6.addEventListener(MouseEvent.CLICK, basicRandomClick, false, 0, true);
var _local7:SimpleButton = (getChildByName("loadButton") as SimpleButton);
_local7.addEventListener(MouseEvent.CLICK, loadClick, false, 0, true);
var _local8:SimpleButton = (getChildByName("qualityButton") as SimpleButton);
_local8.addEventListener(MouseEvent.CLICK, qualityClick, false, 0, true);
colorBlindOnButton = (getChildByName("colorBlindOnButton") as SimpleButton);
colorBlindOnButton.addEventListener(MouseEvent.CLICK, colorBlindOnClick, false, 0, true);
colorBlindOffButton = (getChildByName("colorBlindOffButton") as SimpleButton);
colorBlindOffButton.addEventListener(MouseEvent.CLICK, colorBlindOffClick, false, 0, true);
if (Game.colorBlind){
colorBlindOnButton.visible = false;
} else {
colorBlindOffButton.visible = false;
};
levelButtons = new Array(41);
var _local10 = 40;
while (_local10 >= 1) {
_local9 = new TileButton(_local10, Tile.COLORS[(int(((_local10 - 1) / 10)) + 1)]);
_local9.y = (200 + (int(((_local10 - 1) / 10)) * 30));
_local9.x = ((30 * ((_local10 - 1) % 10)) + 65);
_local9.addEventListener(MouseEvent.CLICK, levelClick, false, 0, true);
addChild(_local9);
levelButtons[_local10] = _local9;
_local10--;
};
update();
_local11 = new TextButton(TextButton.LONG, "Begin");
new TextButton(TextButton.LONG, "Begin").scaleX = (_local11.scaleY = 0.8);
_local11.x = 200;
_local11.y = 115;
_local11.addEventListener(MouseEvent.CLICK, beginClick, false, 0, true);
addChild(_local11);
_local11 = new TextButton(TextButton.LONG, "Instructions");
new TextButton(TextButton.LONG, "Instructions").scaleX = (_local11.scaleY = 0.8);
_local11.x = 157;
_local11.y = 140;
_local11.addEventListener(MouseEvent.CLICK, instructionsClick, false, 0, true);
addChild(_local11);
_local11 = new TextButton(TextButton.LONG, "Credits");
new TextButton(TextButton.LONG, "Credits").scaleX = (_local11.scaleY = 0.8);
_local11.x = 243;
_local11.y = 140;
_local11.addEventListener(MouseEvent.CLICK, creditsClick, false, 0, true);
addChild(_local11);
_local11 = new TextButton(TextButton.LONG, "More Games");
new TextButton(TextButton.LONG, "More Games").scaleX = (_local11.scaleY = 0.8);
_local11.x = 200;
_local11.y = 165;
_local11.addEventListener(MouseEvent.CLICK, moreGamesClick, false, 0, true);
addChild(_local11);
loadDialog = new LoadDialog();
_local11 = new TextButton(TextButton.LONG, "Ok");
_local11.x = 140;
_local11.y = 240;
_local11.addEventListener(MouseEvent.CLICK, loadOkClick, false, 0, true);
loadDialog.addChild(_local11);
_local11 = new TextButton(TextButton.LONG, "Cancel");
_local11.x = 260;
_local11.y = 240;
_local11.addEventListener(MouseEvent.CLICK, loadCancelClick, false, 0, true);
loadDialog.addChild(_local11);
loadInput = (loadDialog.getChildByName("input") as TextField);
loadStatus = (loadDialog.getChildByName("status") as TextField);
instructions = new Instructions();
_local11 = new TextButton(TextButton.LONG, "Close");
_local11.x = 200;
_local11.y = 355;
_local11.addEventListener(MouseEvent.CLICK, closeHelpClick, false, 0, true);
instructions.addChild(_local11);
basicRandomDialog = new BasicRandomDialog();
basicRandom3Button = (basicRandomDialog.getChildByName("button3") as SimpleButton);
basicRandom4Button = (basicRandomDialog.getChildByName("button4") as SimpleButton);
basicRandom5Button = (basicRandomDialog.getChildByName("button5") as SimpleButton);
basicRandom6Button = (basicRandomDialog.getChildByName("button6") as SimpleButton);
basicRandom3Button.addEventListener(MouseEvent.CLICK, randomSizeClick, false, 0, true);
_local12 = (basicRandomDialog.getChildByName("onlyOnKongregate") as Sprite);
if (((Factory.ON_KONG) || (Factory.ON_BICLOPS))){
basicRandomDialog.removeChild(_local12);
basicRandom4Button.addEventListener(MouseEvent.CLICK, randomSizeClick, false, 0, true);
basicRandom5Button.addEventListener(MouseEvent.CLICK, randomSizeClick, false, 0, true);
basicRandom6Button.addEventListener(MouseEvent.CLICK, randomSizeClick, false, 0, true);
} else {
_local12.buttonMode = true;
_local12.addEventListener(MouseEvent.CLICK, Links.unlockLink, false, 0, true);
};
basicRandomMenuButton = (basicRandomDialog.getChildByName("backButton") as SimpleButton);
basicRandomMenuButton.addEventListener(MouseEvent.CLICK, randomMenuClick, false, 0, true);
_local11 = new TextButton(TextButton.LONG, "Advanced");
_local11.x = 200;
_local11.y = 245;
_local11.addEventListener(MouseEvent.CLICK, advancedRandomClick, false, 0, true);
basicRandomDialog.addChild(_local11);
advancedRandomDialog = new AdvancedRandomDialog();
advancedRandom3Button = (advancedRandomDialog.getChildByName("button3") as SimpleButton);
advancedRandom4Button = (advancedRandomDialog.getChildByName("button4") as SimpleButton);
advancedRandom5Button = (advancedRandomDialog.getChildByName("button5") as SimpleButton);
advancedRandom6Button = (advancedRandomDialog.getChildByName("button6") as SimpleButton);
advancedRandom3Button.addEventListener(MouseEvent.CLICK, randomSizeClick, false, 0, true);
_local12 = (advancedRandomDialog.getChildByName("onlyOnKongregate") as Sprite);
if (((Factory.ON_KONG) || (Factory.ON_BICLOPS))){
advancedRandomDialog.removeChild(_local12);
advancedRandom4Button.addEventListener(MouseEvent.CLICK, randomSizeClick, false, 0, true);
advancedRandom5Button.addEventListener(MouseEvent.CLICK, randomSizeClick, false, 0, true);
advancedRandom6Button.addEventListener(MouseEvent.CLICK, randomSizeClick, false, 0, true);
} else {
_local12.buttonMode = true;
_local12.addEventListener(MouseEvent.CLICK, Links.unlockLink, false, 0, true);
};
advancedRandomMenuButton = (advancedRandomDialog.getChildByName("backButton") as SimpleButton);
advancedRandomMenuButton.addEventListener(MouseEvent.CLICK, randomMenuClick, false, 0, true);
advancedConnectionsSlider = (advancedRandomDialog.getChildByName("connectionsSlider") as Sprite);
advancedConnectionsSliderHandle = (advancedConnectionsSlider.getChildByName("handle") as Sprite);
advancedConnectionsSlider.addEventListener(MouseEvent.MOUSE_DOWN, dragConnectionsSlider, false, 0, true);
advancedLockedSlider = (advancedRandomDialog.getChildByName("lockedSlider") as Sprite);
advancedLockedSliderHandle = (advancedLockedSlider.getChildByName("handle") as Sprite);
advancedLockedSlider.addEventListener(MouseEvent.MOUSE_DOWN, dragLockedSlider, false, 0, true);
advancedColorDisplay = (advancedRandomDialog.getChildByName("colorDisplay") as MovieClip);
advancedColor1Button = (advancedColorDisplay.getChildByName("button1") as SimpleButton);
advancedColor2Button = (advancedColorDisplay.getChildByName("button2") as SimpleButton);
advancedColor3Button = (advancedColorDisplay.getChildByName("button3") as SimpleButton);
advancedColor4Button = (advancedColorDisplay.getChildByName("button4") as SimpleButton);
advancedColor1Button.addEventListener(MouseEvent.CLICK, randomColorClick, false, 0, true);
advancedColor2Button.addEventListener(MouseEvent.CLICK, randomColorClick, false, 0, true);
advancedColor3Button.addEventListener(MouseEvent.CLICK, randomColorClick, false, 0, true);
advancedColor4Button.addEventListener(MouseEvent.CLICK, randomColorClick, false, 0, true);
advancedColorDisplay.gotoAndStop(advancedColors);
_local11 = new TextButton(TextButton.LONG, "Basic");
_local11.x = 200;
_local11.y = 295;
_local11.addEventListener(MouseEvent.CLICK, basicRandomClick, false, 0, true);
advancedRandomDialog.addChild(_local11);
_local11 = new TextButton(TextButton.LONG, "Defaults");
_local11.x = 270;
_local11.y = 200;
_local11.addEventListener(MouseEvent.CLICK, advancedRandomDefaultsClick, false, 0, true);
advancedRandomDialog.addChild(_local11);
advancedRandomDefaultsClick();
}
private function advancedRandomClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
if (basicRandomDialog.parent == this){
removeChild(basicRandomDialog);
};
addChild(advancedRandomDialog);
}
protected function creditsClick(_arg1:MouseEvent):void{
var _local2:SimpleButton;
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
if (credits){
return;
};
credits = new Credits();
_local2 = (credits.getChildByName("biclops") as SimpleButton);
if (_local2){
_local2.addEventListener(MouseEvent.CLICK, Links.biclopsLink, false, 0, true);
};
_local2 = (credits.getChildByName("sponsor") as SimpleButton);
if (_local2){
_local2.addEventListener(MouseEvent.CLICK, Links.sponsorLink, false, 0, true);
};
_local2 = (credits.getChildByName("rig") as SimpleButton);
if (_local2){
_local2.addEventListener(MouseEvent.CLICK, Links.rigLink, false, 0, true);
};
var _local3:Sprite = (credits.getChildByName("bg") as Sprite);
if (_local3){
_local3.addEventListener(MouseEvent.CLICK, closeCredits, false, 0, true);
};
addChild(credits);
}
private function randomColorClick(_arg1:MouseEvent):void{
switch (_arg1.currentTarget){
case advancedColor1Button:
advancedColors = 1;
break;
case advancedColor2Button:
advancedColors = 2;
break;
case advancedColor3Button:
advancedColors = 3;
break;
case advancedColor4Button:
advancedColors = 4;
break;
};
advancedColorDisplay.gotoAndStop(advancedColors);
}
private function dropLockedSlider(_arg1:MouseEvent):void{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, moveLockedSlider);
stage.removeEventListener(MouseEvent.MOUSE_UP, dropLockedSlider);
moveLockedSlider(_arg1);
}
protected function colorBlindOffClick(_arg1:MouseEvent):void{
colorBlindOnButton.visible = true;
colorBlindOffButton.visible = false;
Game.setColorBlind(false);
}
private function loadClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
loadInput.text = "";
loadInput.scrollH = 0;
loadStatus.text = "Paste level code above.";
loadStatus.textColor = 0xFFFFFF;
stage.focus = loadInput;
addChild(loadDialog);
}
private function loadOkClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
var _local2:Board = Board.loadFromText(loadInput.text);
if (_local2){
dispatchEvent(new HexEvent(HexEvent.LOAD, false, false, _local2));
if (loadDialog.parent == this){
removeChild(loadDialog);
};
} else {
loadStatus.text = "Error loading level.";
loadStatus.textColor = 0xFF0000;
};
}
private function advanceInstructions(_arg1:Event):void{
var _local2:Tile;
var _local3:Tile;
var _local4:Boolean;
if (instructionsState == 1){
_local2 = instructionsBoard.slots[3].tile;
_local3 = instructionsBoard.slots[5].tile;
} else {
if (instructionsState == 3){
_local2 = instructionsBoard.slots[2].tile;
_local3 = instructionsBoard.slots[1].tile;
} else {
if (instructionsState == 5){
_local2 = instructionsBoard.slots[2].tile;
_local3 = instructionsBoard.slots[3].tile;
} else {
if (instructionsState == 6){
for each (_local2 in instructionsBoard.tiles) {
_local2.flash();
};
instructionsState++;
_local4 = true;
} else {
if (instructionsState == 9){
for each (_local2 in instructionsBoard.tiles) {
_local2.slot = _local2.startSlot;
_local2.slot.tile = _local2;
_local2.snapToSlot();
_local2.checkNeighbours();
};
instructionsState = 0;
_local4 = true;
} else {
_local4 = true;
};
};
};
};
};
if (_local4){
instructionsTime++;
if (instructionsTime > 40){
instructionsTime = 0;
instructionsState++;
};
return;
};
var _local5:Number = 6;
var _local6:Number = (_local3.x - _local2.x);
var _local7:Number = (_local3.y - _local2.y);
var _local8:Number = Math.sqrt(((_local6 * _local6) + (_local7 * _local7)));
if (_local8 <= _local5){
_local2.slot.swapTiles(_local3.slot);
_local2.flash();
_local3.flash();
instructionsState++;
} else {
_local2.parent.setChildIndex(_local2, (_local2.parent.numChildren - 1));
_local2.x = (_local2.x + ((_local6 / _local8) * _local5));
_local2.y = (_local2.y + ((_local7 / _local8) * _local5));
};
}
public function flashTitle():void{
title.gotoAndPlay(1);
}
protected function beginClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
dispatchEvent(new HexEvent(HexEvent.PLAY));
}
private function dropConnectionsSlider(_arg1:MouseEvent):void{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, moveConnectionsSlider);
stage.removeEventListener(MouseEvent.MOUSE_UP, dropConnectionsSlider);
moveConnectionsSlider(_arg1);
}
private function loadCancelClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
if (loadDialog.parent == this){
removeChild(loadDialog);
};
}
protected function levelClick(_arg1:MouseEvent):void{
var _local2:TileButton = (_arg1.currentTarget as TileButton);
if (!_local2){
return;
};
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
dispatchEvent(new HexEvent(HexEvent.PLAY, false, false, null, _local2.level));
}
public function stopTitle():void{
title.stop();
}
private function basicRandomClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
if (advancedRandomDialog.parent == this){
removeChild(advancedRandomDialog);
};
addChild(basicRandomDialog);
}
protected function moreGamesClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
Links.sponsorLink();
}
protected function closeCredits(_arg1:MouseEvent):void{
var _local2:SimpleButton;
if (!credits){
return;
};
_local2 = (credits.getChildByName("biclops") as SimpleButton);
if (_local2){
_local2.removeEventListener(MouseEvent.CLICK, Links.biclopsLink);
};
_local2 = (credits.getChildByName("sponsor") as SimpleButton);
if (_local2){
_local2.removeEventListener(MouseEvent.CLICK, Links.sponsorLink);
};
_local2 = (credits.getChildByName("rig") as SimpleButton);
if (_local2){
_local2.removeEventListener(MouseEvent.CLICK, Links.rigLink);
};
var _local3:Sprite = (credits.getChildByName("bg") as Sprite);
if (_local3){
_local3.removeEventListener(MouseEvent.CLICK, closeCredits);
};
if (credits.parent == this){
removeChild(credits);
};
credits = null;
}
private function randomSizeClick(_arg1:MouseEvent):void{
var _local2:int;
var _local5:int;
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
var _local3:Boolean;
switch (_arg1.currentTarget){
case basicRandom3Button:
_local2 = 3;
break;
case basicRandom4Button:
_local2 = 4;
break;
case basicRandom5Button:
_local2 = 5;
break;
case basicRandom6Button:
_local2 = 6;
break;
case advancedRandom3Button:
_local2 = 3;
_local3 = true;
break;
case advancedRandom4Button:
_local2 = 4;
_local3 = true;
break;
case advancedRandom5Button:
_local2 = 5;
_local3 = true;
break;
case advancedRandom6Button:
_local2 = 6;
_local3 = true;
break;
};
if (!_local2){
return;
};
var _local4:Board = new Board(_local2);
if (_local3){
_local4.randomFill(advancedConnections, advancedLocked, advancedColors);
_local5 = Level.ADVANCED_RANDOM;
} else {
_local4.randomFill();
_local5 = Level.BASIC_RANDOM;
};
_local4.shuffleStart();
dispatchEvent(new HexEvent(HexEvent.RANDOM, false, false, _local4, _local5));
if (basicRandomDialog.parent == this){
removeChild(basicRandomDialog);
};
if (advancedRandomDialog.parent == this){
removeChild(advancedRandomDialog);
};
}
private function editClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
dispatchEvent(new HexEvent(HexEvent.EDIT));
}
private function closeHelpClick(_arg1:MouseEvent):void{
removeEventListener(Event.ENTER_FRAME, advanceInstructions);
if (instructions.parent == this){
removeChild(instructions);
};
if (instructionsBoard.parent == instructions){
instructions.removeChild(instructionsBoard);
};
instructionsBoard = null;
}
private function moveConnectionsSlider(_arg1:MouseEvent):void{
advancedConnectionsSliderHandle.x = Math.max(0, Math.min(BAR_WIDTH, advancedConnectionsSlider.mouseX));
advancedConnections = (Board.MIN_CONNECTIONS + ((advancedConnectionsSliderHandle.x / BAR_WIDTH) * (Board.MAX_CONNECTIONS - Board.MIN_CONNECTIONS)));
}
public function update():void{
var _local2:int;
var _local3:TileButton;
var _local1:Array = new Array(41);
_local2 = 1;
while (_local2 <= 40) {
_local1[_local2] = Game.getLevelComplete(_local2);
_local2++;
};
_local2 = 1;
while (_local2 <= 40) {
_local3 = levelButtons[_local2];
if (_local1[_local2]){
_local3.complete();
if ((((((_local2 > 1)) && (_local1[(_local2 - 1)]))) && (!(((_local2 % 10) == 1))))){
_local3.addLeft();
levelButtons[(_local2 - 1)].addRight();
};
if ((((((_local2 < 40)) && (_local1[(_local2 + 1)]))) && (!(((_local2 % 10) == 0))))){
_local3.addRight();
levelButtons[(_local2 + 1)].addLeft();
};
};
_local2++;
};
}
protected function qualityClick(_arg1:MouseEvent):void{
Game.nextQuality();
}
private function advancedRandomDefaultsClick(_arg1:MouseEvent=null):void{
advancedConnections = Board.DEFAULT_CONNECTIONS;
advancedLocked = Board.DEFAULT_LOCKED;
advancedColors = Board.DEFAULT_COLORS;
advancedConnectionsSliderHandle.x = (((advancedConnections - Board.MIN_CONNECTIONS) / (Board.MAX_CONNECTIONS - Board.MIN_CONNECTIONS)) * BAR_WIDTH);
advancedLockedSliderHandle.x = (((advancedLocked - Board.MIN_LOCKED) / (Board.MAX_LOCKED - Board.MIN_LOCKED)) * BAR_WIDTH);
advancedColorDisplay.gotoAndStop(advancedColors);
}
protected function colorBlindOnClick(_arg1:MouseEvent):void{
colorBlindOffButton.visible = true;
colorBlindOnButton.visible = false;
Game.setColorBlind(true);
}
private function dragConnectionsSlider(_arg1:MouseEvent):void{
stage.addEventListener(MouseEvent.MOUSE_MOVE, moveConnectionsSlider, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, dropConnectionsSlider, false, 0, true);
moveConnectionsSlider(_arg1);
}
private function dragLockedSlider(_arg1:MouseEvent):void{
stage.addEventListener(MouseEvent.MOUSE_MOVE, moveLockedSlider, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, dropLockedSlider, false, 0, true);
moveLockedSlider(_arg1);
}
private function randomMenuClick(_arg1:MouseEvent):void{
SoundBar.playSound(SoundBar.BUTTON_CLICK_SOUND, ((mouseX / Game.MIDX) - 1));
if (basicRandomDialog.parent == this){
removeChild(basicRandomDialog);
};
if (advancedRandomDialog.parent == this){
removeChild(advancedRandomDialog);
};
}
protected function instructionsClick(_arg1:MouseEvent):void{
addChild(instructions);
var _local2:Board = (instructionsBoard = Board.loadFromText(Levels.TUTORIAL));
_local2.scaleX = (_local2.scaleY = 0.45);
_local2.x = 200;
_local2.y = 145;
_local2.mouseChildren = false;
instructions.addChild(_local2);
instructionsState = 0;
addEventListener(Event.ENTER_FRAME, advanceInstructions, false, 0, true);
}
private function moveLockedSlider(_arg1:MouseEvent):void{
advancedLockedSliderHandle.x = Math.max(0, Math.min(BAR_WIDTH, advancedLockedSlider.mouseX));
advancedLocked = (Board.MIN_LOCKED + ((advancedLockedSliderHandle.x / BAR_WIDTH) * (Board.MAX_LOCKED - Board.MIN_LOCKED)));
}
}
}//package
Section 144
//TitleScreen_AdvancedRandomDialog (TitleScreen_AdvancedRandomDialog)
package {
import mx.core.*;
import flash.display.*;
public class TitleScreen_AdvancedRandomDialog extends SpriteAsset {
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var handle:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var biclops:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var loadButton:DisplayObject;
public var button4:DisplayObject;
public var button5:DisplayObject;
public var input:DisplayObject;
public var randomButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var connect:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 145
//TitleScreen_BasicRandomDialog (TitleScreen_BasicRandomDialog)
package {
import mx.core.*;
import flash.display.*;
public class TitleScreen_BasicRandomDialog extends SpriteAsset {
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var lockedSlider:DisplayObject;
public var sponsor:DisplayObject;
public var backButton:DisplayObject;
public var lights:DisplayObject;
public var connectionsSlider:DisplayObject;
public var handle:DisplayObject;
public var button1:DisplayObject;
public var button2:DisplayObject;
public var button3:DisplayObject;
public var biclops:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var button6:DisplayObject;
public var bg:DisplayObject;
public var loadButton:DisplayObject;
public var button4:DisplayObject;
public var button5:DisplayObject;
public var input:DisplayObject;
public var randomButton:DisplayObject;
public var editButton:DisplayObject;
public var colorDisplay:DisplayObject;
public var onlyOnKongregate:DisplayObject;
public var connect:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
}
}//package
Section 146
//TitleScreen_Credits (TitleScreen_Credits)
package {
import mx.core.*;
import flash.display.*;
public class TitleScreen_Credits extends SpriteAsset {
public var biclops:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var bg:DisplayObject;
public var input:DisplayObject;
public var hexiom:DisplayObject;
public var rig:DisplayObject;
public var qualityButton:DisplayObject;
public var randomButton:DisplayObject;
public var sponsor:DisplayObject;
public var editButton:DisplayObject;
public var lights:DisplayObject;
public var connect:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var status:DisplayObject;
public var loadButton:DisplayObject;
}
}//package
Section 147
//TitleScreen_Gfx (TitleScreen_Gfx)
package {
import mx.core.*;
import flash.display.*;
public class TitleScreen_Gfx extends SpriteAsset {
public var colorBlindOnButton:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var qualityButton:DisplayObject;
public var randomButton:DisplayObject;
public var loadButton:DisplayObject;
public var editButton:DisplayObject;
}
}//package
Section 148
//TitleScreen_Instructions (TitleScreen_Instructions)
package {
import mx.core.*;
import flash.display.*;
public class TitleScreen_Instructions extends SpriteAsset {
public var colorBlindOnButton:DisplayObject;
public var input:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var qualityButton:DisplayObject;
public var status:DisplayObject;
public var randomButton:DisplayObject;
public var loadButton:DisplayObject;
public var editButton:DisplayObject;
}
}//package
Section 149
//TitleScreen_LoadDialog (TitleScreen_LoadDialog)
package {
import mx.core.*;
import flash.display.*;
public class TitleScreen_LoadDialog extends SpriteAsset {
public var colorBlindOnButton:DisplayObject;
public var input:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var qualityButton:DisplayObject;
public var status:DisplayObject;
public var randomButton:DisplayObject;
public var loadButton:DisplayObject;
public var editButton:DisplayObject;
}
}//package
Section 150
//TitleScreen_TitleGfx (TitleScreen_TitleGfx)
package {
import mx.core.*;
import flash.display.*;
public class TitleScreen_TitleGfx extends SpriteAsset {
public var qualityButton:DisplayObject;
public var colorBlindOnButton:DisplayObject;
public var connect:DisplayObject;
public var hexiom:DisplayObject;
public var colorBlindOffButton:DisplayObject;
public var input:DisplayObject;
public var status:DisplayObject;
public var randomButton:DisplayObject;
public var editButton:DisplayObject;
public var lights:DisplayObject;
public var loadButton:DisplayObject;
}
}//package