Section 1
//GameTracker (FGL.GameTracker.GameTracker)
package FGL.GameTracker {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.external.*;
public class GameTracker extends EventDispatcher {
protected var _passphrase:String;// = ""
protected var _responder:Responder;// = null
protected var _timer:Timer;// = null
protected var _serverVersionMajor:int;// = 0
protected var _conn:NetConnection;// = null
protected var _currentGame:int;// = 0
protected var _msg_queue:Array;
protected var _inGame:Boolean;// = false
protected var _inLevel:Boolean;// = false
protected var _serviceName:String;// = ""
protected var _currentLevel:int;// = 0
protected var _hostUrl:String;// = ""
protected var _sessionID:uint;
protected var _isEnabled:Boolean;// = false
protected var _serverVersionMinor:int;// = 0
public static const GAMETRACKER_SERVER_ERROR:String = "gametracker_server_error";
private static const TIMER_DELAY:int = 15000;
public static const GAMETRACKER_CODING_ERROR:String = "gametracker_coding_error";
public function GameTracker(){
_msg_queue = new Array();
super();
setGlobalConfig();
if (_isEnabled){
_responder = new Responder(onSuccess, onNetworkingError);
_conn = new NetConnection();
_conn.connect(_hostUrl);
_timer = new Timer(TIMER_DELAY);
_timer.addEventListener("timer", onTimer);
_timer.start();
_sessionID = Math.floor((new Date().getTime() / 1000));
addToMsgQueue("begin_app", null, 0, null, null);
};
}
public function beginGame(currentScore:Number=0, currentGameState:String=null, customMsg:String=null):void{
if (_inGame){
endGame(currentScore, currentGameState, "AUTO:(this game automatically ended when new game was started)");
};
_currentGame++;
_inGame = true;
addToMsgQueue("begin_game", null, currentScore, currentGameState, customMsg);
}
protected function setGlobalConfig():void{
var ret:Array;
_isEnabled = false;
_serverVersionMajor = 0;
_serverVersionMinor = 0;
_hostUrl = "";
_serviceName = "";
_passphrase = "";
if (ExternalInterface.available){
ret = ExternalInterface.call("get_gametracker_info");
_serverVersionMajor = ret[0];
_serverVersionMinor = ret[1];
_hostUrl = ret[2];
_serviceName = ret[3];
_passphrase = ret[4];
_isEnabled = (_serverVersionMajor == 1);
};
//unresolved jump
var _slot1 = e;
}
public function checkpoint(currentScore:Number=0, currentGameState:String=null, customMsg:String=null):void{
if (!_inGame){
dispatchEvent(new GameTrackerErrorEvent(GAMETRACKER_CODING_ERROR, "checkpoint() called before startGame() was called!"));
} else {
addToMsgQueue("checkpoint", null, currentScore, currentGameState, customMsg);
};
}
protected function onNetworkingError(evt):void{
dispatchEvent(new GameTrackerErrorEvent(GAMETRACKER_SERVER_ERROR, "Networking error"));
}
protected function submitMsgQueue():void{
var obj:Object;
if (((_isEnabled) && ((_msg_queue.length > 0)))){
obj = new Object();
obj["actions"] = _msg_queue;
obj["identifier"] = _passphrase;
_conn.call(_serviceName, _responder, obj);
_msg_queue = new Array();
};
}
public function customMsg(msgType:String, currentScore:Number=0, currentGameState:String=null, customMsg:String=null):void{
addToMsgQueue("custom", msgType, currentScore, currentGameState, customMsg);
}
public function beginLevel(newLevel:int, currentScore:Number=0, currentGameState:String=null, customMsg:String=null):void{
if (!_inGame){
dispatchEvent(new GameTrackerErrorEvent(GAMETRACKER_CODING_ERROR, "beginLevel() called before beginGame() was called!"));
} else {
if (_inLevel){
endLevel(currentScore, currentGameState, "AUTO:(this level automatically ended when new level was started)");
};
_currentLevel = newLevel;
_inLevel = true;
addToMsgQueue("begin_level", null, currentScore, currentGameState, customMsg);
};
}
public function alert(currentScore:Number=0, currentGameState:String=null, customMsg:String=null):void{
addToMsgQueue("alert", null, currentScore, currentGameState, customMsg);
submitMsgQueue();
}
protected function onTimer(evt:TimerEvent):void{
submitMsgQueue();
}
public function endLevel(currentScore:Number=0, currentGameState:String=null, customMsg:String=null):void{
if (!_inLevel){
dispatchEvent(new GameTrackerErrorEvent(GAMETRACKER_CODING_ERROR, "endLevel() called before beginLevel() was called!"));
} else {
_inLevel = false;
addToMsgQueue("end_level", null, currentScore, currentGameState, customMsg);
};
}
protected function onSuccess(evt):void{
if (evt.toString() != ""){
dispatchEvent(new GameTrackerErrorEvent(GAMETRACKER_SERVER_ERROR, evt.toString()));
};
}
protected function addToMsgQueue(action:String, subaction:String, score:Number, gamestate:String, custom_msg:String):void{
var msg:Object;
if (_isEnabled){
msg = new Object();
msg["action"] = action;
msg["custom_action"] = subaction;
msg["session_id"] = _sessionID;
msg["game_idx"] = _currentGame;
msg["level"] = _currentLevel;
msg["score"] = score;
msg["game_state"] = gamestate;
msg["time"] = Math.floor((new Date().getTime() / 1000));
msg["msg"] = custom_msg;
_msg_queue.push(msg);
};
}
public function endGame(currentScore:Number=0, currentGameState:String=null, customMsg:String=null):void{
if (!_inGame){
dispatchEvent(new GameTrackerErrorEvent(GAMETRACKER_CODING_ERROR, "endGame() called before beginGame() was called!"));
} else {
if (_inLevel){
endLevel(currentScore, currentGameState, "AUTO:(this level automatically ended when game ended)");
};
addToMsgQueue("end_game", null, currentScore, currentGameState, customMsg);
_inGame = false;
submitMsgQueue();
};
}
public function isEnabled():Boolean{
return (_isEnabled);
}
}
}//package FGL.GameTracker
Section 2
//GameTrackerErrorEvent (FGL.GameTracker.GameTrackerErrorEvent)
package FGL.GameTracker {
import flash.events.*;
public class GameTrackerErrorEvent extends Event {
public var _msg:String;
public function GameTrackerErrorEvent(type:String, msg:String){
_msg = msg;
super(type, false, false);
}
public function get msg():String{
return (_msg);
}
}
}//package FGL.GameTracker
Section 3
//BitmapAsset (mx.core.BitmapAsset)
package mx.core {
import flash.display.*;
public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject {
mx_internal static const VERSION:String = "3.6.0.12937";
public function BitmapAsset(bitmapData:BitmapData=null, pixelSnapping:String="auto", smoothing:Boolean=false){
super(bitmapData, pixelSnapping, smoothing);
}
public function get measuredWidth():Number{
if (bitmapData){
return (bitmapData.width);
};
return (0);
}
public function get measuredHeight():Number{
if (bitmapData){
return (bitmapData.height);
};
return (0);
}
public function setActualSize(newWidth:Number, newHeight:Number):void{
width = newWidth;
height = newHeight;
}
public function move(x:Number, y:Number):void{
this.x = x;
this.y = y;
}
}
}//package mx.core
Section 4
//ByteArrayAsset (mx.core.ByteArrayAsset)
package mx.core {
import flash.utils.*;
public class ByteArrayAsset extends ByteArray implements IFlexAsset {
mx_internal static const VERSION:String = "3.6.0.12937";
public function ByteArrayAsset(){
super();
}
}
}//package mx.core
Section 5
//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.6.0.12937";
public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0);
;
public function EdgeMetrics(left:Number=0, top:Number=0, right:Number=0, bottom:Number=0){
super();
this.left = left;
this.top = top;
this.right = right;
this.bottom = bottom;
}
public function clone():EdgeMetrics{
return (new EdgeMetrics(left, top, right, bottom));
}
}
}//package mx.core
Section 6
//FlexBitmap (mx.core.FlexBitmap)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexBitmap extends Bitmap {
mx_internal static const VERSION:String = "3.6.0.12937";
public function FlexBitmap(bitmapData:BitmapData=null, pixelSnapping:String="auto", smoothing:Boolean=false){
var bitmapData = bitmapData;
var pixelSnapping = pixelSnapping;
var smoothing = smoothing;
super(bitmapData, pixelSnapping, smoothing);
name = NameUtil.createUniqueName(this);
//unresolved jump
var _slot1 = e;
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 7
//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.6.0.12937";
public function FlexLoader(){
super();
name = NameUtil.createUniqueName(this);
//unresolved jump
var _slot1 = e;
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 8
//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.6.0.12937";
public function FlexShape(){
super();
name = NameUtil.createUniqueName(this);
//unresolved jump
var _slot1 = e;
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 9
//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.6.0.12937";
private static var compatibilityVersionChanged:Boolean = false;
private static var _compatibilityErrorFunction:Function;
private static var _compatibilityVersion:uint = 50331648;
private static var compatibilityVersionRead:Boolean = false;
public function FlexVersion(){
super();
}
mx_internal static function changeCompatibilityVersionString(value:String):void{
var pieces:Array = value.split(".");
var major:uint = parseInt(pieces[0]);
var minor:uint = parseInt(pieces[1]);
var update:uint = parseInt(pieces[2]);
_compatibilityVersion = (((major << 24) + (minor << 16)) + update);
}
public static function set compatibilityVersion(value:uint):void{
var s:String;
if (value == _compatibilityVersion){
return;
};
if (compatibilityVersionChanged){
if (compatibilityErrorFunction == null){
s = ResourceManager.getInstance().getString("core", VERSION_ALREADY_SET);
throw (new Error(s));
};
compatibilityErrorFunction(value, VERSION_ALREADY_SET);
};
if (compatibilityVersionRead){
if (compatibilityErrorFunction == null){
s = ResourceManager.getInstance().getString("core", VERSION_ALREADY_READ);
throw (new Error(s));
};
compatibilityErrorFunction(value, VERSION_ALREADY_READ);
};
_compatibilityVersion = value;
compatibilityVersionChanged = true;
}
public static function get compatibilityVersion():uint{
compatibilityVersionRead = true;
return (_compatibilityVersion);
}
public static function set compatibilityErrorFunction(value:Function):void{
_compatibilityErrorFunction = value;
}
public static function set compatibilityVersionString(value:String):void{
var pieces:Array = value.split(".");
var major:uint = parseInt(pieces[0]);
var minor:uint = parseInt(pieces[1]);
var update:uint = parseInt(pieces[2]);
compatibilityVersion = (((major << 24) + (minor << 16)) + update);
}
public static function get compatibilityErrorFunction():Function{
return (_compatibilityErrorFunction);
}
public static function get compatibilityVersionString():String{
var major:uint = ((compatibilityVersion >> 24) & 0xFF);
var minor:uint = ((compatibilityVersion >> 16) & 0xFF);
var update:uint = (compatibilityVersion & 0xFFFF);
return (((((major.toString() + ".") + minor.toString()) + ".") + update.toString()));
}
}
}//package mx.core
Section 10
//FontAsset (mx.core.FontAsset)
package mx.core {
import flash.text.*;
public class FontAsset extends Font implements IFlexAsset {
mx_internal static const VERSION:String = "3.6.0.12937";
public function FontAsset(){
super();
}
}
}//package mx.core
Section 11
//IBorder (mx.core.IBorder)
package mx.core {
public interface IBorder {
function get borderMetrics():EdgeMetrics;
}
}//package mx.core
Section 12
//IButton (mx.core.IButton)
package mx.core {
public interface IButton extends IUIComponent {
function get emphasized():Boolean;
function set emphasized(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IButton.as:Boolean):void;
function callLater(_arg1:Function, _arg2:Array=null):void;
}
}//package mx.core
Section 13
//IChildList (mx.core.IChildList)
package mx.core {
import flash.display.*;
import flash.geom.*;
public interface IChildList {
function get numChildren():int;
function removeChild(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IChildList.as:DisplayObject):DisplayObject;
function getChildByName(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IChildList.as:String):DisplayObject;
function removeChildAt(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IChildList.as:int):DisplayObject;
function getChildIndex(:DisplayObject):int;
function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject;
function getObjectsUnderPoint(child:Point):Array;
function setChildIndex(_arg1:DisplayObject, _arg2:int):void;
function getChildAt(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IChildList.as:int):DisplayObject;
function addChild(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IChildList.as:DisplayObject):DisplayObject;
function contains(flash.display:DisplayObject):Boolean;
}
}//package mx.core
Section 14
//IContainer (mx.core.IContainer)
package mx.core {
import flash.display.*;
import flash.text.*;
import flash.geom.*;
import mx.managers.*;
import flash.media.*;
public interface IContainer extends IUIComponent {
function set hitArea(mx.core:IContainer/mx.core:IContainer:graphics/get:Sprite):void;
function swapChildrenAt(_arg1:int, _arg2:int):void;
function getChildByName(Graphics:String):DisplayObject;
function get doubleClickEnabled():Boolean;
function get graphics():Graphics;
function get useHandCursor():Boolean;
function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject;
function set mouseChildren(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function set creatingContentPane(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function get textSnapshot():TextSnapshot;
function getChildIndex(value:DisplayObject):int;
function set doubleClickEnabled(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function getObjectsUnderPoint(lockCenter:Point):Array;
function get creatingContentPane():Boolean;
function setChildIndex(_arg1:DisplayObject, _arg2:int):void;
function get soundTransform():SoundTransform;
function set useHandCursor(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function get numChildren():int;
function contains(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;ISpriteInterface.as:DisplayObject):Boolean;
function get verticalScrollPosition():Number;
function set defaultButton(mx.core:IContainer/mx.core:IContainer:graphics/get:IFlexDisplayObject):void;
function swapChildren(_arg1:DisplayObject, _arg2:DisplayObject):void;
function set horizontalScrollPosition(mx.core:IContainer/mx.core:IContainer:graphics/get:Number):void;
function get focusManager():IFocusManager;
function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void;
function set mouseEnabled(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function getChildAt(Graphics:int):DisplayObject;
function set soundTransform(mx.core:IContainer/mx.core:IContainer:graphics/get:SoundTransform):void;
function get tabChildren():Boolean;
function get tabIndex():int;
function set focusRect(mx.core:IContainer/mx.core:IContainer:graphics/get:Object):void;
function get hitArea():Sprite;
function get mouseChildren():Boolean;
function removeChildAt(Graphics:int):DisplayObject;
function get defaultButton():IFlexDisplayObject;
function stopDrag():void;
function set tabEnabled(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function get horizontalScrollPosition():Number;
function get focusRect():Object;
function get viewMetrics():EdgeMetrics;
function set verticalScrollPosition(mx.core:IContainer/mx.core:IContainer:graphics/get:Number):void;
function get dropTarget():DisplayObject;
function get mouseEnabled():Boolean;
function set tabChildren(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function set buttonMode(mx.core:IContainer/mx.core:IContainer:graphics/get:Boolean):void;
function get tabEnabled():Boolean;
function get buttonMode():Boolean;
function removeChild(Graphics:DisplayObject):DisplayObject;
function set tabIndex(mx.core:IContainer/mx.core:IContainer:graphics/get:int):void;
function addChild(Graphics:DisplayObject):DisplayObject;
function areInaccessibleObjectsUnderPoint(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;ISpriteInterface.as:Point):Boolean;
}
}//package mx.core
Section 15
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 16
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.accessibility.*;
public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher {
function get visible():Boolean;
function get rotation():Number;
function localToGlobal(void:Point):Point;
function get name():String;
function set width(flash.display:Number):void;
function get measuredHeight():Number;
function get blendMode():String;
function get scale9Grid():Rectangle;
function set name(flash.display:String):void;
function set scaleX(flash.display:Number):void;
function set scaleY(flash.display:Number):void;
function get measuredWidth():Number;
function get accessibilityProperties():AccessibilityProperties;
function set scrollRect(flash.display:Rectangle):void;
function get cacheAsBitmap():Boolean;
function globalToLocal(void:Point):Point;
function get height():Number;
function set blendMode(flash.display:String):void;
function get parent():DisplayObjectContainer;
function getBounds(String:DisplayObject):Rectangle;
function get opaqueBackground():Object;
function set scale9Grid(flash.display:Rectangle):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set alpha(flash.display:Number):void;
function set accessibilityProperties(flash.display:AccessibilityProperties):void;
function get width():Number;
function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean;
function set cacheAsBitmap(flash.display:Boolean):void;
function get scaleX():Number;
function get scaleY():Number;
function get scrollRect():Rectangle;
function get mouseX():Number;
function get mouseY():Number;
function set height(flash.display:Number):void;
function set mask(flash.display:DisplayObject):void;
function getRect(String:DisplayObject):Rectangle;
function get alpha():Number;
function set transform(flash.display:Transform):void;
function move(_arg1:Number, _arg2:Number):void;
function get loaderInfo():LoaderInfo;
function get root():DisplayObject;
function hitTestObject(mx.core:IFlexDisplayObject/mx.core:IFlexDisplayObject:stage/get:DisplayObject):Boolean;
function set opaqueBackground(flash.display:Object):void;
function set visible(flash.display:Boolean):void;
function get mask():DisplayObject;
function set x(flash.display:Number):void;
function set y(flash.display:Number):void;
function get transform():Transform;
function set filters(flash.display:Array):void;
function get x():Number;
function get y():Number;
function get filters():Array;
function set rotation(flash.display:Number):void;
function get stage():Stage;
}
}//package mx.core
Section 17
//IFlexModuleFactory (mx.core.IFlexModuleFactory)
package mx.core {
import flash.utils.*;
public interface IFlexModuleFactory {
function get preloadedRSLs():Dictionary;
function allowInsecureDomain(... _args):void;
function create(... _args):Object;
function allowDomain(... _args):void;
function info():Object;
}
}//package mx.core
Section 18
//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 19
//IProgrammaticSkin (mx.core.IProgrammaticSkin)
package mx.core {
public interface IProgrammaticSkin {
function validateNow():void;
function validateDisplayList():void;
}
}//package mx.core
Section 20
//IRawChildrenContainer (mx.core.IRawChildrenContainer)
package mx.core {
public interface IRawChildrenContainer {
function get rawChildren():IChildList;
}
}//package mx.core
Section 21
//IRectangularBorder (mx.core.IRectangularBorder)
package mx.core {
import flash.geom.*;
public interface IRectangularBorder extends IBorder {
function get backgroundImageBounds():Rectangle;
function get hasBackgroundImage():Boolean;
function set backgroundImageBounds(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IRectangularBorder.as:Rectangle):void;
function layoutBackgroundImage():void;
}
}//package mx.core
Section 22
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function get instanceIndices():Array;
function set instanceIndices(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void;
function get isDocument():Boolean;
function set repeaters(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void;
function initializeRepeaterArrays(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:IRepeaterClient):void;
function get repeaters():Array;
function set repeaterIndices(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 23
//ISWFBridgeGroup (mx.core.ISWFBridgeGroup)
package mx.core {
import flash.events.*;
public interface ISWFBridgeGroup {
function getChildBridgeProvider(mx.core:ISWFBridgeGroup/mx.core:ISWFBridgeGroup:parentBridge/get:IEventDispatcher):ISWFBridgeProvider;
function removeChildBridge(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;ISWFBridgeGroup.as:IEventDispatcher):void;
function get parentBridge():IEventDispatcher;
function addChildBridge(_arg1:IEventDispatcher, _arg2:ISWFBridgeProvider):void;
function set parentBridge(C:\autobuild\3.x\frameworks\projects\framework\src;mx\core;ISWFBridgeGroup.as:IEventDispatcher):void;
function containsBridge(IEventDispatcher:IEventDispatcher):Boolean;
function getChildBridges():Array;
}
}//package mx.core
Section 24
//ISWFBridgeProvider (mx.core.ISWFBridgeProvider)
package mx.core {
import flash.events.*;
public interface ISWFBridgeProvider {
function get childAllowsParent():Boolean;
function get swfBridge():IEventDispatcher;
function get parentAllowsChild():Boolean;
}
}//package mx.core
Section 25
//IUIComponent (mx.core.IUIComponent)
package mx.core {
import flash.display.*;
import mx.managers.*;
public interface IUIComponent extends IFlexDisplayObject {
function set focusPane(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Sprite):void;
function get enabled():Boolean;
function set enabled(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Boolean):void;
function set isPopUp(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Boolean):void;
function get explicitMinHeight():Number;
function get percentWidth():Number;
function get isPopUp():Boolean;
function get owner():DisplayObjectContainer;
function get percentHeight():Number;
function get baselinePosition():Number;
function owns(Number:DisplayObject):Boolean;
function initialize():void;
function get maxWidth():Number;
function get minWidth():Number;
function getExplicitOrMeasuredWidth():Number;
function get explicitMaxWidth():Number;
function get explicitMaxHeight():Number;
function set percentHeight(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void;
function get minHeight():Number;
function set percentWidth(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void;
function get document():Object;
function get focusPane():Sprite;
function getExplicitOrMeasuredHeight():Number;
function set tweeningProperties(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Array):void;
function set explicitWidth(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void;
function set measuredMinHeight(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void;
function get explicitMinWidth():Number;
function get tweeningProperties():Array;
function get maxHeight():Number;
function set owner(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:DisplayObjectContainer):void;
function set includeInLayout(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Boolean):void;
function setVisible(_arg1:Boolean, _arg2:Boolean=false):void;
function parentChanged(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:DisplayObjectContainer):void;
function get explicitWidth():Number;
function get measuredMinHeight():Number;
function set measuredMinWidth(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void;
function set explicitHeight(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Number):void;
function get includeInLayout():Boolean;
function get measuredMinWidth():Number;
function get explicitHeight():Number;
function set systemManager(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:ISystemManager):void;
function set document(mx.core:IUIComponent/mx.core:IUIComponent:baselinePosition/get:Object):void;
function get systemManager():ISystemManager;
}
}//package mx.core
Section 26
//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 27
//Singleton (mx.core.Singleton)
package mx.core {
public class Singleton {
mx_internal static const VERSION:String = "3.6.0.12937";
private static var classMap:Object = {};
public function Singleton(){
super();
}
public static function registerClass(interfaceName:String, clazz:Class):void{
var c:Class = classMap[interfaceName];
if (!c){
classMap[interfaceName] = clazz;
};
}
public static function getClass(interfaceName:String):Class{
return (classMap[interfaceName]);
}
public static function getInstance(interfaceName:String):Object{
var c:Class = classMap[interfaceName];
if (!c){
throw (new Error((("No class registered for interface '" + interfaceName) + "'.")));
};
return (c["getInstance"]());
}
}
}//package mx.core
Section 28
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "3.6.0.12937";
public function SoundAsset(){
super();
}
}
}//package mx.core
Section 29
//UIComponentGlobals (mx.core.UIComponentGlobals)
package mx.core {
import flash.display.*;
import flash.geom.*;
import mx.managers.*;
public class UIComponentGlobals {
mx_internal static var callLaterSuspendCount:int = 0;
mx_internal static var layoutManager:ILayoutManager;
mx_internal static var nextFocusObject:InteractiveObject;
mx_internal static var designTime:Boolean = false;
mx_internal static var tempMatrix:Matrix = new Matrix();
mx_internal static var callLaterDispatcherCount:int = 0;
private static var _catchCallLaterExceptions:Boolean = false;
public function UIComponentGlobals(){
super();
}
public static function set catchCallLaterExceptions(value:Boolean):void{
_catchCallLaterExceptions = value;
}
public static function get designMode():Boolean{
return (designTime);
}
public static function set designMode(value:Boolean):void{
designTime = value;
}
public static function get catchCallLaterExceptions():Boolean{
return (_catchCallLaterExceptions);
}
}
}//package mx.core
Section 30
//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.6.0.12937";
public static const SETUP:String = "setup";
public static const UNLOAD:String = "unload";
public function ModuleEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, bytesLoaded:uint=0, bytesTotal:uint=0, errorText:String=null, module:IModuleInfo=null){
super(type, bubbles, cancelable, bytesLoaded, bytesTotal);
this.errorText = errorText;
this._module = module;
}
public function get module():IModuleInfo{
if (_module){
return (_module);
};
return ((target as IModuleInfo));
}
override public function clone():Event{
return (new ModuleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText, module));
}
}
}//package mx.events
Section 31
//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.6.0.12937";
public static const COMPLETE:String = "complete";
public static const PROGRESS:String = "progress";
public static const ERROR:String = "error";
public function ResourceEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, bytesLoaded:uint=0, bytesTotal:uint=0, errorText:String=null){
super(type, bubbles, cancelable, bytesLoaded, bytesTotal);
this.errorText = errorText;
}
override public function clone():Event{
return (new ResourceEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText));
}
}
}//package mx.events
Section 32
//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.6.0.12937";
public static const COMPLETE:String = "complete";
public static const PROGRESS:String = "progress";
public static const ERROR:String = "error";
public function StyleEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, bytesLoaded:uint=0, bytesTotal:uint=0, errorText:String=null){
super(type, bubbles, cancelable, bytesLoaded, bytesTotal);
this.errorText = errorText;
}
override public function clone():Event{
return (new StyleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText));
}
}
}//package mx.events
Section 33
//RectangularDropShadow (mx.graphics.RectangularDropShadow)
package mx.graphics {
import mx.core.*;
import flash.display.*;
import flash.geom.*;
import mx.utils.*;
import flash.filters.*;
public class RectangularDropShadow {
private var leftShadow:BitmapData;
private var _tlRadius:Number;// = 0
private var _trRadius:Number;// = 0
private var _angle:Number;// = 45
private var topShadow:BitmapData;
private var _distance:Number;// = 4
private var rightShadow:BitmapData;
private var _alpha:Number;// = 0.4
private var shadow:BitmapData;
private var _brRadius:Number;// = 0
private var _blRadius:Number;// = 0
private var _color:int;// = 0
private var bottomShadow:BitmapData;
private var changed:Boolean;// = true
mx_internal static const VERSION:String = "3.6.0.12937";
public function RectangularDropShadow(){
super();
}
public function get blRadius():Number{
return (_blRadius);
}
public function set brRadius(value:Number):void{
if (_brRadius != value){
_brRadius = value;
changed = true;
};
}
public function set color(value:int):void{
if (_color != value){
_color = value;
changed = true;
};
}
public function drawShadow(g:Graphics, x:Number, y:Number, width:Number, height:Number):void{
var tlWidth:Number;
var tlHeight:Number;
var trWidth:Number;
var trHeight:Number;
var blWidth:Number;
var blHeight:Number;
var brWidth:Number;
var brHeight:Number;
if (changed){
createShadowBitmaps();
changed = false;
};
width = Math.ceil(width);
height = Math.ceil(height);
var leftThickness:int = (leftShadow) ? leftShadow.width : 0;
var rightThickness:int = (rightShadow) ? rightShadow.width : 0;
var topThickness:int = (topShadow) ? topShadow.height : 0;
var bottomThickness:int = (bottomShadow) ? bottomShadow.height : 0;
var widthThickness:int = (leftThickness + rightThickness);
var heightThickness:int = (topThickness + bottomThickness);
var maxCornerHeight:Number = ((height + heightThickness) / 2);
var maxCornerWidth:Number = ((width + widthThickness) / 2);
var matrix:Matrix = new Matrix();
if (((leftShadow) || (topShadow))){
tlWidth = Math.min((tlRadius + widthThickness), maxCornerWidth);
tlHeight = Math.min((tlRadius + heightThickness), maxCornerHeight);
matrix.tx = (x - leftThickness);
matrix.ty = (y - topThickness);
g.beginBitmapFill(shadow, matrix);
g.drawRect((x - leftThickness), (y - topThickness), tlWidth, tlHeight);
g.endFill();
};
if (((rightShadow) || (topShadow))){
trWidth = Math.min((trRadius + widthThickness), maxCornerWidth);
trHeight = Math.min((trRadius + heightThickness), maxCornerHeight);
matrix.tx = (((x + width) + rightThickness) - shadow.width);
matrix.ty = (y - topThickness);
g.beginBitmapFill(shadow, matrix);
g.drawRect((((x + width) + rightThickness) - trWidth), (y - topThickness), trWidth, trHeight);
g.endFill();
};
if (((leftShadow) || (bottomShadow))){
blWidth = Math.min((blRadius + widthThickness), maxCornerWidth);
blHeight = Math.min((blRadius + heightThickness), maxCornerHeight);
matrix.tx = (x - leftThickness);
matrix.ty = (((y + height) + bottomThickness) - shadow.height);
g.beginBitmapFill(shadow, matrix);
g.drawRect((x - leftThickness), (((y + height) + bottomThickness) - blHeight), blWidth, blHeight);
g.endFill();
};
if (((rightShadow) || (bottomShadow))){
brWidth = Math.min((brRadius + widthThickness), maxCornerWidth);
brHeight = Math.min((brRadius + heightThickness), maxCornerHeight);
matrix.tx = (((x + width) + rightThickness) - shadow.width);
matrix.ty = (((y + height) + bottomThickness) - shadow.height);
g.beginBitmapFill(shadow, matrix);
g.drawRect((((x + width) + rightThickness) - brWidth), (((y + height) + bottomThickness) - brHeight), brWidth, brHeight);
g.endFill();
};
if (leftShadow){
matrix.tx = (x - leftThickness);
matrix.ty = 0;
g.beginBitmapFill(leftShadow, matrix);
g.drawRect((x - leftThickness), ((y - topThickness) + tlHeight), leftThickness, ((((height + topThickness) + bottomThickness) - tlHeight) - blHeight));
g.endFill();
};
if (rightShadow){
matrix.tx = (x + width);
matrix.ty = 0;
g.beginBitmapFill(rightShadow, matrix);
g.drawRect((x + width), ((y - topThickness) + trHeight), rightThickness, ((((height + topThickness) + bottomThickness) - trHeight) - brHeight));
g.endFill();
};
if (topShadow){
matrix.tx = 0;
matrix.ty = (y - topThickness);
g.beginBitmapFill(topShadow, matrix);
g.drawRect(((x - leftThickness) + tlWidth), (y - topThickness), ((((width + leftThickness) + rightThickness) - tlWidth) - trWidth), topThickness);
g.endFill();
};
if (bottomShadow){
matrix.tx = 0;
matrix.ty = (y + height);
g.beginBitmapFill(bottomShadow, matrix);
g.drawRect(((x - leftThickness) + blWidth), (y + height), ((((width + leftThickness) + rightThickness) - blWidth) - brWidth), bottomThickness);
g.endFill();
};
}
public function get brRadius():Number{
return (_brRadius);
}
public function get angle():Number{
return (_angle);
}
private function createShadowBitmaps():void{
var roundRectWidth:Number = ((Math.max(tlRadius, blRadius) + (2 * distance)) + Math.max(trRadius, brRadius));
var roundRectHeight:Number = ((Math.max(tlRadius, trRadius) + (2 * distance)) + Math.max(blRadius, brRadius));
if ((((roundRectWidth < 0)) || ((roundRectHeight < 0)))){
return;
};
var roundRect:Shape = new FlexShape();
var g:Graphics = roundRect.graphics;
g.beginFill(0xFFFFFF);
GraphicsUtil.drawRoundRectComplex(g, 0, 0, roundRectWidth, roundRectHeight, tlRadius, trRadius, blRadius, brRadius);
g.endFill();
var roundRectBitmap:BitmapData = new BitmapData(roundRectWidth, roundRectHeight, true, 0);
roundRectBitmap.draw(roundRect, new Matrix());
var filter:DropShadowFilter = new DropShadowFilter(distance, angle, color, alpha);
filter.knockout = true;
var inputRect:Rectangle = new Rectangle(0, 0, roundRectWidth, roundRectHeight);
var outputRect:Rectangle = roundRectBitmap.generateFilterRect(inputRect, filter);
var leftThickness:Number = (inputRect.left - outputRect.left);
var rightThickness:Number = (outputRect.right - inputRect.right);
var topThickness:Number = (inputRect.top - outputRect.top);
var bottomThickness:Number = (outputRect.bottom - inputRect.bottom);
shadow = new BitmapData(outputRect.width, outputRect.height);
shadow.applyFilter(roundRectBitmap, inputRect, new Point(leftThickness, topThickness), filter);
var origin:Point = new Point(0, 0);
var rect:Rectangle = new Rectangle();
if (leftThickness > 0){
rect.x = 0;
rect.y = ((tlRadius + topThickness) + bottomThickness);
rect.width = leftThickness;
rect.height = 1;
leftShadow = new BitmapData(leftThickness, 1);
leftShadow.copyPixels(shadow, rect, origin);
} else {
leftShadow = null;
};
if (rightThickness > 0){
rect.x = (shadow.width - rightThickness);
rect.y = ((trRadius + topThickness) + bottomThickness);
rect.width = rightThickness;
rect.height = 1;
rightShadow = new BitmapData(rightThickness, 1);
rightShadow.copyPixels(shadow, rect, origin);
} else {
rightShadow = null;
};
if (topThickness > 0){
rect.x = ((tlRadius + leftThickness) + rightThickness);
rect.y = 0;
rect.width = 1;
rect.height = topThickness;
topShadow = new BitmapData(1, topThickness);
topShadow.copyPixels(shadow, rect, origin);
} else {
topShadow = null;
};
if (bottomThickness > 0){
rect.x = ((blRadius + leftThickness) + rightThickness);
rect.y = (shadow.height - bottomThickness);
rect.width = 1;
rect.height = bottomThickness;
bottomShadow = new BitmapData(1, bottomThickness);
bottomShadow.copyPixels(shadow, rect, origin);
} else {
bottomShadow = null;
};
}
public function get alpha():Number{
return (_alpha);
}
public function get color():int{
return (_color);
}
public function set angle(value:Number):void{
if (_angle != value){
_angle = value;
changed = true;
};
}
public function set trRadius(value:Number):void{
if (_trRadius != value){
_trRadius = value;
changed = true;
};
}
public function set tlRadius(value:Number):void{
if (_tlRadius != value){
_tlRadius = value;
changed = true;
};
}
public function get trRadius():Number{
return (_trRadius);
}
public function set distance(value:Number):void{
if (_distance != value){
_distance = value;
changed = true;
};
}
public function get distance():Number{
return (_distance);
}
public function get tlRadius():Number{
return (_tlRadius);
}
public function set alpha(value:Number):void{
if (_alpha != value){
_alpha = value;
changed = true;
};
}
public function set blRadius(value:Number):void{
if (_blRadius != value){
_blRadius = value;
changed = true;
};
}
}
}//package mx.graphics
Section 34
//IFocusManager (mx.managers.IFocusManager)
package mx.managers {
import mx.core.*;
import flash.display.*;
import flash.events.*;
public interface IFocusManager {
function get focusPane():Sprite;
function getFocus():IFocusManagerComponent;
function deactivate():void;
function set defaultButton(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManager.as:IButton):void;
function set focusPane(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManager.as:Sprite):void;
function set showFocusIndicator(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManager.as:Boolean):void;
function moveFocus(_arg1:String, _arg2:DisplayObject=null):void;
function addSWFBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void;
function removeSWFBridge(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManager.as:IEventDispatcher):void;
function get defaultButtonEnabled():Boolean;
function findFocusManagerComponent(value:InteractiveObject):IFocusManagerComponent;
function get nextTabIndex():int;
function get defaultButton():IButton;
function get showFocusIndicator():Boolean;
function setFocus(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManager.as:IFocusManagerComponent):void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManager.as:Boolean):void;
function hideFocus():void;
function getNextFocusManagerComponent(value:Boolean=false):IFocusManagerComponent;
}
}//package mx.managers
Section 35
//IFocusManagerComponent (mx.managers.IFocusManagerComponent)
package mx.managers {
public interface IFocusManagerComponent {
function set focusEnabled(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManagerComponent.as:Boolean):void;
function drawFocus(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManagerComponent.as:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package mx.managers
Section 36
//IFocusManagerContainer (mx.managers.IFocusManagerContainer)
package mx.managers {
import flash.display.*;
import flash.events.*;
public interface IFocusManagerContainer extends IEventDispatcher {
function set focusManager(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;IFocusManagerContainer.as:IFocusManager):void;
function get focusManager():IFocusManager;
function get systemManager():ISystemManager;
function contains(mx.managers:DisplayObject):Boolean;
}
}//package mx.managers
Section 37
//ILayoutManager (mx.managers.ILayoutManager)
package mx.managers {
import flash.events.*;
public interface ILayoutManager extends IEventDispatcher {
function validateNow():void;
function validateClient(_arg1:ILayoutManagerClient, _arg2:Boolean=false):void;
function isInvalid():Boolean;
function invalidateDisplayList(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:ILayoutManagerClient):void;
function set usePhasedInstantiation(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:Boolean):void;
function invalidateSize(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:ILayoutManagerClient):void;
function get usePhasedInstantiation():Boolean;
function invalidateProperties(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManager.as:ILayoutManagerClient):void;
}
}//package mx.managers
Section 38
//ILayoutManagerClient (mx.managers.ILayoutManagerClient)
package mx.managers {
import flash.events.*;
public interface ILayoutManagerClient extends IEventDispatcher {
function get updateCompletePendingFlag():Boolean;
function set updateCompletePendingFlag(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:Boolean):void;
function set initialized(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:Boolean):void;
function validateProperties():void;
function validateDisplayList():void;
function get nestLevel():int;
function get initialized():Boolean;
function get processedDescriptors():Boolean;
function validateSize(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:Boolean=false):void;
function set nestLevel(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:int):void;
function set processedDescriptors(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ILayoutManagerClient.as:Boolean):void;
}
}//package mx.managers
Section 39
//ISystemManager (mx.managers.ISystemManager)
package mx.managers {
import mx.core.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.geom.*;
public interface ISystemManager extends IEventDispatcher, IChildList, IFlexModuleFactory {
function set focusPane(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:Sprite):void;
function get toolTipChildren():IChildList;
function useSWFBridge():Boolean;
function isFontFaceEmbedded(flash.display:TextFormat):Boolean;
function deployMouseShields(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:Boolean):void;
function get rawChildren():IChildList;
function get topLevelSystemManager():ISystemManager;
function dispatchEventFromSWFBridges(_arg1:Event, _arg2:IEventDispatcher=null, _arg3:Boolean=false, _arg4:Boolean=false):void;
function getSandboxRoot():DisplayObject;
function get swfBridgeGroup():ISWFBridgeGroup;
function removeFocusManager(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IFocusManagerContainer):void;
function addChildToSandboxRoot(_arg1:String, _arg2:DisplayObject):void;
function get document():Object;
function get focusPane():Sprite;
function get loaderInfo():LoaderInfo;
function addChildBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void;
function getTopLevelRoot():DisplayObject;
function removeChildBridge(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IEventDispatcher):void;
function isDisplayObjectInABridgedApplication(flash.display:DisplayObject):Boolean;
function get popUpChildren():IChildList;
function get screen():Rectangle;
function removeChildFromSandboxRoot(_arg1:String, _arg2:DisplayObject):void;
function getDefinitionByName(C:\autobuild\3.x\frameworks\projects\framework\src;mx\managers;ISystemManager.as:String):Object;
function activate(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IFocusManagerContainer):void;
function deactivate(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IFocusManagerContainer):void;
function get cursorChildren():IChildList;
function set document(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:Object):void;
function get embeddedFontList():Object;
function set numModalWindows(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:int):void;
function isTopLevel():Boolean;
function isTopLevelRoot():Boolean;
function get numModalWindows():int;
function addFocusManager(mx.managers:ISystemManager/mx.managers:ISystemManager:cursorChildren/get:IFocusManagerContainer):void;
function get stage():Stage;
function getVisibleApplicationRect(value:Rectangle=null):Rectangle;
}
}//package mx.managers
Section 40
//SystemManagerGlobals (mx.managers.SystemManagerGlobals)
package mx.managers {
public class SystemManagerGlobals {
public static var topLevelSystemManagers:Array = [];
public static var changingListenersInOtherSystemManagers:Boolean;
public static var bootstrapLoaderInfoURL:String;
public static var showMouseCursor:Boolean;
public static var dispatchingEventToOtherSystemManagers:Boolean;
public function SystemManagerGlobals(){
super();
}
}
}//package mx.managers
Section 41
//IModuleInfo (mx.modules.IModuleInfo)
package mx.modules {
import mx.core.*;
import flash.events.*;
import flash.utils.*;
import flash.system.*;
public interface IModuleInfo extends IEventDispatcher {
function get ready():Boolean;
function get loaded():Boolean;
function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void;
function release():void;
function get error():Boolean;
function get data():Object;
function publish(C:\autobuild\3.x\frameworks\projects\framework\src;mx\modules;IModuleInfo.as:IFlexModuleFactory):void;
function get factory():IFlexModuleFactory;
function set data(C:\autobuild\3.x\frameworks\projects\framework\src;mx\modules;IModuleInfo.as:Object):void;
function get url():String;
function get setup():Boolean;
function unload():void;
}
}//package mx.modules
Section 42
//ModuleManager (mx.modules.ModuleManager)
package mx.modules {
import mx.core.*;
public class ModuleManager {
mx_internal static const VERSION:String = "3.6.0.12937";
public function ModuleManager(){
super();
}
public static function getModule(url:String):IModuleInfo{
return (getSingleton().getModule(url));
}
private static function getSingleton():Object{
if (!ModuleManagerGlobals.managerSingleton){
ModuleManagerGlobals.managerSingleton = new ModuleManagerImpl();
};
return (ModuleManagerGlobals.managerSingleton);
}
public static function getAssociatedFactory(object:Object):IFlexModuleFactory{
return (getSingleton().getAssociatedFactory(object));
}
}
}//package mx.modules
import mx.core.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.system.*;
import mx.events.*;
import flash.net.*;
class ModuleInfoProxy extends EventDispatcher implements IModuleInfo {
private var _data:Object;
private var info:ModuleInfo;
private var referenced:Boolean;// = false
private function ModuleInfoProxy(info:ModuleInfo){
super();
this.info = info;
info.addEventListener(ModuleEvent.SETUP, moduleEventHandler, false, 0, true);
info.addEventListener(ModuleEvent.PROGRESS, moduleEventHandler, false, 0, true);
info.addEventListener(ModuleEvent.READY, moduleEventHandler, false, 0, true);
info.addEventListener(ModuleEvent.ERROR, moduleEventHandler, false, 0, true);
info.addEventListener(ModuleEvent.UNLOAD, moduleEventHandler, false, 0, true);
}
public function get loaded():Boolean{
return (info.loaded);
}
public function release():void{
if (referenced){
info.removeReference();
referenced = false;
};
}
public function get error():Boolean{
return (info.error);
}
public function get factory():IFlexModuleFactory{
return (info.factory);
}
public function publish(factory:IFlexModuleFactory):void{
info.publish(factory);
}
public function set data(value:Object):void{
_data = value;
}
public function get ready():Boolean{
return (info.ready);
}
public function load(applicationDomain:ApplicationDomain=null, securityDomain:SecurityDomain=null, bytes:ByteArray=null):void{
var moduleEvent:ModuleEvent;
info.resurrect();
if (!referenced){
info.addReference();
referenced = true;
};
if (info.error){
dispatchEvent(new ModuleEvent(ModuleEvent.ERROR));
} else {
if (info.loaded){
if (info.setup){
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
if (info.ready){
moduleEvent = new ModuleEvent(ModuleEvent.PROGRESS);
moduleEvent.bytesLoaded = info.size;
moduleEvent.bytesTotal = info.size;
dispatchEvent(moduleEvent);
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
};
};
} else {
info.load(applicationDomain, securityDomain, bytes);
};
};
}
private function moduleEventHandler(event:ModuleEvent):void{
dispatchEvent(event);
}
public function get url():String{
return (info.url);
}
public function get data():Object{
return (_data);
}
public function get setup():Boolean{
return (info.setup);
}
public function unload():void{
info.unload();
info.removeEventListener(ModuleEvent.SETUP, moduleEventHandler);
info.removeEventListener(ModuleEvent.PROGRESS, moduleEventHandler);
info.removeEventListener(ModuleEvent.READY, moduleEventHandler);
info.removeEventListener(ModuleEvent.ERROR, moduleEventHandler);
info.removeEventListener(ModuleEvent.UNLOAD, moduleEventHandler);
}
}
class ModuleManagerImpl extends EventDispatcher {
private var moduleList:Object;
private function ModuleManagerImpl(){
moduleList = {};
super();
}
public function getModule(url:String):IModuleInfo{
var info:ModuleInfo = (moduleList[url] as ModuleInfo);
if (!info){
info = new ModuleInfo(url);
moduleList[url] = info;
};
return (new ModuleInfoProxy(info));
}
public function getAssociatedFactory(object:Object):IFlexModuleFactory{
var m:Object;
var info:ModuleInfo;
var domain:ApplicationDomain;
var cls:Class;
var object = object;
var className:String = getQualifiedClassName(object);
for each (m in moduleList) {
info = (m as ModuleInfo);
if (!info.ready){
} else {
domain = info.applicationDomain;
cls = Class(domain.getDefinition(className));
if ((object is cls)){
return (info.factory);
};
//unresolved jump
var _slot1 = error;
};
};
return (null);
}
}
class ModuleInfo extends EventDispatcher {
private var _error:Boolean;// = false
private var loader:Loader;
private var factoryInfo:FactoryInfo;
private var limbo:Dictionary;
private var _loaded:Boolean;// = false
private var _ready:Boolean;// = false
private var numReferences:int;// = 0
private var _url:String;
private var _setup:Boolean;// = false
private function ModuleInfo(url:String){
super();
_url = url;
}
private function clearLoader():void{
if (loader){
if (loader.contentLoaderInfo){
loader.contentLoaderInfo.removeEventListener(Event.INIT, initHandler);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.contentLoaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
};
if (loader.content){
loader.content.removeEventListener("ready", readyHandler);
loader.content.removeEventListener("error", moduleErrorHandler);
};
//unresolved jump
var _slot1 = error;
if (_loaded){
loader.close();
//unresolved jump
var _slot1 = error;
};
loader.unload();
//unresolved jump
var _slot1 = error;
loader = null;
};
}
public function get size():int{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.bytesTotal : 0);
}
public function get loaded():Boolean{
return ((limbo) ? false : _loaded);
}
public function release():void{
if (((_ready) && (!(limbo)))){
limbo = new Dictionary(true);
limbo[factoryInfo] = 1;
factoryInfo = null;
} else {
unload();
};
}
public function get error():Boolean{
return ((limbo) ? false : _error);
}
public function get factory():IFlexModuleFactory{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.factory : null);
}
public function completeHandler(event:Event):void{
var moduleEvent:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, event.bubbles, event.cancelable);
moduleEvent.bytesLoaded = loader.contentLoaderInfo.bytesLoaded;
moduleEvent.bytesTotal = loader.contentLoaderInfo.bytesTotal;
dispatchEvent(moduleEvent);
}
public function publish(factory:IFlexModuleFactory):void{
if (factoryInfo){
return;
};
if (_url.indexOf("published://") != 0){
return;
};
factoryInfo = new FactoryInfo();
factoryInfo.factory = factory;
_loaded = true;
_setup = true;
_ready = true;
_error = false;
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
dispatchEvent(new ModuleEvent(ModuleEvent.PROGRESS));
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
}
public function initHandler(event:Event):void{
var moduleEvent:ModuleEvent;
var event = event;
factoryInfo = new FactoryInfo();
factoryInfo.factory = (loader.content as IFlexModuleFactory);
//unresolved jump
var _slot1 = error;
if (!factoryInfo.factory){
moduleEvent = new ModuleEvent(ModuleEvent.ERROR, event.bubbles, event.cancelable);
moduleEvent.bytesLoaded = 0;
moduleEvent.bytesTotal = 0;
moduleEvent.errorText = "SWF is not a loadable module";
dispatchEvent(moduleEvent);
return;
};
loader.content.addEventListener("ready", readyHandler);
loader.content.addEventListener("error", moduleErrorHandler);
factoryInfo.applicationDomain = loader.contentLoaderInfo.applicationDomain;
//unresolved jump
var _slot1 = error;
_setup = true;
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
}
public function resurrect():void{
var f:Object;
if (((!(factoryInfo)) && (limbo))){
for (f in limbo) {
factoryInfo = (f as FactoryInfo);
break;
};
limbo = null;
};
if (!factoryInfo){
if (_loaded){
dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD));
};
loader = null;
_loaded = false;
_setup = false;
_ready = false;
_error = false;
};
}
public function errorHandler(event:ErrorEvent):void{
_error = true;
var moduleEvent:ModuleEvent = new ModuleEvent(ModuleEvent.ERROR, event.bubbles, event.cancelable);
moduleEvent.bytesLoaded = 0;
moduleEvent.bytesTotal = 0;
moduleEvent.errorText = event.text;
dispatchEvent(moduleEvent);
}
public function get ready():Boolean{
return ((limbo) ? false : _ready);
}
private function loadBytes(applicationDomain:ApplicationDomain, bytes:ByteArray):void{
var c:LoaderContext = new LoaderContext();
c.applicationDomain = (applicationDomain) ? applicationDomain : new ApplicationDomain(ApplicationDomain.currentDomain);
if (("allowLoadBytesCodeExecution" in c)){
c["allowLoadBytesCodeExecution"] = true;
};
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
loader.loadBytes(bytes, c);
}
public function removeReference():void{
numReferences--;
if (numReferences == 0){
release();
};
}
public function addReference():void{
numReferences++;
}
public function progressHandler(event:ProgressEvent):void{
var moduleEvent:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, event.bubbles, event.cancelable);
moduleEvent.bytesLoaded = event.bytesLoaded;
moduleEvent.bytesTotal = event.bytesTotal;
dispatchEvent(moduleEvent);
}
public function load(applicationDomain:ApplicationDomain=null, securityDomain:SecurityDomain=null, bytes:ByteArray=null):void{
if (_loaded){
return;
};
_loaded = true;
limbo = null;
if (bytes){
loadBytes(applicationDomain, bytes);
return;
};
if (_url.indexOf("published://") == 0){
return;
};
var r:URLRequest = new URLRequest(_url);
var c:LoaderContext = new LoaderContext();
c.applicationDomain = (applicationDomain) ? applicationDomain : new ApplicationDomain(ApplicationDomain.currentDomain);
c.securityDomain = securityDomain;
if ((((securityDomain == null)) && ((Security.sandboxType == Security.REMOTE)))){
c.securityDomain = SecurityDomain.currentDomain;
};
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
loader.load(r, c);
}
public function get url():String{
return (_url);
}
public function get applicationDomain():ApplicationDomain{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.applicationDomain : null);
}
public function moduleErrorHandler(event:Event):void{
var errorEvent:ModuleEvent;
_ready = true;
factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal;
clearLoader();
if ((event is ModuleEvent)){
errorEvent = ModuleEvent(event);
} else {
errorEvent = new ModuleEvent(ModuleEvent.ERROR);
};
dispatchEvent(errorEvent);
}
public function readyHandler(event:Event):void{
_ready = true;
factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal;
var moduleEvent:ModuleEvent = new ModuleEvent(ModuleEvent.READY);
moduleEvent.bytesLoaded = loader.contentLoaderInfo.bytesLoaded;
moduleEvent.bytesTotal = loader.contentLoaderInfo.bytesTotal;
clearLoader();
dispatchEvent(moduleEvent);
}
public function get setup():Boolean{
return ((limbo) ? false : _setup);
}
public function unload():void{
clearLoader();
if (_loaded){
dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD));
};
limbo = null;
factoryInfo = null;
_loaded = false;
_setup = false;
_ready = false;
_error = false;
}
}
class FactoryInfo {
public var bytesTotal:int;// = 0
public var factory:IFlexModuleFactory;
public var applicationDomain:ApplicationDomain;
private function FactoryInfo(){
super();
}
}
Section 43
//ModuleManagerGlobals (mx.modules.ModuleManagerGlobals)
package mx.modules {
public class ModuleManagerGlobals {
public static var managerSingleton:Object = null;
public function ModuleManagerGlobals(){
super();
}
}
}//package mx.modules
Section 44
//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 45
//IResourceManager (mx.resources.IResourceManager)
package mx.resources {
import flash.events.*;
import flash.system.*;
public interface IResourceManager extends IEventDispatcher {
function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher;
function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean;
function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class;
function getLocales():Array;
function removeResourceBundlesForLocale(C:\autobuild\3.x\frameworks\projects\framework\src;mx\resources;IResourceManager.as:String):void;
function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle;
function get localeChain():Array;
function getInt(_arg1:String, _arg2:String, _arg3:String=null):int;
function update():void;
function set localeChain(C:\autobuild\3.x\frameworks\projects\framework\src;mx\resources;IResourceManager.as:Array):void;
function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint;
function addResourceBundle(C:\autobuild\3.x\frameworks\projects\framework\src;mx\resources;IResourceManager.as:IResourceBundle):void;
function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array;
function getBundleNamesForLocale(:String):Array;
function removeResourceBundle(_arg1:String, _arg2:String):void;
function getObject(_arg1:String, _arg2:String, _arg3:String=null);
function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String;
function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void;
function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void;
function getPreferredLocaleChain():Array;
function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle;
function initializeLocaleChain(C:\autobuild\3.x\frameworks\projects\framework\src;mx\resources;IResourceManager.as:Array):void;
function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number;
}
}//package mx.resources
Section 46
//IResourceModule (mx.resources.IResourceModule)
package mx.resources {
public interface IResourceModule {
function get resourceBundles():Array;
}
}//package mx.resources
Section 47
//LocaleSorter (mx.resources.LocaleSorter)
package mx.resources {
public class LocaleSorter {
mx_internal static const VERSION:String = "3.6.0.12937";
public function LocaleSorter(){
super();
}
private static function normalizeLocale(locale:String):String{
return (locale.toLowerCase().replace(/-/g, "_"));
}
public static function sortLocalesByPreference(appLocales:Array, systemPreferences:Array, ultimateFallbackLocale:String=null, addAll:Boolean=false):Array{
var result:Array;
var hasLocale:Object;
var i:int;
var j:int;
var k:int;
var l:int;
var locale:String;
var plocale:LocaleID;
var appLocales = appLocales;
var systemPreferences = systemPreferences;
var ultimateFallbackLocale = ultimateFallbackLocale;
var addAll = addAll;
var promote:Function = function (locale:String):void{
if (typeof(hasLocale[locale]) != "undefined"){
result.push(appLocales[hasLocale[locale]]);
delete hasLocale[locale];
};
};
result = [];
hasLocale = {};
var locales:Array = trimAndNormalize(appLocales);
var preferenceLocales:Array = trimAndNormalize(systemPreferences);
addUltimateFallbackLocale(preferenceLocales, ultimateFallbackLocale);
j = 0;
while (j < locales.length) {
hasLocale[locales[j]] = j;
j = (j + 1);
};
i = 0;
l = preferenceLocales.length;
while (i < l) {
plocale = LocaleID.fromString(preferenceLocales[i]);
promote(preferenceLocales[i]);
promote(plocale.toString());
while (plocale.transformToParent()) {
promote(plocale.toString());
};
plocale = LocaleID.fromString(preferenceLocales[i]);
j = 0;
while (j < l) {
locale = preferenceLocales[j];
if (plocale.isSiblingOf(LocaleID.fromString(locale))){
promote(locale);
};
j = (j + 1);
};
j = 0;
k = locales.length;
while (j < k) {
locale = locales[j];
if (plocale.isSiblingOf(LocaleID.fromString(locale))){
promote(locale);
};
j = (j + 1);
};
i = (i + 1);
};
if (addAll){
j = 0;
k = locales.length;
while (j < k) {
promote(locales[j]);
j = (j + 1);
};
};
return (result);
}
private static function addUltimateFallbackLocale(preferenceLocales:Array, ultimateFallbackLocale:String):void{
var locale:String;
if (((!((ultimateFallbackLocale == null))) && (!((ultimateFallbackLocale == ""))))){
locale = normalizeLocale(ultimateFallbackLocale);
if (preferenceLocales.indexOf(locale) == -1){
preferenceLocales.push(locale);
};
};
}
private static function trimAndNormalize(list:Array):Array{
var resultList:Array = [];
var i:int;
while (i < list.length) {
resultList.push(normalizeLocale(list[i]));
i++;
};
return (resultList);
}
}
}//package mx.resources
class LocaleID {
private var privateLangs:Boolean;// = false
private var script:String;// = ""
private var variants:Array;
private var privates:Array;
private var extensions:Object;
private var lang:String;// = ""
private var region:String;// = ""
private var extended_langs:Array;
public static const STATE_PRIMARY_LANGUAGE:int = 0;
public static const STATE_REGION:int = 3;
public static const STATE_EXTENDED_LANGUAGES:int = 1;
public static const STATE_EXTENSIONS:int = 5;
public static const STATE_SCRIPT:int = 2;
public static const STATE_VARIANTS:int = 4;
public static const STATE_PRIVATES:int = 6;
private function LocaleID(){
extended_langs = [];
variants = [];
extensions = {};
privates = [];
super();
}
public function equals(locale:LocaleID):Boolean{
return ((toString() == locale.toString()));
}
public function canonicalize():void{
var i:String;
for (i in extensions) {
if (extensions.hasOwnProperty(i)){
if (extensions[i].length == 0){
delete extensions[i];
} else {
extensions[i] = extensions[i].sort();
};
};
};
extended_langs = extended_langs.sort();
variants = variants.sort();
privates = privates.sort();
if (script == ""){
script = LocaleRegistry.getScriptByLang(lang);
};
if ((((script == "")) && (!((region == ""))))){
script = LocaleRegistry.getScriptByLangAndRegion(lang, region);
};
if ((((region == "")) && (!((script == ""))))){
region = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script);
};
}
public function toString():String{
var i:String;
var stack:Array = [lang];
appendElements(stack, extended_langs);
if (script != ""){
stack.push(script);
};
if (region != ""){
stack.push(region);
};
appendElements(stack, variants);
for (i in extensions) {
if (extensions.hasOwnProperty(i)){
stack.push(i);
appendElements(stack, extensions[i]);
};
};
if (privates.length > 0){
stack.push("x");
appendElements(stack, privates);
};
return (stack.join("_"));
}
public function isSiblingOf(other:LocaleID):Boolean{
return ((((lang == other.lang)) && ((script == other.script))));
}
public function transformToParent():Boolean{
var i:String;
var lastExtension:Array;
var defaultRegion:String;
if (privates.length > 0){
privates.splice((privates.length - 1), 1);
return (true);
};
var lastExtensionName:String;
for (i in extensions) {
if (extensions.hasOwnProperty(i)){
lastExtensionName = i;
};
};
if (lastExtensionName){
lastExtension = extensions[lastExtensionName];
if (lastExtension.length == 1){
delete extensions[lastExtensionName];
return (true);
};
lastExtension.splice((lastExtension.length - 1), 1);
return (true);
};
if (variants.length > 0){
variants.splice((variants.length - 1), 1);
return (true);
};
if (script != ""){
if (LocaleRegistry.getScriptByLang(lang) != ""){
script = "";
return (true);
};
if (region == ""){
defaultRegion = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script);
if (defaultRegion != ""){
region = defaultRegion;
script = "";
return (true);
};
};
};
if (region != ""){
if (!(((script == "")) && ((LocaleRegistry.getScriptByLang(lang) == "")))){
region = "";
return (true);
};
};
if (extended_langs.length > 0){
extended_langs.splice((extended_langs.length - 1), 1);
return (true);
};
return (false);
}
private static function appendElements(dest:Array, src:Array):void{
var i:uint;
var argc:uint = src.length;
while (i < argc) {
dest.push(src[i]);
i++;
};
}
public static function fromString(str:String):LocaleID{
var last_extension:Array;
var subtag:String;
var subtag_length:int;
var firstChar:String;
var localeID:LocaleID = new (LocaleID);
var state:int = STATE_PRIMARY_LANGUAGE;
var subtags:Array = str.replace(/-/g, "_").split("_");
var i:int;
var l:int = subtags.length;
while (i < l) {
subtag = subtags[i].toLowerCase();
if (state == STATE_PRIMARY_LANGUAGE){
if (subtag == "x"){
localeID.privateLangs = true;
} else {
if (subtag == "i"){
localeID.lang = (localeID.lang + "i-");
} else {
localeID.lang = (localeID.lang + subtag);
state = STATE_EXTENDED_LANGUAGES;
};
};
} else {
subtag_length = subtag.length;
if (subtag_length == 0){
} else {
firstChar = subtag.charAt(0).toLowerCase();
if ((((state <= STATE_EXTENDED_LANGUAGES)) && ((subtag_length == 3)))){
localeID.extended_langs.push(subtag);
if (localeID.extended_langs.length == 3){
state = STATE_SCRIPT;
};
} else {
if ((((state <= STATE_SCRIPT)) && ((subtag_length == 4)))){
localeID.script = subtag;
state = STATE_REGION;
} else {
if ((((state <= STATE_REGION)) && ((((subtag_length == 2)) || ((subtag_length == 3)))))){
localeID.region = subtag;
state = STATE_VARIANTS;
} else {
if ((((state <= STATE_VARIANTS)) && ((((((((firstChar >= "a")) && ((firstChar <= "z")))) && ((subtag_length >= 5)))) || ((((((firstChar >= "0")) && ((firstChar <= "9")))) && ((subtag_length >= 4)))))))){
localeID.variants.push(subtag);
state = STATE_VARIANTS;
} else {
if ((((state < STATE_PRIVATES)) && ((subtag_length == 1)))){
if (subtag == "x"){
state = STATE_PRIVATES;
last_extension = localeID.privates;
} else {
state = STATE_EXTENSIONS;
last_extension = ((localeID.extensions[subtag]) || ([]));
localeID.extensions[subtag] = last_extension;
};
} else {
if (state >= STATE_EXTENSIONS){
last_extension.push(subtag);
};
};
};
};
};
};
};
};
i++;
};
localeID.canonicalize();
return (localeID);
}
}
class LocaleRegistry {
private static const SCRIPT_ID_BY_LANG:Object = {ab:5, af:1, am:2, ar:3, as:4, ay:1, be:5, bg:5, bn:4, bs:1, ca:1, ch:1, cs:1, cy:1, da:1, de:1, dv:6, dz:7, el:8, en:1, eo:1, es:1, et:1, eu:1, fa:3, fi:1, fj:1, fo:1, fr:1, frr:1, fy:1, ga:1, gl:1, gn:1, gu:9, gv:1, he:10, hi:11, hr:1, ht:1, hu:1, hy:12, id:1, in:1, is:1, it:1, iw:10, ja:13, ka:14, kk:5, kl:1, km:15, kn:16, ko:17, la:1, lb:1, ln:1, lo:18, lt:1, lv:1, mg:1, mh:1, mk:5, ml:19, mo:1, mr:11, ms:1, mt:1, my:20, na:1, nb:1, nd:1, ne:11, nl:1, nn:1, no:1, nr:1, ny:1, om:1, or:21, pa:22, pl:1, ps:3, pt:1, qu:1, rn:1, ro:1, ru:5, rw:1, sg:1, si:23, sk:1, sl:1, sm:1, so:1, sq:1, ss:1, st:1, sv:1, sw:1, ta:24, te:25, th:26, ti:2, tl:1, tn:1, to:1, tr:1, ts:1, uk:5, ur:3, ve:1, vi:1, wo:1, xh:1, yi:10, zu:1, cpe:1, dsb:1, frs:1, gsw:1, hsb:1, kok:11, mai:11, men:1, nds:1, niu:1, nqo:27, nso:1, son:1, tem:1, tkl:1, tmh:1, tpi:1, tvl:1, zbl:28};
private static const SCRIPTS:Array = ["", "latn", "ethi", "arab", "beng", "cyrl", "thaa", "tibt", "grek", "gujr", "hebr", "deva", "armn", "jpan", "geor", "khmr", "knda", "kore", "laoo", "mlym", "mymr", "orya", "guru", "sinh", "taml", "telu", "thai", "nkoo", "blis", "hans", "hant", "mong", "syrc"];
private static const DEFAULT_REGION_BY_LANG_AND_SCRIPT:Object = {bg:{5:"bg"}, ca:{1:"es"}, zh:{30:"tw", 29:"cn"}, cs:{1:"cz"}, da:{1:"dk"}, de:{1:"de"}, el:{8:"gr"}, en:{1:"us"}, es:{1:"es"}, fi:{1:"fi"}, fr:{1:"fr"}, he:{10:"il"}, hu:{1:"hu"}, is:{1:"is"}, it:{1:"it"}, ja:{13:"jp"}, ko:{17:"kr"}, nl:{1:"nl"}, nb:{1:"no"}, pl:{1:"pl"}, pt:{1:"br"}, ro:{1:"ro"}, ru:{5:"ru"}, hr:{1:"hr"}, sk:{1:"sk"}, sq:{1:"al"}, sv:{1:"se"}, th:{26:"th"}, tr:{1:"tr"}, ur:{3:"pk"}, id:{1:"id"}, uk:{5:"ua"}, be:{5:"by"}, sl:{1:"si"}, et:{1:"ee"}, lv:{1:"lv"}, lt:{1:"lt"}, fa:{3:"ir"}, vi:{1:"vn"}, hy:{12:"am"}, az:{1:"az", 5:"az"}, eu:{1:"es"}, mk:{5:"mk"}, af:{1:"za"}, ka:{14:"ge"}, fo:{1:"fo"}, hi:{11:"in"}, ms:{1:"my"}, kk:{5:"kz"}, ky:{5:"kg"}, sw:{1:"ke"}, uz:{1:"uz", 5:"uz"}, tt:{5:"ru"}, pa:{22:"in"}, gu:{9:"in"}, ta:{24:"in"}, te:{25:"in"}, kn:{16:"in"}, mr:{11:"in"}, sa:{11:"in"}, mn:{5:"mn"}, gl:{1:"es"}, kok:{11:"in"}, syr:{32:"sy"}, dv:{6:"mv"}, nn:{1:"no"}, sr:{1:"cs", 5:"cs"}, cy:{1:"gb"}, mi:{1:"nz"}, mt:{1:"mt"}, quz:{1:"bo"}, tn:{1:"za"}, xh:{1:"za"}, zu:{1:"za"}, nso:{1:"za"}, se:{1:"no"}, smj:{1:"no"}, sma:{1:"no"}, sms:{1:"fi"}, smn:{1:"fi"}, bs:{1:"ba"}};
private static const SCRIPT_BY_ID:Object = {latn:1, ethi:2, arab:3, beng:4, cyrl:5, thaa:6, tibt:7, grek:8, gujr:9, hebr:10, deva:11, armn:12, jpan:13, geor:14, khmr:15, knda:16, kore:17, laoo:18, mlym:19, mymr:20, orya:21, guru:22, sinh:23, taml:24, telu:25, thai:26, nkoo:27, blis:28, hans:29, hant:30, mong:31, syrc:32};
private static const SCRIPT_ID_BY_LANG_AND_REGION:Object = {zh:{cn:29, sg:29, tw:30, hk:30, mo:30}, mn:{cn:31, sg:5}, pa:{pk:3, in:22}, ha:{gh:1, ne:1}};
private function LocaleRegistry(){
super();
}
public static function getScriptByLangAndRegion(lang:String, region:String):String{
var langRegions:Object = SCRIPT_ID_BY_LANG_AND_REGION[lang];
if (langRegions == null){
return ("");
};
var scriptID:Object = langRegions[region];
if (scriptID == null){
return ("");
};
return (SCRIPTS[int(scriptID)].toLowerCase());
}
public static function getScriptByLang(lang:String):String{
var scriptID:Object = SCRIPT_ID_BY_LANG[lang];
if (scriptID == null){
return ("");
};
return (SCRIPTS[int(scriptID)].toLowerCase());
}
public static function getDefaultRegionForLangAndScript(lang:String, script:String):String{
var langObj:Object = DEFAULT_REGION_BY_LANG_AND_SCRIPT[lang];
var scriptID:Object = SCRIPT_BY_ID[script];
if ((((langObj == null)) || ((scriptID == null)))){
return ("");
};
return (((langObj[int(scriptID)]) || ("")));
}
}
Section 48
//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.6.0.12937";
mx_internal static var backupApplicationDomain:ApplicationDomain;
mx_internal static var locale:String;
public function ResourceBundle(locale:String=null, bundleName:String=null){
_content = {};
super();
mx_internal::_locale = locale;
mx_internal::_bundleName = bundleName;
_content = getContent();
}
protected function getContent():Object{
return ({});
}
public function getString(key:String):String{
return (String(_getObject(key)));
}
public function get content():Object{
return (_content);
}
public function getBoolean(key:String, defaultValue:Boolean=true):Boolean{
var temp:String = _getObject(key).toLowerCase();
if (temp == "false"){
return (false);
};
if (temp == "true"){
return (true);
};
return (defaultValue);
}
public function getStringArray(key:String):Array{
var array:Array = _getObject(key).split(",");
var n:int = array.length;
var i:int;
while (i < n) {
array[i] = StringUtil.trim(array[i]);
i++;
};
return (array);
}
public function getObject(key:String):Object{
return (_getObject(key));
}
private function _getObject(key:String):Object{
var value:Object = content[key];
if (!value){
throw (new Error(((("Key " + key) + " was not found in resource bundle ") + bundleName)));
};
return (value);
}
public function get locale():String{
return (mx_internal::_locale);
}
public function get bundleName():String{
return (mx_internal::_bundleName);
}
public function getNumber(key:String):Number{
return (Number(_getObject(key)));
}
private static function getClassByName(name:String, domain:ApplicationDomain):Class{
var c:Class;
if (domain.hasDefinition(name)){
c = (domain.getDefinition(name) as Class);
};
return (c);
}
public static function getResourceBundle(baseName:String, currentDomain:ApplicationDomain=null):ResourceBundle{
var className:String;
var bundleClass:Class;
var bundleObj:Object;
var bundle:ResourceBundle;
if (!currentDomain){
currentDomain = ApplicationDomain.currentDomain;
};
className = (((mx_internal::locale + "$") + baseName) + "_properties");
bundleClass = getClassByName(className, currentDomain);
if (!bundleClass){
className = (baseName + "_properties");
bundleClass = getClassByName(className, currentDomain);
};
if (!bundleClass){
className = baseName;
bundleClass = getClassByName(className, currentDomain);
};
if (((!(bundleClass)) && (mx_internal::backupApplicationDomain))){
className = (baseName + "_properties");
bundleClass = getClassByName(className, mx_internal::backupApplicationDomain);
if (!bundleClass){
className = baseName;
bundleClass = getClassByName(className, mx_internal::backupApplicationDomain);
};
};
if (bundleClass){
bundleObj = new (bundleClass);
if ((bundleObj is ResourceBundle)){
bundle = ResourceBundle(bundleObj);
return (bundle);
};
};
throw (new Error(("Could not find resource bundle " + baseName)));
}
}
}//package mx.resources
Section 49
//ResourceManager (mx.resources.ResourceManager)
package mx.resources {
import mx.core.*;
public class ResourceManager {
mx_internal static const VERSION:String = "3.6.0.12937";
private static var implClassDependency:ResourceManagerImpl;
private static var instance:IResourceManager;
public function ResourceManager(){
super();
}
public static function getInstance():IResourceManager{
if (!instance){
instance = IResourceManager(Singleton.getInstance("mx.resources::IResourceManager"));
//unresolved jump
var _slot1 = e;
instance = new ResourceManagerImpl();
};
return (instance);
}
}
}//package mx.resources
Section 50
//ResourceManagerImpl (mx.resources.ResourceManagerImpl)
package mx.resources {
import mx.core.*;
import flash.events.*;
import flash.utils.*;
import flash.system.*;
import mx.modules.*;
import mx.events.*;
import mx.utils.*;
public class ResourceManagerImpl extends EventDispatcher implements IResourceManager {
private var resourceModules:Object;
private var initializedForNonFrameworkApp:Boolean;// = false
private var localeMap:Object;
private var _localeChain:Array;
mx_internal static const VERSION:String = "3.6.0.12937";
private static var instance:IResourceManager;
public function ResourceManagerImpl(){
localeMap = {};
resourceModules = {};
super();
}
public function get localeChain():Array{
return (_localeChain);
}
public function set localeChain(value:Array):void{
_localeChain = value;
update();
}
public function getStringArray(bundleName:String, resourceName:String, locale:String=null):Array{
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (null);
};
var value:* = resourceBundle.content[resourceName];
var array:Array = String(value).split(",");
var n:int = array.length;
var i:int;
while (i < n) {
array[i] = StringUtil.trim(array[i]);
i++;
};
return (array);
}
mx_internal function installCompiledResourceBundle(applicationDomain:ApplicationDomain, locale:String, bundleName:String):void{
var packageName:String;
var localName:String = bundleName;
var colonIndex:int = bundleName.indexOf(":");
if (colonIndex != -1){
packageName = bundleName.substring(0, colonIndex);
localName = bundleName.substring((colonIndex + 1));
};
if (getResourceBundle(locale, bundleName)){
return;
};
var resourceBundleClassName = (((locale + "$") + localName) + "_properties");
if (packageName != null){
resourceBundleClassName = ((packageName + ".") + resourceBundleClassName);
};
var bundleClass:Class;
if (applicationDomain.hasDefinition(resourceBundleClassName)){
bundleClass = Class(applicationDomain.getDefinition(resourceBundleClassName));
};
if (!bundleClass){
resourceBundleClassName = bundleName;
if (applicationDomain.hasDefinition(resourceBundleClassName)){
bundleClass = Class(applicationDomain.getDefinition(resourceBundleClassName));
};
};
if (!bundleClass){
resourceBundleClassName = (bundleName + "_properties");
if (applicationDomain.hasDefinition(resourceBundleClassName)){
bundleClass = Class(applicationDomain.getDefinition(resourceBundleClassName));
};
};
if (!bundleClass){
throw (new Error((((("Could not find compiled resource bundle '" + bundleName) + "' for locale '") + locale) + "'.")));
};
var resourceBundle:ResourceBundle = ResourceBundle(new (bundleClass));
resourceBundle.mx_internal::_locale = locale;
resourceBundle.mx_internal::_bundleName = bundleName;
addResourceBundle(resourceBundle);
}
public function getString(bundleName:String, resourceName:String, parameters:Array=null, locale:String=null):String{
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (null);
};
var value:String = String(resourceBundle.content[resourceName]);
if (parameters){
value = StringUtil.substitute(value, parameters);
};
return (value);
}
public function loadResourceModule(url:String, updateFlag:Boolean=true, applicationDomain:ApplicationDomain=null, securityDomain:SecurityDomain=null):IEventDispatcher{
var moduleInfo:IModuleInfo;
var resourceEventDispatcher:ResourceEventDispatcher;
var timer:Timer;
var timerHandler:Function;
var url = url;
var updateFlag = updateFlag;
var applicationDomain = applicationDomain;
var securityDomain = securityDomain;
moduleInfo = ModuleManager.getModule(url);
resourceEventDispatcher = new ResourceEventDispatcher(moduleInfo);
var readyHandler:Function = function (event:ModuleEvent):void{
var resourceModule:* = event.module.factory.create();
resourceModules[event.module.url].resourceModule = resourceModule;
if (updateFlag){
update();
};
};
moduleInfo.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true);
var errorHandler:Function = function (event:ModuleEvent):void{
var resourceEvent:ResourceEvent;
var message:String = ("Unable to load resource module from " + url);
if (resourceEventDispatcher.willTrigger(ResourceEvent.ERROR)){
resourceEvent = new ResourceEvent(ResourceEvent.ERROR, event.bubbles, event.cancelable);
resourceEvent.bytesLoaded = 0;
resourceEvent.bytesTotal = 0;
resourceEvent.errorText = message;
resourceEventDispatcher.dispatchEvent(resourceEvent);
} else {
throw (new Error(message));
};
};
moduleInfo.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true);
resourceModules[url] = new ResourceModuleInfo(moduleInfo, readyHandler, errorHandler);
timer = new Timer(0);
timerHandler = function (event:TimerEvent):void{
timer.removeEventListener(TimerEvent.TIMER, timerHandler);
timer.stop();
moduleInfo.load(applicationDomain, securityDomain);
};
timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true);
timer.start();
return (resourceEventDispatcher);
}
public function getLocales():Array{
var p:String;
var locales:Array = [];
for (p in localeMap) {
locales.push(p);
};
return (locales);
}
public function removeResourceBundlesForLocale(locale:String):void{
delete localeMap[locale];
}
public function getResourceBundle(locale:String, bundleName:String):IResourceBundle{
var bundleMap:Object = localeMap[locale];
if (!bundleMap){
return (null);
};
return (bundleMap[bundleName]);
}
private function dumpResourceModule(resourceModule):void{
var bundle:ResourceBundle;
var p:String;
for each (bundle in resourceModule.resourceBundles) {
trace(bundle.locale, bundle.bundleName);
for (p in bundle.content) {
};
};
}
public function addResourceBundle(resourceBundle:IResourceBundle):void{
var locale:String = resourceBundle.locale;
var bundleName:String = resourceBundle.bundleName;
if (!localeMap[locale]){
localeMap[locale] = {};
};
localeMap[locale][bundleName] = resourceBundle;
}
public function getObject(bundleName:String, resourceName:String, locale:String=null){
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (undefined);
};
return (resourceBundle.content[resourceName]);
}
public function getInt(bundleName:String, resourceName:String, locale:String=null):int{
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (0);
};
var value:* = resourceBundle.content[resourceName];
return (int(value));
}
private function findBundle(bundleName:String, resourceName:String, locale:String):IResourceBundle{
supportNonFrameworkApps();
return (((locale)!=null) ? getResourceBundle(locale, bundleName) : findResourceBundleWithResource(bundleName, resourceName));
}
private function supportNonFrameworkApps():void{
if (initializedForNonFrameworkApp){
return;
};
initializedForNonFrameworkApp = true;
if (getLocales().length > 0){
return;
};
var applicationDomain:ApplicationDomain = ApplicationDomain.currentDomain;
if (!applicationDomain.hasDefinition("_CompiledResourceBundleInfo")){
return;
};
var c:Class = Class(applicationDomain.getDefinition("_CompiledResourceBundleInfo"));
var locales:Array = c.compiledLocales;
var bundleNames:Array = c.compiledResourceBundleNames;
installCompiledResourceBundles(applicationDomain, locales, bundleNames);
localeChain = locales;
}
public function getBundleNamesForLocale(locale:String):Array{
var p:String;
var bundleNames:Array = [];
for (p in localeMap[locale]) {
bundleNames.push(p);
};
return (bundleNames);
}
public function getPreferredLocaleChain():Array{
return (LocaleSorter.sortLocalesByPreference(getLocales(), getSystemPreferredLocales(), null, true));
}
public function getNumber(bundleName:String, resourceName:String, locale:String=null):Number{
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (NaN);
};
var value:* = resourceBundle.content[resourceName];
return (Number(value));
}
public function update():void{
dispatchEvent(new Event(Event.CHANGE));
}
public function getClass(bundleName:String, resourceName:String, locale:String=null):Class{
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (null);
};
var value:* = resourceBundle.content[resourceName];
return ((value as Class));
}
public function removeResourceBundle(locale:String, bundleName:String):void{
delete localeMap[locale][bundleName];
if (getBundleNamesForLocale(locale).length == 0){
delete localeMap[locale];
};
}
public function initializeLocaleChain(compiledLocales:Array):void{
localeChain = LocaleSorter.sortLocalesByPreference(compiledLocales, getSystemPreferredLocales(), null, true);
}
public function findResourceBundleWithResource(bundleName:String, resourceName:String):IResourceBundle{
var locale:String;
var bundleMap:Object;
var bundle:ResourceBundle;
if (!_localeChain){
return (null);
};
var n:int = _localeChain.length;
var i:int;
while (i < n) {
locale = localeChain[i];
bundleMap = localeMap[locale];
if (!bundleMap){
} else {
bundle = bundleMap[bundleName];
if (!bundle){
} else {
if ((resourceName in bundle.content)){
return (bundle);
};
};
};
i++;
};
return (null);
}
public function getUint(bundleName:String, resourceName:String, locale:String=null):uint{
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (0);
};
var value:* = resourceBundle.content[resourceName];
return (uint(value));
}
private function getSystemPreferredLocales():Array{
var systemPreferences:Array;
if (Capabilities["languages"]){
systemPreferences = Capabilities["languages"];
} else {
systemPreferences = [Capabilities.language];
};
return (systemPreferences);
}
public function installCompiledResourceBundles(applicationDomain:ApplicationDomain, locales:Array, bundleNames:Array):void{
var locale:String;
var j:int;
var bundleName:String;
var n:int = (locales) ? locales.length : 0;
var m:int = (bundleNames) ? bundleNames.length : 0;
var i:int;
while (i < n) {
locale = locales[i];
j = 0;
while (j < m) {
bundleName = bundleNames[j];
mx_internal::installCompiledResourceBundle(applicationDomain, locale, bundleName);
j++;
};
i++;
};
}
public function getBoolean(bundleName:String, resourceName:String, locale:String=null):Boolean{
var resourceBundle:IResourceBundle = findBundle(bundleName, resourceName, locale);
if (!resourceBundle){
return (false);
};
var value:* = resourceBundle.content[resourceName];
return ((String(value).toLowerCase() == "true"));
}
public function unloadResourceModule(url:String, update:Boolean=true):void{
var bundles:Array;
var n:int;
var i:int;
var locale:String;
var bundleName:String;
var rmi:ResourceModuleInfo = resourceModules[url];
if (!rmi){
return;
};
if (rmi.resourceModule){
bundles = rmi.resourceModule.resourceBundles;
if (bundles){
n = bundles.length;
i = 0;
while (i < n) {
locale = bundles[i].locale;
bundleName = bundles[i].bundleName;
removeResourceBundle(locale, bundleName);
i++;
};
};
};
resourceModules[url] = null;
delete resourceModules[url];
rmi.moduleInfo.unload();
if (update){
this.update();
};
}
public static function getInstance():IResourceManager{
if (!instance){
instance = new (ResourceManagerImpl);
};
return (instance);
}
}
}//package mx.resources
import flash.events.*;
import mx.modules.*;
import mx.events.*;
class ResourceModuleInfo {
public var resourceModule:IResourceModule;
public var errorHandler:Function;
public var readyHandler:Function;
public var moduleInfo:IModuleInfo;
private function ResourceModuleInfo(moduleInfo:IModuleInfo, readyHandler:Function, errorHandler:Function){
super();
this.moduleInfo = moduleInfo;
this.readyHandler = readyHandler;
this.errorHandler = errorHandler;
}
}
class ResourceEventDispatcher extends EventDispatcher {
private function ResourceEventDispatcher(moduleInfo:IModuleInfo){
super();
moduleInfo.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true);
moduleInfo.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true);
moduleInfo.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true);
}
private function moduleInfo_progressHandler(event:ModuleEvent):void{
var resourceEvent:ResourceEvent = new ResourceEvent(ResourceEvent.PROGRESS, event.bubbles, event.cancelable);
resourceEvent.bytesLoaded = event.bytesLoaded;
resourceEvent.bytesTotal = event.bytesTotal;
dispatchEvent(resourceEvent);
}
private function moduleInfo_readyHandler(event:ModuleEvent):void{
var resourceEvent:ResourceEvent = new ResourceEvent(ResourceEvent.COMPLETE);
dispatchEvent(resourceEvent);
}
private function moduleInfo_errorHandler(event:ModuleEvent):void{
var resourceEvent:ResourceEvent = new ResourceEvent(ResourceEvent.ERROR, event.bubbles, event.cancelable);
resourceEvent.bytesLoaded = event.bytesLoaded;
resourceEvent.bytesTotal = event.bytesTotal;
resourceEvent.errorText = event.errorText;
dispatchEvent(resourceEvent);
}
}
Section 51
//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.6.0.12937";
private static var BORDER_WIDTHS:Object = {none:0, solid:1, inset:2, outset:2, alert:3, dropdown:2, menuBorder:1, comboNonEdit:2};
public function HaloBorder(){
super();
BORDER_WIDTHS["default"] = 3;
}
override public function styleChanged(styleProp:String):void{
if ((((((((((styleProp == null)) || ((styleProp == "styleName")))) || ((styleProp == "borderStyle")))) || ((styleProp == "borderThickness")))) || ((styleProp == "borderSides")))){
_borderMetrics = null;
};
invalidateDisplayList();
}
override protected function updateDisplayList(w:Number, h:Number):void{
if (((isNaN(w)) || (isNaN(h)))){
return;
};
super.updateDisplayList(w, h);
backgroundColor = getBackgroundColor();
bRoundedCorners = false;
backgroundAlphaName = "backgroundAlpha";
backgroundHole = null;
radius = 0;
radiusObj = null;
drawBorder(w, h);
drawBackground(w, h);
}
mx_internal function drawBorder(w:Number, h:Number):void{
var backgroundAlpha:Number;
var borderCapColor:uint;
var borderColor:uint;
var borderSides:String;
var borderThickness:Number;
var buttonColor:uint;
var docked:Boolean;
var dropdownBorderColor:uint;
var fillColors:Array;
var footerColors:Array;
var highlightColor:uint;
var shadowCapColor:uint;
var shadowColor:uint;
var themeColor:uint;
var translucent:Boolean;
var hole:Object;
var borderColorDrk1:Number;
var borderColorDrk2:Number;
var borderColorLt1:Number;
var borderInnerColor:Object;
var contentAlpha:Number;
var br:Number;
var parentContainer:IContainer;
var vm:EdgeMetrics;
var showChrome:Boolean;
var borderAlpha:Number;
var fillAlphas:Array;
var backgroundColorNum:uint;
var bHasAllSides:Boolean;
var holeRadius:Number;
var borderStyle:String = getStyle("borderStyle");
var highlightAlphas:Array = getStyle("highlightAlphas");
var drawTopHighlight:Boolean;
var g:Graphics = graphics;
g.clear();
if (borderStyle){
switch (borderStyle){
case "none":
break;
case "inset":
borderColor = getStyle("borderColor");
borderColorDrk1 = ColorUtil.adjustBrightness2(borderColor, -40);
borderColorDrk2 = ColorUtil.adjustBrightness2(borderColor, 25);
borderColorLt1 = ColorUtil.adjustBrightness2(borderColor, 40);
borderInnerColor = backgroundColor;
if ((((borderInnerColor === null)) || ((borderInnerColor === "")))){
borderInnerColor = borderColor;
};
draw3dBorder(borderColorDrk2, borderColorDrk1, borderColorLt1, Number(borderInnerColor), Number(borderInnerColor), Number(borderInnerColor));
break;
case "outset":
borderColor = getStyle("borderColor");
borderColorDrk1 = ColorUtil.adjustBrightness2(borderColor, -40);
borderColorDrk2 = ColorUtil.adjustBrightness2(borderColor, -25);
borderColorLt1 = ColorUtil.adjustBrightness2(borderColor, 40);
borderInnerColor = backgroundColor;
if ((((borderInnerColor === null)) || ((borderInnerColor === "")))){
borderInnerColor = borderColor;
};
draw3dBorder(borderColorDrk2, borderColorLt1, borderColorDrk1, Number(borderInnerColor), Number(borderInnerColor), Number(borderInnerColor));
break;
case "alert":
case "default":
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
contentAlpha = getStyle("backgroundAlpha");
backgroundAlpha = getStyle("borderAlpha");
backgroundAlphaName = "borderAlpha";
radius = getStyle("cornerRadius");
bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true");
br = (bRoundedCorners) ? radius : 0;
drawDropShadow(0, 0, w, h, radius, radius, br, br);
if (!bRoundedCorners){
radiusObj = {};
};
parentContainer = (parent as IContainer);
if (parentContainer){
vm = parentContainer.viewMetrics;
backgroundHole = {x:vm.left, y:vm.top, w:Math.max(0, ((w - vm.left) - vm.right)), h:Math.max(0, ((h - vm.top) - vm.bottom)), r:0};
if ((((backgroundHole.w > 0)) && ((backgroundHole.h > 0)))){
if (contentAlpha != backgroundAlpha){
drawDropShadow(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h, 0, 0, 0, 0);
};
g.beginFill(Number(backgroundColor), contentAlpha);
g.drawRect(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h);
g.endFill();
};
};
backgroundColor = getStyle("borderColor");
};
break;
case "dropdown":
dropdownBorderColor = getStyle("dropdownBorderColor");
drawDropShadow(0, 0, w, h, 4, 0, 0, 4);
drawRoundRect(0, 0, w, h, {tl:4, tr:0, br:0, bl:4}, 5068126, 1);
drawRoundRect(0, 0, w, h, {tl:4, tr:0, br:0, bl:4}, [0xFFFFFF, 0xFFFFFF], [0.7, 0], verticalGradientMatrix(0, 0, w, h));
drawRoundRect(1, 1, (w - 1), (h - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1);
drawRoundRect(1, 2, (w - 1), (h - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (w - 1), (h - 3)));
if (!isNaN(dropdownBorderColor)){
drawRoundRect(0, 0, (w + 1), h, {tl:4, tr:0, br:0, bl:4}, dropdownBorderColor, 0.5);
drawRoundRect(1, 1, (w - 1), (h - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1);
drawRoundRect(1, 2, (w - 1), (h - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (w - 1), (h - 3)));
};
backgroundColor = null;
break;
case "menuBorder":
borderColor = getStyle("borderColor");
drawRoundRect(0, 0, w, h, 0, borderColor, 1);
drawDropShadow(1, 1, (w - 2), (h - 2), 0, 0, 0, 0);
break;
case "comboNonEdit":
break;
case "controlBar":
if ((((w == 0)) || ((h == 0)))){
backgroundColor = null;
break;
};
footerColors = getStyle("footerColors");
showChrome = !((footerColors == null));
borderAlpha = getStyle("borderAlpha");
if (showChrome){
g.lineStyle(0, ((footerColors.length > 0)) ? footerColors[1] : footerColors[0], borderAlpha);
g.moveTo(0, 0);
g.lineTo(w, 0);
g.lineStyle(0, 0, 0);
if (((((parent) && (parent.parent))) && ((parent.parent is IStyleClient)))){
radius = IStyleClient(parent.parent).getStyle("cornerRadius");
borderAlpha = IStyleClient(parent.parent).getStyle("borderAlpha");
};
if (isNaN(radius)){
radius = 0;
};
if (IStyleClient(parent.parent).getStyle("roundedBottomCorners").toString().toLowerCase() != "true"){
radius = 0;
};
drawRoundRect(0, 1, w, (h - 1), {tl:0, tr:0, bl:radius, br:radius}, footerColors, borderAlpha, verticalGradientMatrix(0, 0, w, h));
if ((((footerColors.length > 1)) && (!((footerColors[0] == footerColors[1]))))){
drawRoundRect(0, 1, w, (h - 1), {tl:0, tr:0, bl:radius, br:radius}, [0xFFFFFF, 0xFFFFFF], highlightAlphas, verticalGradientMatrix(0, 0, w, h));
drawRoundRect(1, 2, (w - 2), (h - 3), {tl:0, tr:0, bl:(radius - 1), br:(radius - 1)}, footerColors, borderAlpha, verticalGradientMatrix(0, 0, w, h));
};
};
backgroundColor = null;
break;
case "applicationControlBar":
fillColors = getStyle("fillColors");
backgroundAlpha = getStyle("backgroundAlpha");
highlightAlphas = getStyle("highlightAlphas");
fillAlphas = getStyle("fillAlphas");
docked = getStyle("docked");
backgroundColorNum = uint(backgroundColor);
radius = getStyle("cornerRadius");
if (!radius){
radius = 0;
};
drawDropShadow(0, 1, w, (h - 1), radius, radius, radius, radius);
if (((!((backgroundColor === null))) && (StyleManager.isValidStyleValue(backgroundColor)))){
drawRoundRect(0, 1, w, (h - 1), radius, backgroundColorNum, backgroundAlpha, verticalGradientMatrix(0, 0, w, h));
};
drawRoundRect(0, 1, w, (h - 1), radius, fillColors, fillAlphas, verticalGradientMatrix(0, 0, w, h));
drawRoundRect(0, 1, w, ((h / 2) - 1), {tl:radius, tr:radius, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], highlightAlphas, verticalGradientMatrix(0, 0, w, ((h / 2) - 1)));
drawRoundRect(0, 1, w, (h - 1), {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, 0.3, null, GradientType.LINEAR, null, {x:0, y:2, w:w, h:(h - 2), r:{tl:radius, tr:radius, bl:0, br:0}});
backgroundColor = null;
break;
default:
borderColor = getStyle("borderColor");
borderThickness = getStyle("borderThickness");
borderSides = getStyle("borderSides");
bHasAllSides = true;
radius = getStyle("cornerRadius");
bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true");
holeRadius = Math.max((radius - borderThickness), 0);
hole = {x:borderThickness, y:borderThickness, w:(w - (borderThickness * 2)), h:(h - (borderThickness * 2)), r:holeRadius};
if (!bRoundedCorners){
radiusObj = {tl:radius, tr:radius, bl:0, br:0};
hole.r = {tl:holeRadius, tr:holeRadius, bl:0, br:0};
};
if (borderSides != "left top right bottom"){
hole.r = {tl:holeRadius, tr:holeRadius, bl:(bRoundedCorners) ? holeRadius : 0, br:(bRoundedCorners) ? holeRadius : 0};
radiusObj = {tl:radius, tr:radius, bl:(bRoundedCorners) ? radius : 0, br:(bRoundedCorners) ? radius : 0};
borderSides = borderSides.toLowerCase();
if (borderSides.indexOf("left") == -1){
hole.x = 0;
hole.w = (hole.w + borderThickness);
hole.r.tl = 0;
hole.r.bl = 0;
radiusObj.tl = 0;
radiusObj.bl = 0;
bHasAllSides = false;
};
if (borderSides.indexOf("top") == -1){
hole.y = 0;
hole.h = (hole.h + borderThickness);
hole.r.tl = 0;
hole.r.tr = 0;
radiusObj.tl = 0;
radiusObj.tr = 0;
bHasAllSides = false;
};
if (borderSides.indexOf("right") == -1){
hole.w = (hole.w + borderThickness);
hole.r.tr = 0;
hole.r.br = 0;
radiusObj.tr = 0;
radiusObj.br = 0;
bHasAllSides = false;
};
if (borderSides.indexOf("bottom") == -1){
hole.h = (hole.h + borderThickness);
hole.r.bl = 0;
hole.r.br = 0;
radiusObj.bl = 0;
radiusObj.br = 0;
bHasAllSides = false;
};
};
if ((((radius == 0)) && (bHasAllSides))){
drawDropShadow(0, 0, w, h, 0, 0, 0, 0);
g.beginFill(borderColor);
g.drawRect(0, 0, w, h);
g.drawRect(borderThickness, borderThickness, (w - (2 * borderThickness)), (h - (2 * borderThickness)));
g.endFill();
} else {
if (radiusObj){
drawDropShadow(0, 0, w, h, radiusObj.tl, radiusObj.tr, radiusObj.br, radiusObj.bl);
drawRoundRect(0, 0, w, h, radiusObj, borderColor, 1, null, null, null, hole);
radiusObj.tl = Math.max((radius - borderThickness), 0);
radiusObj.tr = Math.max((radius - borderThickness), 0);
radiusObj.bl = (bRoundedCorners) ? Math.max((radius - borderThickness), 0) : 0;
radiusObj.br = (bRoundedCorners) ? Math.max((radius - borderThickness), 0) : 0;
} else {
drawDropShadow(0, 0, w, h, radius, radius, radius, radius);
drawRoundRect(0, 0, w, h, radius, borderColor, 1, null, null, null, hole);
radius = Math.max((getStyle("cornerRadius") - borderThickness), 0);
};
};
};
};
}
mx_internal function drawBackground(w:Number, h:Number):void{
var nd:Number;
var alpha:Number;
var bm:EdgeMetrics;
var g:Graphics;
var bottom:Number;
var topRadius:Number;
var bottomRadius:Number;
var highlightAlphas:Array;
var highlightAlpha:Number;
if (((((((!((backgroundColor === null))) && (!((backgroundColor === ""))))) || (getStyle("mouseShield")))) || (getStyle("mouseShieldChildren")))){
nd = Number(backgroundColor);
alpha = 1;
bm = getBackgroundColorMetrics();
g = graphics;
if (((((isNaN(nd)) || ((backgroundColor === "")))) || ((backgroundColor === null)))){
alpha = 0;
nd = 0xFFFFFF;
} else {
alpha = getStyle(backgroundAlphaName);
};
if (((!((radius == 0))) || (backgroundHole))){
bottom = bm.bottom;
if (radiusObj){
topRadius = Math.max((radius - Math.max(bm.top, bm.left, bm.right)), 0);
bottomRadius = (bRoundedCorners) ? Math.max((radius - Math.max(bm.bottom, bm.left, bm.right)), 0) : 0;
radiusObj = {tl:topRadius, tr:topRadius, bl:bottomRadius, br:bottomRadius};
drawRoundRect(bm.left, bm.top, (width - (bm.left + bm.right)), (height - (bm.top + bottom)), radiusObj, nd, alpha, null, GradientType.LINEAR, null, backgroundHole);
} else {
drawRoundRect(bm.left, bm.top, (width - (bm.left + bm.right)), (height - (bm.top + bottom)), radius, nd, alpha, null, GradientType.LINEAR, null, backgroundHole);
};
} else {
g.beginFill(nd, alpha);
g.drawRect(bm.left, bm.top, ((w - bm.right) - bm.left), ((h - bm.bottom) - bm.top));
g.endFill();
};
};
var borderStyle:String = getStyle("borderStyle");
if ((((((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) && ((((borderStyle == "alert")) || ((borderStyle == "default")))))) && ((getStyle("headerColors") == null)))){
highlightAlphas = getStyle("highlightAlphas");
highlightAlpha = (highlightAlphas) ? highlightAlphas[0] : 0.3;
drawRoundRect(0, 0, w, h, {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, highlightAlpha, null, GradientType.LINEAR, null, {x:0, y:1, w:w, h:(h - 1), r:{tl:radius, tr:radius, bl:0, br:0}});
};
}
mx_internal function drawDropShadow(x:Number, y:Number, width:Number, height:Number, tlRadius:Number, trRadius:Number, brRadius:Number, blRadius:Number):void{
var angle:Number;
var docked:Boolean;
if ((((((((getStyle("dropShadowEnabled") == false)) || ((getStyle("dropShadowEnabled") == "false")))) || ((width == 0)))) || ((height == 0)))){
return;
};
var distance:Number = getStyle("shadowDistance");
var direction:String = getStyle("shadowDirection");
if (getStyle("borderStyle") == "applicationControlBar"){
docked = getStyle("docked");
angle = (docked) ? 90 : getDropShadowAngle(distance, direction);
distance = Math.abs(distance);
} else {
angle = getDropShadowAngle(distance, direction);
distance = (Math.abs(distance) + 2);
};
if (!dropShadow){
dropShadow = new RectangularDropShadow();
};
dropShadow.distance = distance;
dropShadow.angle = angle;
dropShadow.color = getStyle("dropShadowColor");
dropShadow.alpha = 0.4;
dropShadow.tlRadius = tlRadius;
dropShadow.trRadius = trRadius;
dropShadow.blRadius = blRadius;
dropShadow.brRadius = brRadius;
dropShadow.drawShadow(graphics, x, y, width, height);
}
mx_internal function getBackgroundColor():Object{
var color:Object;
var p:IUIComponent = (parent as IUIComponent);
if (((p) && (!(p.enabled)))){
color = getStyle("backgroundDisabledColor");
if (((!((color === null))) && (StyleManager.isValidStyleValue(color)))){
return (color);
};
};
return (getStyle("backgroundColor"));
}
mx_internal function draw3dBorder(c1:Number, c2:Number, c3:Number, c4:Number, c5:Number, c6:Number):void{
var w:Number = width;
var h:Number = height;
drawDropShadow(0, 0, width, height, 0, 0, 0, 0);
var g:Graphics = graphics;
g.beginFill(c1);
g.drawRect(0, 0, w, h);
g.drawRect(1, 0, (w - 2), h);
g.endFill();
g.beginFill(c2);
g.drawRect(1, 0, (w - 2), 1);
g.endFill();
g.beginFill(c3);
g.drawRect(1, (h - 1), (w - 2), 1);
g.endFill();
g.beginFill(c4);
g.drawRect(1, 1, (w - 2), 1);
g.endFill();
g.beginFill(c5);
g.drawRect(1, (h - 2), (w - 2), 1);
g.endFill();
g.beginFill(c6);
g.drawRect(1, 2, (w - 2), (h - 4));
g.drawRect(2, 2, (w - 4), (h - 4));
g.endFill();
}
mx_internal function getBackgroundColorMetrics():EdgeMetrics{
return (borderMetrics);
}
mx_internal function getDropShadowAngle(distance:Number, direction:String):Number{
if (direction == "left"){
return (((distance >= 0)) ? 135 : 225);
} else {
if (direction == "right"){
return (((distance >= 0)) ? 45 : 315);
//unresolved jump
};
};
return (!NULL!);
}
override public function get borderMetrics():EdgeMetrics{
var borderThickness:Number;
var borderSides:String;
if (_borderMetrics){
return (_borderMetrics);
};
var borderStyle:String = getStyle("borderStyle");
if ((((borderStyle == "default")) || ((borderStyle == "alert")))){
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
_borderMetrics = new EdgeMetrics(0, 0, 0, 0);
} else {
return (EdgeMetrics.EMPTY);
};
} else {
if ((((borderStyle == "controlBar")) || ((borderStyle == "applicationControlBar")))){
_borderMetrics = new EdgeMetrics(1, 1, 1, 1);
} else {
if (borderStyle == "solid"){
borderThickness = getStyle("borderThickness");
if (isNaN(borderThickness)){
borderThickness = 0;
};
_borderMetrics = new EdgeMetrics(borderThickness, borderThickness, borderThickness, borderThickness);
borderSides = getStyle("borderSides");
if (borderSides != "left top right bottom"){
if (borderSides.indexOf("left") == -1){
_borderMetrics.left = 0;
};
if (borderSides.indexOf("top") == -1){
_borderMetrics.top = 0;
};
if (borderSides.indexOf("right") == -1){
_borderMetrics.right = 0;
};
if (borderSides.indexOf("bottom") == -1){
_borderMetrics.bottom = 0;
};
};
} else {
borderThickness = BORDER_WIDTHS[borderStyle];
if (isNaN(borderThickness)){
borderThickness = 0;
};
_borderMetrics = new EdgeMetrics(borderThickness, borderThickness, borderThickness, borderThickness);
};
};
};
return (_borderMetrics);
}
}
}//package mx.skins.halo
Section 52
//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.6.0.12937";
public function HaloFocusRect(){
super();
}
public function get inheritingStyles():Object{
return (styleName.inheritingStyles);
}
public function set inheritingStyles(value:Object):void{
}
public function notifyStyleChangeInChildren(styleProp:String, recursive:Boolean):void{
}
public function registerEffects(effects:Array):void{
}
public function regenerateStyleCache(recursive:Boolean):void{
}
public function get styleDeclaration():CSSStyleDeclaration{
return (CSSStyleDeclaration(styleName));
}
public function getClassStyleDeclarations():Array{
return ([]);
}
public function get className():String{
return ("HaloFocusRect");
}
public function clearStyle(styleProp:String):void{
if (styleProp == "focusColor"){
_focusColor = NaN;
};
}
public function setStyle(styleProp:String, newValue):void{
if (styleProp == "focusColor"){
_focusColor = newValue;
};
}
public function set nonInheritingStyles(value:Object):void{
}
public function get nonInheritingStyles():Object{
return (styleName.nonInheritingStyles);
}
override protected function updateDisplayList(w:Number, h:Number):void{
var tl:Number;
var bl:Number;
var tr:Number;
var br:Number;
var nr:Number;
var ellipseSize:Number;
super.updateDisplayList(w, h);
var focusBlendMode:String = getStyle("focusBlendMode");
var focusAlpha:Number = getStyle("focusAlpha");
var focusColor:Number = getStyle("focusColor");
var cornerRadius:Number = getStyle("cornerRadius");
var focusThickness:Number = getStyle("focusThickness");
var focusRoundedCorners:String = getStyle("focusRoundedCorners");
var themeColor:Number = getStyle("themeColor");
var rectColor:Number = focusColor;
if (isNaN(rectColor)){
rectColor = themeColor;
};
var g:Graphics = graphics;
g.clear();
if (focusBlendMode){
blendMode = focusBlendMode;
};
if (((!((focusRoundedCorners == "tl tr bl br"))) && ((cornerRadius > 0)))){
tl = 0;
bl = 0;
tr = 0;
br = 0;
nr = (cornerRadius + focusThickness);
if (focusRoundedCorners.indexOf("tl") >= 0){
tl = nr;
};
if (focusRoundedCorners.indexOf("tr") >= 0){
tr = nr;
};
if (focusRoundedCorners.indexOf("bl") >= 0){
bl = nr;
};
if (focusRoundedCorners.indexOf("br") >= 0){
br = nr;
};
g.beginFill(rectColor, focusAlpha);
GraphicsUtil.drawRoundRectComplex(g, 0, 0, w, h, tl, tr, bl, br);
tl = (tl) ? cornerRadius : 0;
tr = (tr) ? cornerRadius : 0;
bl = (bl) ? cornerRadius : 0;
br = (br) ? cornerRadius : 0;
GraphicsUtil.drawRoundRectComplex(g, focusThickness, focusThickness, (w - (2 * focusThickness)), (h - (2 * focusThickness)), tl, tr, bl, br);
g.endFill();
nr = (cornerRadius + (focusThickness / 2));
tl = (tl) ? nr : 0;
tr = (tr) ? nr : 0;
bl = (bl) ? nr : 0;
br = (br) ? nr : 0;
g.beginFill(rectColor, focusAlpha);
GraphicsUtil.drawRoundRectComplex(g, (focusThickness / 2), (focusThickness / 2), (w - focusThickness), (h - focusThickness), tl, tr, bl, br);
tl = (tl) ? cornerRadius : 0;
tr = (tr) ? cornerRadius : 0;
bl = (bl) ? cornerRadius : 0;
br = (br) ? cornerRadius : 0;
GraphicsUtil.drawRoundRectComplex(g, focusThickness, focusThickness, (w - (2 * focusThickness)), (h - (2 * focusThickness)), tl, tr, bl, br);
g.endFill();
} else {
g.beginFill(rectColor, focusAlpha);
ellipseSize = (((cornerRadius > 0)) ? (cornerRadius + focusThickness) : 0 * 2);
g.drawRoundRect(0, 0, w, h, ellipseSize, ellipseSize);
ellipseSize = (cornerRadius * 2);
g.drawRoundRect(focusThickness, focusThickness, (w - (2 * focusThickness)), (h - (2 * focusThickness)), ellipseSize, ellipseSize);
g.endFill();
g.beginFill(rectColor, focusAlpha);
ellipseSize = (((cornerRadius > 0)) ? (cornerRadius + (focusThickness / 2)) : 0 * 2);
g.drawRoundRect((focusThickness / 2), (focusThickness / 2), (w - focusThickness), (h - focusThickness), ellipseSize, ellipseSize);
ellipseSize = (cornerRadius * 2);
g.drawRoundRect(focusThickness, focusThickness, (w - (2 * focusThickness)), (h - (2 * focusThickness)), ellipseSize, ellipseSize);
g.endFill();
};
}
override public function getStyle(styleProp:String){
return (((styleProp == "focusColor")) ? _focusColor : super.getStyle(styleProp));
}
public function set styleDeclaration(value:CSSStyleDeclaration):void{
}
}
}//package mx.skins.halo
Section 53
//Border (mx.skins.Border)
package mx.skins {
import mx.core.*;
public class Border extends ProgrammaticSkin implements IBorder {
mx_internal static const VERSION:String = "3.6.0.12937";
public function Border(){
super();
}
public function get borderMetrics():EdgeMetrics{
return (EdgeMetrics.EMPTY);
}
}
}//package mx.skins
Section 54
//ProgrammaticSkin (mx.skins.ProgrammaticSkin)
package mx.skins {
import mx.core.*;
import flash.display.*;
import mx.styles.*;
import flash.geom.*;
import mx.managers.*;
import mx.utils.*;
public class ProgrammaticSkin extends FlexShape implements IFlexDisplayObject, IInvalidating, ILayoutManagerClient, ISimpleStyleClient, IProgrammaticSkin {
private var _initialized:Boolean;// = false
private var _height:Number;
private var invalidateDisplayListFlag:Boolean;// = false
private var _styleName:IStyleClient;
private var _nestLevel:int;// = 0
private var _processedDescriptors:Boolean;// = false
private var _updateCompletePendingFlag:Boolean;// = true
private var _width:Number;
mx_internal static const VERSION:String = "3.6.0.12937";
private static var tempMatrix:Matrix = new Matrix();
public function ProgrammaticSkin(){
super();
_width = measuredWidth;
_height = measuredHeight;
}
public function getStyle(styleProp:String){
return ((_styleName) ? _styleName.getStyle(styleProp) : null);
}
protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
}
public function get nestLevel():int{
return (_nestLevel);
}
public function set nestLevel(value:int):void{
_nestLevel = value;
invalidateDisplayList();
}
override public function get height():Number{
return (_height);
}
public function get updateCompletePendingFlag():Boolean{
return (_updateCompletePendingFlag);
}
protected function verticalGradientMatrix(x:Number, y:Number, width:Number, height:Number):Matrix{
return (rotatedGradientMatrix(x, y, width, height, 90));
}
public function validateSize(recursive:Boolean=false):void{
}
public function invalidateDisplayList():void{
if (((!(invalidateDisplayListFlag)) && ((nestLevel > 0)))){
invalidateDisplayListFlag = true;
UIComponentGlobals.layoutManager.invalidateDisplayList(this);
};
}
public function set updateCompletePendingFlag(value:Boolean):void{
_updateCompletePendingFlag = value;
}
protected function horizontalGradientMatrix(x:Number, y:Number, width:Number, height:Number):Matrix{
return (rotatedGradientMatrix(x, y, width, height, 0));
}
override public function set height(value:Number):void{
_height = value;
invalidateDisplayList();
}
public function set processedDescriptors(value:Boolean):void{
_processedDescriptors = value;
}
public function validateDisplayList():void{
invalidateDisplayListFlag = false;
updateDisplayList(width, height);
}
public function get measuredWidth():Number{
return (0);
}
override public function set width(value:Number):void{
_width = value;
invalidateDisplayList();
}
public function get measuredHeight():Number{
return (0);
}
public function set initialized(value:Boolean):void{
_initialized = value;
}
protected function drawRoundRect(x:Number, y:Number, width:Number, height:Number, cornerRadius:Object=null, color:Object=null, alpha:Object=null, gradientMatrix:Matrix=null, gradientType:String="linear", gradientRatios:Array=null, hole:Object=null):void{
var ellipseSize:Number;
var alphas:Array;
var holeR:Object;
var g:Graphics = graphics;
if ((((width == 0)) || ((height == 0)))){
return;
};
if (color !== null){
if ((color is uint)){
g.beginFill(uint(color), Number(alpha));
} else {
if ((color is Array)){
alphas = ((alpha is Array)) ? (alpha as Array) : [alpha, alpha];
if (!gradientRatios){
gradientRatios = [0, 0xFF];
};
g.beginGradientFill(gradientType, (color as Array), alphas, gradientRatios, gradientMatrix);
};
};
};
if (!cornerRadius){
g.drawRect(x, y, width, height);
} else {
if ((cornerRadius is Number)){
ellipseSize = (Number(cornerRadius) * 2);
g.drawRoundRect(x, y, width, height, ellipseSize, ellipseSize);
} else {
GraphicsUtil.drawRoundRectComplex(g, x, y, width, height, cornerRadius.tl, cornerRadius.tr, cornerRadius.bl, cornerRadius.br);
};
};
if (hole){
holeR = hole.r;
if ((holeR is Number)){
ellipseSize = (Number(holeR) * 2);
g.drawRoundRect(hole.x, hole.y, hole.w, hole.h, ellipseSize, ellipseSize);
} else {
GraphicsUtil.drawRoundRectComplex(g, hole.x, hole.y, hole.w, hole.h, holeR.tl, holeR.tr, holeR.bl, holeR.br);
};
};
if (color !== null){
g.endFill();
};
}
public function get processedDescriptors():Boolean{
return (_processedDescriptors);
}
public function set styleName(value:Object):void{
if (_styleName != value){
_styleName = (value as IStyleClient);
invalidateDisplayList();
};
}
public function setActualSize(newWidth:Number, newHeight:Number):void{
var changed:Boolean;
if (_width != newWidth){
_width = newWidth;
changed = true;
};
if (_height != newHeight){
_height = newHeight;
changed = true;
};
if (changed){
invalidateDisplayList();
};
}
public function styleChanged(styleProp:String):void{
invalidateDisplayList();
}
override public function get width():Number{
return (_width);
}
public function invalidateProperties():void{
}
public function get initialized():Boolean{
return (_initialized);
}
protected function rotatedGradientMatrix(x:Number, y:Number, width:Number, height:Number, rotation:Number):Matrix{
tempMatrix.createGradientBox(width, height, ((rotation * Math.PI) / 180), x, y);
return (tempMatrix);
}
public function move(x:Number, y:Number):void{
this.x = x;
this.y = y;
}
public function get styleName():Object{
return (_styleName);
}
public function validateNow():void{
if (invalidateDisplayListFlag){
validateDisplayList();
};
}
public function invalidateSize():void{
}
public function validateProperties():void{
}
}
}//package mx.skins
Section 55
//RectangularBorder (mx.skins.RectangularBorder)
package mx.skins {
import mx.core.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import mx.styles.*;
import flash.system.*;
import flash.geom.*;
import mx.resources.*;
import flash.net.*;
public class RectangularBorder extends Border implements IRectangularBorder {
private var backgroundImage:DisplayObject;
private var backgroundImageHeight:Number;
private var _backgroundImageBounds:Rectangle;
private var backgroundImageStyle:Object;
private var backgroundImageWidth:Number;
private var resourceManager:IResourceManager;
mx_internal static const VERSION:String = "3.6.0.12937";
public function RectangularBorder(){
resourceManager = ResourceManager.getInstance();
super();
addEventListener(Event.REMOVED, removedHandler);
}
public function layoutBackgroundImage():void{
var sW:Number;
var sH:Number;
var sX:Number;
var sY:Number;
var scale:Number;
var g:Graphics;
var p:DisplayObject = parent;
var bm:EdgeMetrics = ((p is IContainer)) ? IContainer(p).viewMetrics : borderMetrics;
var scrollableBk = !((getStyle("backgroundAttachment") == "fixed"));
if (_backgroundImageBounds){
sW = _backgroundImageBounds.width;
sH = _backgroundImageBounds.height;
} else {
sW = ((width - bm.left) - bm.right);
sH = ((height - bm.top) - bm.bottom);
};
var percentage:Number = getBackgroundSize();
if (isNaN(percentage)){
sX = 1;
sY = 1;
} else {
scale = (percentage * 0.01);
sX = ((scale * sW) / backgroundImageWidth);
sY = ((scale * sH) / backgroundImageHeight);
};
backgroundImage.scaleX = sX;
backgroundImage.scaleY = sY;
var offsetX:Number = Math.round((0.5 * (sW - (backgroundImageWidth * sX))));
var offsetY:Number = Math.round((0.5 * (sH - (backgroundImageHeight * sY))));
backgroundImage.x = bm.left;
backgroundImage.y = bm.top;
var backgroundMask:Shape = Shape(backgroundImage.mask);
backgroundMask.x = bm.left;
backgroundMask.y = bm.top;
if (((scrollableBk) && ((p is IContainer)))){
offsetX = (offsetX - IContainer(p).horizontalScrollPosition);
offsetY = (offsetY - IContainer(p).verticalScrollPosition);
};
backgroundImage.alpha = getStyle("backgroundAlpha");
backgroundImage.x = (backgroundImage.x + offsetX);
backgroundImage.y = (backgroundImage.y + offsetY);
var maskWidth:Number = ((width - bm.left) - bm.right);
var maskHeight:Number = ((height - bm.top) - bm.bottom);
if (((!((backgroundMask.width == maskWidth))) || (!((backgroundMask.height == maskHeight))))){
g = backgroundMask.graphics;
g.clear();
g.beginFill(0xFFFFFF);
g.drawRect(0, 0, maskWidth, maskHeight);
g.endFill();
};
}
public function set backgroundImageBounds(value:Rectangle):void{
if (((((_backgroundImageBounds) && (value))) && (_backgroundImageBounds.equals(value)))){
return;
};
_backgroundImageBounds = value;
invalidateDisplayList();
}
private function getBackgroundSize():Number{
var index:int;
var percentage:Number = NaN;
var backgroundSize:Object = getStyle("backgroundSize");
if (((backgroundSize) && ((backgroundSize is String)))){
index = backgroundSize.indexOf("%");
if (index != -1){
percentage = Number(backgroundSize.substr(0, index));
};
};
return (percentage);
}
private function removedHandler(event:Event):void{
var childrenList:IChildList;
if (backgroundImage){
childrenList = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent);
childrenList.removeChild(backgroundImage.mask);
childrenList.removeChild(backgroundImage);
backgroundImage = null;
};
}
private function initBackgroundImage(image:DisplayObject):void{
backgroundImage = image;
if ((image is Loader)){
backgroundImageWidth = Loader(image).contentLoaderInfo.width;
backgroundImageHeight = Loader(image).contentLoaderInfo.height;
} else {
backgroundImageWidth = backgroundImage.width;
backgroundImageHeight = backgroundImage.height;
if ((image is ISimpleStyleClient)){
ISimpleStyleClient(image).styleName = styleName;
};
};
var childrenList:IChildList = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent);
var backgroundMask:Shape = new FlexShape();
backgroundMask.name = "backgroundMask";
backgroundMask.x = 0;
backgroundMask.y = 0;
childrenList.addChild(backgroundMask);
var myIndex:int = childrenList.getChildIndex(this);
childrenList.addChildAt(backgroundImage, (myIndex + 1));
backgroundImage.mask = backgroundMask;
}
public function get backgroundImageBounds():Rectangle{
return (_backgroundImageBounds);
}
public function get hasBackgroundImage():Boolean{
return (!((backgroundImage == null)));
}
private function completeEventHandler(event:Event):void{
if (!parent){
return;
};
var target:DisplayObject = DisplayObject(LoaderInfo(event.target).loader);
initBackgroundImage(target);
layoutBackgroundImage();
dispatchEvent(event.clone());
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
var cls:Class;
var newStyleObj:DisplayObject;
var loader:Loader;
var loaderContext:LoaderContext;
var message:String;
var unscaledWidth = unscaledWidth;
var unscaledHeight = unscaledHeight;
if (!parent){
return;
};
var newStyle:Object = getStyle("backgroundImage");
if (newStyle != backgroundImageStyle){
removedHandler(null);
backgroundImageStyle = newStyle;
if (((newStyle) && ((newStyle as Class)))){
cls = Class(newStyle);
initBackgroundImage(new (cls));
} else {
if (((newStyle) && ((newStyle is String)))){
cls = Class(getDefinitionByName(String(newStyle)));
//unresolved jump
var _slot1 = e;
if (cls){
newStyleObj = new (cls);
initBackgroundImage(newStyleObj);
} else {
loader = new FlexLoader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeEventHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorEventHandler);
loader.contentLoaderInfo.addEventListener(ErrorEvent.ERROR, errorEventHandler);
loaderContext = new LoaderContext();
loaderContext.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
loader.load(new URLRequest(String(newStyle)), loaderContext);
};
} else {
if (newStyle){
message = resourceManager.getString("skins", "notLoaded", [newStyle]);
throw (new Error(message));
};
};
};
};
if (backgroundImage){
layoutBackgroundImage();
};
}
private function errorEventHandler(event:Event):void{
}
}
}//package mx.skins
Section 56
//CSSStyleDeclaration (mx.styles.CSSStyleDeclaration)
package mx.styles {
import mx.core.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import mx.managers.*;
public class CSSStyleDeclaration extends EventDispatcher {
mx_internal var effects:Array;
protected var overrides:Object;
public var defaultFactory:Function;
public var factory:Function;
mx_internal var selectorRefCount:int;// = 0
private var styleManager:IStyleManager2;
private var clones:Dictionary;
mx_internal static const VERSION:String = "3.6.0.12937";
private static const NOT_A_COLOR:uint = 4294967295;
private static const FILTERMAP_PROP:String = "__reserved__filterMap";
public function CSSStyleDeclaration(selector:String=null){
clones = new Dictionary(true);
super();
if (selector){
styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2);
styleManager.setStyleDeclaration(selector, this, false);
};
}
mx_internal function addStyleToProtoChain(chain:Object, target:DisplayObject, filterMap:Object=null):Object{
var p:String;
var emptyObjectFactory:Function;
var filteredChain:Object;
var filterObjectFactory:Function;
var i:String;
var chain = chain;
var target = target;
var filterMap = filterMap;
var nodeAddedToChain:Boolean;
var originalChain:Object = chain;
if (filterMap){
chain = {};
};
if (defaultFactory != null){
defaultFactory.prototype = chain;
chain = new defaultFactory();
nodeAddedToChain = true;
};
if (factory != null){
factory.prototype = chain;
chain = new factory();
nodeAddedToChain = true;
};
if (overrides){
if ((((defaultFactory == null)) && ((factory == null)))){
emptyObjectFactory = function ():void{
};
emptyObjectFactory.prototype = chain;
chain = new (emptyObjectFactory);
nodeAddedToChain = true;
};
for (p in overrides) {
if (overrides[p] === undefined){
delete chain[p];
} else {
chain[p] = overrides[p];
};
};
};
if (filterMap){
if (nodeAddedToChain){
filteredChain = {};
filterObjectFactory = function ():void{
};
filterObjectFactory.prototype = originalChain;
filteredChain = new (filterObjectFactory);
for (i in chain) {
if (filterMap[i] != null){
filteredChain[filterMap[i]] = chain[i];
};
};
chain = filteredChain;
chain[FILTERMAP_PROP] = filterMap;
} else {
chain = originalChain;
};
};
if (nodeAddedToChain){
clones[chain] = 1;
};
return (chain);
}
public function getStyle(styleProp:String){
var o:*;
var v:*;
if (overrides){
if ((((styleProp in overrides)) && ((overrides[styleProp] === undefined)))){
return (undefined);
};
v = overrides[styleProp];
if (v !== undefined){
return (v);
};
};
if (factory != null){
factory.prototype = {};
o = new factory();
v = o[styleProp];
if (v !== undefined){
return (v);
};
};
if (defaultFactory != null){
defaultFactory.prototype = {};
o = new defaultFactory();
v = o[styleProp];
if (v !== undefined){
return (v);
};
};
return (undefined);
}
public function clearStyle(styleProp:String):void{
setStyle(styleProp, undefined);
}
public function setStyle(styleProp:String, newValue):void{
var i:int;
var sm:Object;
var oldValue:Object = getStyle(styleProp);
var regenerate:Boolean;
if ((((((((((selectorRefCount > 0)) && ((factory == null)))) && ((defaultFactory == null)))) && (!(overrides)))) && (!((oldValue === newValue))))){
regenerate = true;
};
if (newValue !== undefined){
setStyle(styleProp, newValue);
} else {
if (newValue == oldValue){
return;
};
setStyle(styleProp, newValue);
};
var sms:Array = SystemManagerGlobals.topLevelSystemManagers;
var n:int = sms.length;
if (regenerate){
i = 0;
while (i < n) {
sm = sms[i];
sm.regenerateStyleCache(true);
i++;
};
};
i = 0;
while (i < n) {
sm = sms[i];
sm.notifyStyleChangeInChildren(styleProp, true);
i++;
};
}
private function clearStyleAttr(styleProp:String):void{
var clone:*;
if (!overrides){
overrides = {};
};
overrides[styleProp] = undefined;
for (clone in clones) {
delete clone[styleProp];
};
}
mx_internal function createProtoChainRoot():Object{
var root:Object = {};
if (defaultFactory != null){
defaultFactory.prototype = root;
root = new defaultFactory();
};
if (factory != null){
factory.prototype = root;
root = new factory();
};
clones[root] = 1;
return (root);
}
mx_internal function clearOverride(styleProp:String):void{
if (((overrides) && (overrides[styleProp]))){
delete overrides[styleProp];
};
}
mx_internal function setStyle(styleProp:String, value):void{
var o:Object;
var clone:*;
var colorNumber:Number;
var cloneFilter:Object;
if (value === undefined){
clearStyleAttr(styleProp);
return;
};
if ((value is String)){
if (!styleManager){
styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2);
};
colorNumber = styleManager.getColorName(value);
if (colorNumber != NOT_A_COLOR){
value = colorNumber;
};
};
if (defaultFactory != null){
o = new defaultFactory();
if (o[styleProp] !== value){
if (!overrides){
overrides = {};
};
overrides[styleProp] = value;
} else {
if (overrides){
delete overrides[styleProp];
};
};
};
if (factory != null){
o = new factory();
if (o[styleProp] !== value){
if (!overrides){
overrides = {};
};
overrides[styleProp] = value;
} else {
if (overrides){
delete overrides[styleProp];
};
};
};
if ((((defaultFactory == null)) && ((factory == null)))){
if (!overrides){
overrides = {};
};
overrides[styleProp] = value;
};
for (clone in clones) {
cloneFilter = clone[FILTERMAP_PROP];
if (cloneFilter){
if (cloneFilter[styleProp] != null){
clone[cloneFilter[styleProp]] = value;
};
} else {
clone[styleProp] = value;
};
};
}
}
}//package mx.styles
Section 57
//ISimpleStyleClient (mx.styles.ISimpleStyleClient)
package mx.styles {
public interface ISimpleStyleClient {
function set styleName(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;ISimpleStyleClient.as:Object):void;
function styleChanged(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;ISimpleStyleClient.as:String):void;
function get styleName():Object;
}
}//package mx.styles
Section 58
//IStyleClient (mx.styles.IStyleClient)
package mx.styles {
public interface IStyleClient extends ISimpleStyleClient {
function regenerateStyleCache(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:Boolean):void;
function get className():String;
function clearStyle(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:String):void;
function getClassStyleDeclarations():Array;
function get inheritingStyles():Object;
function set nonInheritingStyles(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:Object):void;
function setStyle(_arg1:String, _arg2):void;
function get styleDeclaration():CSSStyleDeclaration;
function set styleDeclaration(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:CSSStyleDeclaration):void;
function get nonInheritingStyles():Object;
function set inheritingStyles(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:Object):void;
function getStyle(*:String);
function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void;
function registerEffects(mx.styles:IStyleClient/mx.styles:IStyleClient:className/get:Array):void;
}
}//package mx.styles
Section 59
//IStyleManager (mx.styles.IStyleManager)
package mx.styles {
import flash.events.*;
public interface IStyleManager {
function isColorName(value:String):Boolean;
function registerParentDisplayListInvalidatingStyle(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;IStyleManager.as:String):void;
function registerInheritingStyle(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;IStyleManager.as:String):void;
function set stylesRoot(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;IStyleManager.as:Object):void;
function get typeSelectorCache():Object;
function styleDeclarationsChanged():void;
function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void;
function isParentDisplayListInvalidatingStyle(value:String):Boolean;
function isSizeInvalidatingStyle(value:String):Boolean;
function get inheritingStyles():Object;
function isValidStyleValue(value):Boolean;
function isParentSizeInvalidatingStyle(value:String):Boolean;
function getColorName(mx.styles:IStyleManager/mx.styles:IStyleManager:inheritingStyles/set:Object):uint;
function set typeSelectorCache(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;IStyleManager.as:Object):void;
function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void;
function getColorNames(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;IStyleManager.as:Array):void;
function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher;
function isInheritingStyle(value:String):Boolean;
function set inheritingStyles(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;IStyleManager.as:Object):void;
function get stylesRoot():Object;
function initProtoChainRoots():void;
function registerColorName(_arg1:String, _arg2:uint):void;
function registerParentSizeInvalidatingStyle(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;IStyleManager.as:String):void;
function registerSizeInvalidatingStyle(C:\autobuild\3.x\frameworks\projects\framework\src;mx\styles;IStyleManager.as:String):void;
function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void;
function isInheritingTextFormatStyle(value:String):Boolean;
function getStyleDeclaration(mx.styles:IStyleManager/mx.styles:IStyleManager:inheritingStyles/get:String):CSSStyleDeclaration;
}
}//package mx.styles
Section 60
//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 61
//IStyleModule (mx.styles.IStyleModule)
package mx.styles {
public interface IStyleModule {
function unload():void;
}
}//package mx.styles
Section 62
//StyleManager (mx.styles.StyleManager)
package mx.styles {
import mx.core.*;
import flash.events.*;
import flash.system.*;
public class StyleManager {
mx_internal static const VERSION:String = "3.6.0.12937";
public static const NOT_A_COLOR:uint = 4294967295;
private static var _impl:IStyleManager2;
private static var implClassDependency:StyleManagerImpl;
public function StyleManager(){
super();
}
public static function isParentSizeInvalidatingStyle(styleName:String):Boolean{
return (impl.isParentSizeInvalidatingStyle(styleName));
}
public static function registerInheritingStyle(styleName:String):void{
impl.registerInheritingStyle(styleName);
}
mx_internal static function set stylesRoot(value:Object):void{
impl.stylesRoot = value;
}
mx_internal static function get inheritingStyles():Object{
return (impl.inheritingStyles);
}
mx_internal static function styleDeclarationsChanged():void{
impl.styleDeclarationsChanged();
}
public static function setStyleDeclaration(selector:String, styleDeclaration:CSSStyleDeclaration, update:Boolean):void{
impl.setStyleDeclaration(selector, styleDeclaration, update);
}
public static function registerParentDisplayListInvalidatingStyle(styleName:String):void{
impl.registerParentDisplayListInvalidatingStyle(styleName);
}
mx_internal static function get typeSelectorCache():Object{
return (impl.typeSelectorCache);
}
mx_internal static function set inheritingStyles(value:Object):void{
impl.inheritingStyles = value;
}
public static function isColorName(colorName:String):Boolean{
return (impl.isColorName(colorName));
}
public static function isParentDisplayListInvalidatingStyle(styleName:String):Boolean{
return (impl.isParentDisplayListInvalidatingStyle(styleName));
}
public static function isSizeInvalidatingStyle(styleName:String):Boolean{
return (impl.isSizeInvalidatingStyle(styleName));
}
public static function getColorName(colorName:Object):uint{
return (impl.getColorName(colorName));
}
mx_internal static function set typeSelectorCache(value:Object):void{
impl.typeSelectorCache = value;
}
public static function unloadStyleDeclarations(url:String, update:Boolean=true):void{
impl.unloadStyleDeclarations(url, update);
}
public static function getColorNames(colors:Array):void{
impl.getColorNames(colors);
}
public static function loadStyleDeclarations(url:String, update:Boolean=true, trustContent:Boolean=false, applicationDomain:ApplicationDomain=null, securityDomain:SecurityDomain=null):IEventDispatcher{
return (impl.loadStyleDeclarations2(url, update, applicationDomain, securityDomain));
}
private static function get impl():IStyleManager2{
if (!_impl){
_impl = IStyleManager2(Singleton.getInstance("mx.styles::IStyleManager2"));
};
return (_impl);
}
public static function isValidStyleValue(value):Boolean{
return (impl.isValidStyleValue(value));
}
mx_internal static function get stylesRoot():Object{
return (impl.stylesRoot);
}
public static function isInheritingStyle(styleName:String):Boolean{
return (impl.isInheritingStyle(styleName));
}
mx_internal static function initProtoChainRoots():void{
impl.initProtoChainRoots();
}
public static function registerParentSizeInvalidatingStyle(styleName:String):void{
impl.registerParentSizeInvalidatingStyle(styleName);
}
public static function get selectors():Array{
return (impl.selectors);
}
public static function registerSizeInvalidatingStyle(styleName:String):void{
impl.registerSizeInvalidatingStyle(styleName);
}
public static function clearStyleDeclaration(selector:String, update:Boolean):void{
impl.clearStyleDeclaration(selector, update);
}
public static function registerColorName(colorName:String, colorValue:uint):void{
impl.registerColorName(colorName, colorValue);
}
public static function isInheritingTextFormatStyle(styleName:String):Boolean{
return (impl.isInheritingTextFormatStyle(styleName));
}
public static function getStyleDeclaration(selector:String):CSSStyleDeclaration{
return (impl.getStyleDeclaration(selector));
}
}
}//package mx.styles
Section 63
//StyleManagerImpl (mx.styles.StyleManagerImpl)
package mx.styles {
import mx.core.*;
import flash.events.*;
import flash.utils.*;
import flash.system.*;
import mx.modules.*;
import mx.events.*;
import mx.resources.*;
import mx.managers.*;
public class StyleManagerImpl implements IStyleManager2 {
private var _stylesRoot:Object;
private var _selectors:Object;
private var styleModules:Object;
private var _inheritingStyles:Object;
private var resourceManager:IResourceManager;
private var _typeSelectorCache:Object;
mx_internal static const VERSION:String = "3.6.0.12937";
private static var parentSizeInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true};
private static var colorNames:Object = {transparent:"transparent", black:0, blue:0xFF, green:0x8000, gray:0x808080, silver:0xC0C0C0, lime:0xFF00, olive:0x808000, white:0xFFFFFF, yellow:0xFFFF00, maroon:0x800000, navy:128, red:0xFF0000, purple:0x800080, teal:0x8080, fuchsia:0xFF00FF, aqua:0xFFFF, magenta:0xFF00FF, cyan:0xFFFF, halogreen:8453965, haloblue:40447, haloorange:0xFFB600, halosilver:11455193};
private static var inheritingTextFormatStyles:Object = {align:true, bold:true, color:true, font:true, indent:true, italic:true, size:true};
private static var instance:IStyleManager2;
private static var parentDisplayListInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true};
private static var sizeInvalidatingStyles:Object = {borderStyle:true, borderThickness:true, fontAntiAliasType:true, fontFamily:true, fontGridFitType:true, fontSharpness:true, fontSize:true, fontStyle:true, fontThickness:true, fontWeight:true, headerHeight:true, horizontalAlign:true, horizontalGap:true, kerning:true, leading:true, letterSpacing:true, paddingBottom:true, paddingLeft:true, paddingRight:true, paddingTop:true, strokeWidth:true, tabHeight:true, tabWidth:true, verticalAlign:true, verticalGap:true};
public function StyleManagerImpl(){
_selectors = {};
styleModules = {};
resourceManager = ResourceManager.getInstance();
_inheritingStyles = {};
_typeSelectorCache = {};
super();
}
public function setStyleDeclaration(selector:String, styleDeclaration:CSSStyleDeclaration, update:Boolean):void{
styleDeclaration.selectorRefCount++;
_selectors[selector] = styleDeclaration;
typeSelectorCache = {};
if (update){
styleDeclarationsChanged();
};
}
public function registerParentDisplayListInvalidatingStyle(styleName:String):void{
parentDisplayListInvalidatingStyles[styleName] = true;
}
public function getStyleDeclaration(selector:String):CSSStyleDeclaration{
var index:int;
if (selector.charAt(0) != "."){
index = selector.lastIndexOf(".");
if (index != -1){
selector = selector.substr((index + 1));
};
};
return (_selectors[selector]);
}
public function set typeSelectorCache(value:Object):void{
_typeSelectorCache = value;
}
public function isColorName(colorName:String):Boolean{
return (!((colorNames[colorName.toLowerCase()] === undefined)));
}
public function set inheritingStyles(value:Object):void{
_inheritingStyles = value;
}
public function getColorNames(colors:Array):void{
var colorNumber:uint;
if (!colors){
return;
};
var n:int = colors.length;
var i:int;
while (i < n) {
if (((!((colors[i] == null))) && (isNaN(colors[i])))){
colorNumber = getColorName(colors[i]);
if (colorNumber != StyleManager.NOT_A_COLOR){
colors[i] = colorNumber;
};
};
i++;
};
}
public function isInheritingTextFormatStyle(styleName:String):Boolean{
return ((inheritingTextFormatStyles[styleName] == true));
}
public function registerParentSizeInvalidatingStyle(styleName:String):void{
parentSizeInvalidatingStyles[styleName] = true;
}
public function registerColorName(colorName:String, colorValue:uint):void{
colorNames[colorName.toLowerCase()] = colorValue;
}
public function isParentSizeInvalidatingStyle(styleName:String):Boolean{
return ((parentSizeInvalidatingStyles[styleName] == true));
}
public function registerInheritingStyle(styleName:String):void{
inheritingStyles[styleName] = true;
}
public function set stylesRoot(value:Object):void{
_stylesRoot = value;
}
public function get typeSelectorCache():Object{
return (_typeSelectorCache);
}
public function isParentDisplayListInvalidatingStyle(styleName:String):Boolean{
return ((parentDisplayListInvalidatingStyles[styleName] == true));
}
public function isSizeInvalidatingStyle(styleName:String):Boolean{
return ((sizeInvalidatingStyles[styleName] == true));
}
public function styleDeclarationsChanged():void{
var sm:Object;
var sms:Array = SystemManagerGlobals.topLevelSystemManagers;
var n:int = sms.length;
var i:int;
while (i < n) {
sm = sms[i];
sm.regenerateStyleCache(true);
sm.notifyStyleChangeInChildren(null, true);
i++;
};
}
public function isValidStyleValue(value):Boolean{
return (!((value === undefined)));
}
public function loadStyleDeclarations(url:String, update:Boolean=true, trustContent:Boolean=false):IEventDispatcher{
return (loadStyleDeclarations2(url, update));
}
public function get inheritingStyles():Object{
return (_inheritingStyles);
}
public function unloadStyleDeclarations(url:String, update:Boolean=true):void{
var module:IModuleInfo;
var styleModuleInfo:StyleModuleInfo = styleModules[url];
if (styleModuleInfo){
styleModuleInfo.styleModule.unload();
module = styleModuleInfo.module;
module.unload();
module.removeEventListener(ModuleEvent.READY, styleModuleInfo.readyHandler);
module.removeEventListener(ModuleEvent.ERROR, styleModuleInfo.errorHandler);
styleModules[url] = null;
};
if (update){
styleDeclarationsChanged();
};
}
public function getColorName(colorName:Object):uint{
var n:Number;
var c:*;
if ((colorName is String)){
if (colorName.charAt(0) == "#"){
n = Number(("0x" + colorName.slice(1)));
return ((isNaN(n)) ? StyleManager.NOT_A_COLOR : uint(n));
};
if ((((colorName.charAt(1) == "x")) && ((colorName.charAt(0) == "0")))){
n = Number(colorName);
return ((isNaN(n)) ? StyleManager.NOT_A_COLOR : uint(n));
};
c = colorNames[colorName.toLowerCase()];
if (c === undefined){
return (StyleManager.NOT_A_COLOR);
};
return (uint(c));
};
return (uint(colorName));
}
public function isInheritingStyle(styleName:String):Boolean{
return ((inheritingStyles[styleName] == true));
}
public function get stylesRoot():Object{
return (_stylesRoot);
}
public function initProtoChainRoots():void{
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
delete _inheritingStyles["textDecoration"];
delete _inheritingStyles["leading"];
};
if (!stylesRoot){
stylesRoot = _selectors["global"].addStyleToProtoChain({}, null);
};
}
public function loadStyleDeclarations2(url:String, update:Boolean=true, applicationDomain:ApplicationDomain=null, securityDomain:SecurityDomain=null):IEventDispatcher{
var module:IModuleInfo;
var styleEventDispatcher:StyleEventDispatcher;
var timer:Timer;
var timerHandler:Function;
var url = url;
var update = update;
var applicationDomain = applicationDomain;
var securityDomain = securityDomain;
module = ModuleManager.getModule(url);
var readyHandler:Function = function (moduleEvent:ModuleEvent):void{
var styleModule:IStyleModule = IStyleModule(moduleEvent.module.factory.create());
styleModules[moduleEvent.module.url].styleModule = styleModule;
if (update){
styleDeclarationsChanged();
};
};
module.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true);
styleEventDispatcher = new StyleEventDispatcher(module);
var errorHandler:Function = function (moduleEvent:ModuleEvent):void{
var styleEvent:StyleEvent;
var errorText:String = resourceManager.getString("styles", "unableToLoad", [moduleEvent.errorText, url]);
if (styleEventDispatcher.willTrigger(StyleEvent.ERROR)){
styleEvent = new StyleEvent(StyleEvent.ERROR, moduleEvent.bubbles, moduleEvent.cancelable);
styleEvent.bytesLoaded = 0;
styleEvent.bytesTotal = 0;
styleEvent.errorText = errorText;
styleEventDispatcher.dispatchEvent(styleEvent);
} else {
throw (new Error(errorText));
};
};
module.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true);
styleModules[url] = new StyleModuleInfo(module, readyHandler, errorHandler);
timer = new Timer(0);
timerHandler = function (event:TimerEvent):void{
timer.removeEventListener(TimerEvent.TIMER, timerHandler);
timer.stop();
module.load(applicationDomain, securityDomain);
};
timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true);
timer.start();
return (styleEventDispatcher);
}
public function registerSizeInvalidatingStyle(styleName:String):void{
sizeInvalidatingStyles[styleName] = true;
}
public function clearStyleDeclaration(selector:String, update:Boolean):void{
var styleDeclaration:CSSStyleDeclaration = getStyleDeclaration(selector);
if (((styleDeclaration) && ((styleDeclaration.selectorRefCount > 0)))){
styleDeclaration.selectorRefCount--;
};
delete _selectors[selector];
if (update){
styleDeclarationsChanged();
};
}
public function get selectors():Array{
var i:String;
var theSelectors:Array = [];
for (i in _selectors) {
theSelectors.push(i);
};
return (theSelectors);
}
public static function getInstance():IStyleManager2{
if (!instance){
instance = new (StyleManagerImpl);
};
return (instance);
}
}
}//package mx.styles
import flash.events.*;
import mx.modules.*;
import mx.events.*;
class StyleEventDispatcher extends EventDispatcher {
private function StyleEventDispatcher(moduleInfo:IModuleInfo){
super();
moduleInfo.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true);
moduleInfo.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true);
moduleInfo.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true);
}
private function moduleInfo_progressHandler(event:ModuleEvent):void{
var styleEvent:StyleEvent = new StyleEvent(StyleEvent.PROGRESS, event.bubbles, event.cancelable);
styleEvent.bytesLoaded = event.bytesLoaded;
styleEvent.bytesTotal = event.bytesTotal;
dispatchEvent(styleEvent);
}
private function moduleInfo_readyHandler(event:ModuleEvent):void{
var styleEvent:StyleEvent = new StyleEvent(StyleEvent.COMPLETE);
styleEvent.bytesLoaded = event.bytesLoaded;
styleEvent.bytesTotal = event.bytesTotal;
dispatchEvent(styleEvent);
}
private function moduleInfo_errorHandler(event:ModuleEvent):void{
var styleEvent:StyleEvent = new StyleEvent(StyleEvent.ERROR, event.bubbles, event.cancelable);
styleEvent.bytesLoaded = event.bytesLoaded;
styleEvent.bytesTotal = event.bytesTotal;
styleEvent.errorText = event.errorText;
dispatchEvent(styleEvent);
}
}
class StyleModuleInfo {
public var errorHandler:Function;
public var readyHandler:Function;
public var module:IModuleInfo;
public var styleModule:IStyleModule;
private function StyleModuleInfo(module:IModuleInfo, readyHandler:Function, errorHandler:Function){
super();
this.module = module;
this.readyHandler = readyHandler;
this.errorHandler = errorHandler;
}
}
Section 64
//ColorUtil (mx.utils.ColorUtil)
package mx.utils {
public class ColorUtil {
mx_internal static const VERSION:String = "3.6.0.12937";
public function ColorUtil(){
super();
}
public static function adjustBrightness2(rgb:uint, brite:Number):uint{
var r:Number;
var g:Number;
var b:Number;
if (brite == 0){
return (rgb);
};
if (brite < 0){
brite = ((100 + brite) / 100);
r = (((rgb >> 16) & 0xFF) * brite);
g = (((rgb >> 8) & 0xFF) * brite);
b = ((rgb & 0xFF) * brite);
} else {
brite = (brite / 100);
r = ((rgb >> 16) & 0xFF);
g = ((rgb >> 8) & 0xFF);
b = (rgb & 0xFF);
r = (r + ((0xFF - r) * brite));
g = (g + ((0xFF - g) * brite));
b = (b + ((0xFF - b) * brite));
r = Math.min(r, 0xFF);
g = Math.min(g, 0xFF);
b = Math.min(b, 0xFF);
};
return ((((r << 16) | (g << 8)) | b));
}
public static function rgbMultiply(rgb1:uint, rgb2:uint):uint{
var r1:Number = ((rgb1 >> 16) & 0xFF);
var g1:Number = ((rgb1 >> 8) & 0xFF);
var b1:Number = (rgb1 & 0xFF);
var r2:Number = ((rgb2 >> 16) & 0xFF);
var g2:Number = ((rgb2 >> 8) & 0xFF);
var b2:Number = (rgb2 & 0xFF);
return ((((((r1 * r2) / 0xFF) << 16) | (((g1 * g2) / 0xFF) << 8)) | ((b1 * b2) / 0xFF)));
}
public static function adjustBrightness(rgb:uint, brite:Number):uint{
var r:Number = Math.max(Math.min((((rgb >> 16) & 0xFF) + brite), 0xFF), 0);
var g:Number = Math.max(Math.min((((rgb >> 8) & 0xFF) + brite), 0xFF), 0);
var b:Number = Math.max(Math.min(((rgb & 0xFF) + brite), 0xFF), 0);
return ((((r << 16) | (g << 8)) | b));
}
}
}//package mx.utils
Section 65
//GraphicsUtil (mx.utils.GraphicsUtil)
package mx.utils {
import flash.display.*;
public class GraphicsUtil {
mx_internal static const VERSION:String = "3.6.0.12937";
public function GraphicsUtil(){
super();
}
public static function drawRoundRectComplex(graphics:Graphics, x:Number, y:Number, width:Number, height:Number, topLeftRadius:Number, topRightRadius:Number, bottomLeftRadius:Number, bottomRightRadius:Number):void{
var xw:Number = (x + width);
var yh:Number = (y + height);
var minSize:Number = ((width < height)) ? (width * 2) : (height * 2);
topLeftRadius = ((topLeftRadius < minSize)) ? topLeftRadius : minSize;
topRightRadius = ((topRightRadius < minSize)) ? topRightRadius : minSize;
bottomLeftRadius = ((bottomLeftRadius < minSize)) ? bottomLeftRadius : minSize;
bottomRightRadius = ((bottomRightRadius < minSize)) ? bottomRightRadius : minSize;
var a:Number = (bottomRightRadius * 0.292893218813453);
var s:Number = (bottomRightRadius * 0.585786437626905);
graphics.moveTo(xw, (yh - bottomRightRadius));
graphics.curveTo(xw, (yh - s), (xw - a), (yh - a));
graphics.curveTo((xw - s), yh, (xw - bottomRightRadius), yh);
a = (bottomLeftRadius * 0.292893218813453);
s = (bottomLeftRadius * 0.585786437626905);
graphics.lineTo((x + bottomLeftRadius), yh);
graphics.curveTo((x + s), yh, (x + a), (yh - a));
graphics.curveTo(x, (yh - s), x, (yh - bottomLeftRadius));
a = (topLeftRadius * 0.292893218813453);
s = (topLeftRadius * 0.585786437626905);
graphics.lineTo(x, (y + topLeftRadius));
graphics.curveTo(x, (y + s), (x + a), (y + a));
graphics.curveTo((x + s), y, (x + topLeftRadius), y);
a = (topRightRadius * 0.292893218813453);
s = (topRightRadius * 0.585786437626905);
graphics.lineTo((xw - topRightRadius), y);
graphics.curveTo((xw - s), y, (xw - a), (y + a));
graphics.curveTo(xw, (y + s), xw, (y + topRightRadius));
graphics.lineTo(xw, (yh - bottomRightRadius));
}
}
}//package mx.utils
Section 66
//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.6.0.12937";
private static var counter:int = 0;
public function NameUtil(){
super();
}
public static function displayObjectToString(displayObject:DisplayObject):String{
var result:String;
var o:DisplayObject;
var s:String;
var indices:Array;
var displayObject = displayObject;
o = displayObject;
while (o != null) {
if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){
break;
};
s = o.name;
if ((o is IRepeaterClient)){
indices = IRepeaterClient(o).instanceIndices;
if (indices){
s = (s + (("[" + indices.join("][")) + "]"));
};
};
result = ((result == null)) ? s : ((s + ".") + result);
o = o.parent;
};
//unresolved jump
var _slot1 = e;
return (result);
}
public static function createUniqueName(object:Object):String{
if (!object){
return (null);
};
var name:String = getQualifiedClassName(object);
var index:int = name.indexOf("::");
if (index != -1){
name = name.substr((index + 2));
};
var charCode:int = name.charCodeAt((name.length - 1));
if ((((charCode >= 48)) && ((charCode <= 57)))){
name = (name + "_");
};
return ((name + counter++));
}
}
}//package mx.utils
Section 67
//StringUtil (mx.utils.StringUtil)
package mx.utils {
public class StringUtil {
mx_internal static const VERSION:String = "3.6.0.12937";
public function StringUtil(){
super();
}
public static function trim(str:String):String{
if (str == null){
return ("");
};
var startIndex:int;
while (isWhitespace(str.charAt(startIndex))) {
startIndex++;
};
var endIndex:int = (str.length - 1);
while (isWhitespace(str.charAt(endIndex))) {
endIndex--;
};
if (endIndex >= startIndex){
return (str.slice(startIndex, (endIndex + 1)));
};
return ("");
}
public static function isWhitespace(character:String):Boolean{
switch (character){
case " ":
case "\t":
case "\r":
case "\n":
case "\f":
return (true);
default:
return (false);
};
}
public static function substitute(str:String, ... _args):String{
var args:Array;
if (str == null){
return ("");
};
var len:uint = _args.length;
if ((((len == 1)) && ((_args[0] is Array)))){
args = (_args[0] as Array);
len = args.length;
} else {
args = _args;
};
var i:int;
while (i < len) {
str = str.replace(new RegExp((("\\{" + i) + "\\}"), "g"), args[i]);
i++;
};
return (str);
}
public static function trimArrayElements(value:String, delimiter:String):String{
var items:Array;
var len:int;
var i:int;
if (((!((value == ""))) && (!((value == null))))){
items = value.split(delimiter);
len = items.length;
i = 0;
while (i < len) {
items[i] = StringUtil.trim(items[i]);
i++;
};
if (len > 0){
value = items.join(delimiter);
};
};
return (value);
}
}
}//package mx.utils
Section 68
//FlxAnim (org.flixel.data.FlxAnim)
package org.flixel.data {
public class FlxAnim {
public var delay:Number;
public var frames:Array;
public var looped:Boolean;
public var name:String;
public function FlxAnim(Name:String, Frames:Array, FrameRate:Number=0, Looped:Boolean=true){
super();
name = Name;
delay = 0;
if (FrameRate > 0){
delay = (1 / FrameRate);
};
frames = Frames;
looped = Looped;
}
}
}//package org.flixel.data
Section 69
//FlxConsole (org.flixel.data.FlxConsole)
package org.flixel.data {
import flash.display.*;
import org.flixel.*;
import flash.text.*;
public class FlxConsole extends Sprite {
protected const MAX_CONSOLE_LINES:uint = 0x0100;
protected var _lines:Array;
protected var _text:TextField;
public var mtrUpdate:FlxMonitor;
public var mtrTotal:FlxMonitor;
protected var _Y:Number;
protected var _console:Sprite;
public var mtrRender:FlxMonitor;
protected var _curFPS:uint;
protected var _extraDisplay:TextField;
protected var _bx:int;
protected var _by:int;
protected var _YT:Number;
protected var _byt:int;
protected var _fpsDisplay:TextField;
public function FlxConsole(X:uint, Y:uint, Zoom:uint){
super();
visible = false;
x = (X * Zoom);
_by = (Y * Zoom);
_byt = (_by - (FlxG.height * Zoom));
_YT = (_Y = (y = _byt));
var tmp:Bitmap = new Bitmap(new BitmapData((FlxG.width * Zoom), (FlxG.height * Zoom), true, 2130706432));
addChild(tmp);
mtrUpdate = new FlxMonitor(8);
mtrRender = new FlxMonitor(8);
mtrTotal = new FlxMonitor(8);
_text = new TextField();
_text.width = tmp.width;
_text.height = tmp.height;
_text.multiline = true;
_text.wordWrap = true;
_text.embedFonts = true;
_text.selectable = false;
_text.antiAliasType = AntiAliasType.NORMAL;
_text.gridFitType = GridFitType.PIXEL;
_text.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF);
addChild(_text);
_fpsDisplay = new TextField();
_fpsDisplay.width = 100;
_fpsDisplay.x = (tmp.width - 100);
_fpsDisplay.height = 20;
_fpsDisplay.multiline = true;
_fpsDisplay.wordWrap = true;
_fpsDisplay.embedFonts = true;
_fpsDisplay.selectable = false;
_fpsDisplay.antiAliasType = AntiAliasType.NORMAL;
_fpsDisplay.gridFitType = GridFitType.PIXEL;
_fpsDisplay.defaultTextFormat = new TextFormat("system", 16, 0xFFFFFF, true, null, null, null, null, "right");
addChild(_fpsDisplay);
_extraDisplay = new TextField();
_extraDisplay.width = 100;
_extraDisplay.x = (tmp.width - 100);
_extraDisplay.height = 64;
_extraDisplay.y = 20;
_extraDisplay.alpha = 0.5;
_extraDisplay.multiline = true;
_extraDisplay.wordWrap = true;
_extraDisplay.embedFonts = true;
_extraDisplay.selectable = false;
_extraDisplay.antiAliasType = AntiAliasType.NORMAL;
_extraDisplay.gridFitType = GridFitType.PIXEL;
_extraDisplay.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, true, null, null, null, null, "right");
addChild(_extraDisplay);
_lines = new Array();
}
public function log(Text:String):void{
var newText:String;
var i:uint;
if (Text == null){
Text = "NULL";
};
trace(Text);
_lines.push(Text);
if (_lines.length > MAX_CONSOLE_LINES){
_lines.shift();
newText = "";
i = 0;
while (i < _lines.length) {
newText = (newText + (_lines[i] + "\n"));
i++;
};
_text.text = newText;
} else {
_text.appendText((Text + "\n"));
};
_text.scrollV = _text.height;
}
public function update():void{
var total:Number = mtrTotal.average();
_fpsDisplay.text = (uint((1000 / total)) + " fps");
var up:uint = mtrUpdate.average();
var rn:uint = mtrRender.average();
var fx:uint = (up + rn);
var tt:uint = uint(total);
_extraDisplay.text = (((((((((up + "ms update\n") + rn) + "ms render\n") + fx) + "ms flixel\n") + (tt - fx)) + "ms flash\n") + tt) + "ms total");
if (_Y < _YT){
_Y = (_Y + ((FlxG.height * 10) * FlxG.elapsed));
} else {
if (_Y > _YT){
_Y = (_Y - ((FlxG.height * 10) * FlxG.elapsed));
};
};
if (_Y > _by){
_Y = _by;
} else {
if (_Y < _byt){
_Y = _byt;
visible = false;
};
};
y = Math.floor(_Y);
}
public function toggle():void{
if (_YT == _by){
_YT = _byt;
} else {
_YT = _by;
visible = true;
};
}
}
}//package org.flixel.data
Section 70
//FlxFade (org.flixel.data.FlxFade)
package org.flixel.data {
import org.flixel.*;
public class FlxFade extends FlxSprite {
protected var _delay:Number;
protected var _complete:Function;
public function FlxFade(){
super();
createGraphic(FlxG.width, FlxG.height, 0, true);
scrollFactor.x = 0;
scrollFactor.y = 0;
exists = false;
solid = false;
fixed = true;
}
override public function update():void{
alpha = (alpha + (FlxG.elapsed / _delay));
if (alpha >= 1){
alpha = 1;
if (_complete != null){
_complete();
};
};
}
public function start(Color:uint=4278190080, Duration:Number=1, FadeComplete:Function=null, Force:Boolean=false):void{
if (((!(Force)) && (exists))){
return;
};
fill(Color);
_delay = Duration;
_complete = FadeComplete;
alpha = 0;
exists = true;
}
public function stop():void{
exists = false;
}
}
}//package org.flixel.data
Section 71
//FlxFlash (org.flixel.data.FlxFlash)
package org.flixel.data {
import org.flixel.*;
public class FlxFlash extends FlxSprite {
protected var _delay:Number;
protected var _complete:Function;
public function FlxFlash(){
super();
createGraphic(FlxG.width, FlxG.height, 0, true);
scrollFactor.x = 0;
scrollFactor.y = 0;
exists = false;
solid = false;
fixed = true;
}
override public function update():void{
alpha = (alpha - (FlxG.elapsed / _delay));
if (alpha <= 0){
exists = false;
if (_complete != null){
_complete();
};
};
}
public function start(Color:uint=4294967295, Duration:Number=1, FlashComplete:Function=null, Force:Boolean=false):void{
if (((!(Force)) && (exists))){
return;
};
fill(Color);
_delay = Duration;
_complete = FlashComplete;
alpha = 1;
exists = true;
}
public function stop():void{
exists = false;
}
}
}//package org.flixel.data
Section 72
//FlxKeyboard (org.flixel.data.FlxKeyboard)
package org.flixel.data {
import flash.events.*;
public class FlxKeyboard {
protected const _t:uint = 0x0100;
public var RIGHT:Boolean;
public var LEFT:Boolean;
public var FOUR:Boolean;
public var TWO:Boolean;
public var CONTROL:Boolean;
public var A:Boolean;
public var B:Boolean;
public var C:Boolean;
public var D:Boolean;
public var E:Boolean;
public var ONE:Boolean;
public var G:Boolean;
public var H:Boolean;
public var I:Boolean;
public var J:Boolean;
public var K:Boolean;
public var F:Boolean;
public var N:Boolean;
public var O:Boolean;
public var Q:Boolean;
public var R:Boolean;
public var S:Boolean;
public var T:Boolean;
public var U:Boolean;
public var MINUS:Boolean;
public var Y:Boolean;
public var L:Boolean;
public var Z:Boolean;
public var QUOTE:Boolean;
public var V:Boolean;
public var X:Boolean;
public var P:Boolean;
public var SHIFT:Boolean;
public var SLASH:Boolean;
public var BACKSPACE:Boolean;
public var EIGHT:Boolean;
public var W:Boolean;
public var M:Boolean;
public var THREE:Boolean;
public var ESCAPE:Boolean;
public var SEMICOLON:Boolean;
public var CAPSLOCK:Boolean;
protected var _lookup:Object;
public var PLUS:Boolean;
protected var _map:Array;
public var ZERO:Boolean;
public var DOWN:Boolean;
public var F1:Boolean;
public var F2:Boolean;
public var F3:Boolean;
public var F4:Boolean;
public var F5:Boolean;
public var F6:Boolean;
public var F7:Boolean;
public var NINE:Boolean;
public var F9:Boolean;
public var ALT:Boolean;
public var F8:Boolean;
public var DELETE:Boolean;
public var LBRACKET:Boolean;
public var UP:Boolean;
public var ENTER:Boolean;
public var FIVE:Boolean;
public var SIX:Boolean;
public var COMMA:Boolean;
public var PERIOD:Boolean;
public var BACKSLASH:Boolean;
public var F10:Boolean;
public var F11:Boolean;
public var F12:Boolean;
public var SEVEN:Boolean;
public var SPACE:Boolean;
public var RBRACKET:Boolean;
public function FlxKeyboard(){
super();
var i:uint;
_lookup = new Object();
_map = new Array(_t);
i = 65;
while (i <= 90) {
addKey(String.fromCharCode(i), i);
i++;
};
i = 48;
var _temp1 = i;
i = (i + 1);
addKey("ZERO", _temp1);
var _temp2 = i;
i = (i + 1);
addKey("ONE", _temp2);
var _temp3 = i;
i = (i + 1);
addKey("TWO", _temp3);
var _temp4 = i;
i = (i + 1);
addKey("THREE", _temp4);
var _temp5 = i;
i = (i + 1);
addKey("FOUR", _temp5);
var _temp6 = i;
i = (i + 1);
addKey("FIVE", _temp6);
var _temp7 = i;
i = (i + 1);
addKey("SIX", _temp7);
var _temp8 = i;
i = (i + 1);
addKey("SEVEN", _temp8);
var _temp9 = i;
i = (i + 1);
addKey("EIGHT", _temp9);
var _temp10 = i;
i = (i + 1);
addKey("NINE", _temp10);
i = 1;
while (i <= 12) {
addKey(("F" + i), (111 + i));
i++;
};
addKey("ESCAPE", 27);
addKey("MINUS", 189);
addKey("PLUS", 187);
addKey("DELETE", 46);
addKey("BACKSPACE", 8);
addKey("LBRACKET", 219);
addKey("RBRACKET", 221);
addKey("BACKSLASH", 220);
addKey("CAPSLOCK", 20);
addKey("SEMICOLON", 186);
addKey("QUOTE", 222);
addKey("ENTER", 13);
addKey("SHIFT", 16);
addKey("COMMA", 188);
addKey("PERIOD", 190);
addKey("SLASH", 191);
addKey("CONTROL", 17);
addKey("ALT", 18);
addKey("SPACE", 32);
addKey("UP", 38);
addKey("DOWN", 40);
addKey("LEFT", 37);
addKey("RIGHT", 39);
}
public function handleKeyUp(event:KeyboardEvent):void{
var o:Object = _map[event.keyCode];
if (o == null){
return;
};
if (o.current > 0){
o.current = -1;
} else {
o.current = 0;
};
this[o.name] = false;
}
public function pressed(Key:String):Boolean{
return (this[Key]);
}
public function justReleased(Key:String):Boolean{
return ((_map[_lookup[Key]].current == -1));
}
public function handleKeyDown(event:KeyboardEvent):void{
var o:Object = _map[event.keyCode];
if (o == null){
return;
};
if (o.current > 0){
o.current = 1;
} else {
o.current = 2;
};
this[o.name] = true;
}
public function reset():void{
var o:Object;
var i:uint;
while (i < _t) {
if (_map[i] == null){
} else {
o = _map[i];
this[o.name] = false;
o.current = 0;
o.last = 0;
};
i++;
};
}
public function justPressed(Key:String):Boolean{
return ((_map[_lookup[Key]].current == 2));
}
public function update():void{
var o:Object;
var i:uint;
while (i < _t) {
if (_map[i] == null){
} else {
o = _map[i];
if ((((o.last == -1)) && ((o.current == -1)))){
o.current = 0;
} else {
if ((((o.last == 2)) && ((o.current == 2)))){
o.current = 1;
};
};
o.last = o.current;
};
i++;
};
}
protected function addKey(KeyName:String, KeyCode:uint):void{
_lookup[KeyName] = KeyCode;
_map[KeyCode] = {name:KeyName, current:0, last:0};
}
}
}//package org.flixel.data
Section 73
//FlxKong (org.flixel.data.FlxKong)
package org.flixel.data {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class FlxKong extends Sprite {
public var API;
public function FlxKong(){
super();
API = null;
}
public function init():void{
var paramObj:Object = LoaderInfo(root.loaderInfo).parameters;
var api_url:String = ((paramObj.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf"));
var request:URLRequest = new URLRequest(api_url);
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, APILoaded);
loader.load(request);
this.addChild(loader);
}
protected function APILoaded(event:Event):void{
API = event.target.content;
API.services.connect();
}
}
}//package org.flixel.data
Section 74
//FlxList (org.flixel.data.FlxList)
package org.flixel.data {
import org.flixel.*;
public class FlxList {
public var next:FlxList;
public var object:FlxObject;
public function FlxList(){
super();
object = null;
next = null;
}
}
}//package org.flixel.data
Section 75
//FlxMouse (org.flixel.data.FlxMouse)
package org.flixel.data {
import flash.events.*;
import org.flixel.*;
public class FlxMouse {
protected var ImgDefaultCursor:Class;
protected var _out:Boolean;
public var cursor:FlxSprite;
public var screenY:int;
protected var _last:int;
public var x:int;
public var y:int;
protected var _current:int;
public var screenX:int;
public function FlxMouse(){
ImgDefaultCursor = FlxMouse_ImgDefaultCursor;
super();
x = 0;
y = 0;
screenX = 0;
screenY = 0;
_current = 0;
_last = 0;
cursor = null;
_out = false;
}
public function hide():void{
if (cursor != null){
cursor.visible = false;
_out = false;
};
}
public function update(X:int, Y:int, XScroll:Number, YScroll:Number):void{
screenX = X;
screenY = Y;
x = (screenX - FlxU.floor(XScroll));
y = (screenY - FlxU.floor(YScroll));
if (cursor != null){
cursor.x = x;
cursor.y = y;
};
if ((((_last == -1)) && ((_current == -1)))){
_current = 0;
} else {
if ((((_last == 2)) && ((_current == 2)))){
_current = 1;
};
};
_last = _current;
}
public function reset():void{
_current = 0;
_last = 0;
}
public function justReleased():Boolean{
return ((_current == -1));
}
public function handleMouseOver(event:MouseEvent):void{
if (cursor != null){
cursor.visible = _out;
};
}
public function handleMouseDown(event:MouseEvent):void{
if (_current > 0){
_current = 1;
} else {
_current = 2;
};
}
public function pressed():Boolean{
return ((_current > 0));
}
public function justPressed():Boolean{
return ((_current == 2));
}
public function load(Graphic:Class, XOffset:int=0, YOffset:int=0):void{
if (Graphic == null){
Graphic = ImgDefaultCursor;
};
cursor = new FlxSprite(screenX, screenY, Graphic);
cursor.offset.x = XOffset;
cursor.offset.y = YOffset;
}
public function handleMouseUp(event:MouseEvent):void{
if (_current > 0){
_current = -1;
} else {
_current = 0;
};
}
public function handleMouseOut(event:MouseEvent):void{
if (cursor != null){
_out = cursor.visible;
cursor.visible = false;
};
}
public function show(Graphic:Class=null, XOffset:int=0, YOffset:int=0):void{
_out = true;
if (Graphic != null){
load(Graphic, XOffset, YOffset);
} else {
if (cursor != null){
cursor.visible = true;
} else {
load(null);
};
};
}
public function unload():void{
if (cursor != null){
if (cursor.visible){
load(null);
} else {
cursor = null;
};
};
}
}
}//package org.flixel.data
Section 76
//FlxMouse_ImgDefaultCursor (org.flixel.data.FlxMouse_ImgDefaultCursor)
package org.flixel.data {
import mx.core.*;
public class FlxMouse_ImgDefaultCursor extends BitmapAsset {
}
}//package org.flixel.data
Section 77
//FlxPanel (org.flixel.data.FlxPanel)
package org.flixel.data {
import org.flixel.*;
import flash.ui.*;
public class FlxPanel extends FlxObject {
protected var _close:FlxButton;
protected var _digg:FlxButton;
protected var _gameTitle:String;
protected var _closed:Boolean;
protected var _payPalID:String;
protected var _donate:FlxButton;
private var ImgClose:Class;
protected var _topBar:FlxSprite;
protected var _ty:Number;
protected var _caption:FlxText;
protected var _initialized:Boolean;
protected var _twitter:FlxButton;
protected var _delicious:FlxButton;
protected var _stumble:FlxButton;
private var ImgDelicious:Class;
private var ImgTwitter:Class;
protected var _mainBar:FlxSprite;
protected var _gameURL:String;
private var ImgStumble:Class;
private var ImgReddit:Class;
private var ImgDigg:Class;
protected var _bottomBar:FlxSprite;
protected var _payPalAmount:Number;
protected var _s:Number;
private var ImgDonate:Class;
protected var _reddit:FlxButton;
public function FlxPanel(){
ImgDonate = FlxPanel_ImgDonate;
ImgStumble = FlxPanel_ImgStumble;
ImgDigg = FlxPanel_ImgDigg;
ImgReddit = FlxPanel_ImgReddit;
ImgDelicious = FlxPanel_ImgDelicious;
ImgTwitter = FlxPanel_ImgTwitter;
ImgClose = FlxPanel_ImgClose;
super();
y = -21;
_ty = y;
_closed = false;
_initialized = false;
_topBar = new FlxSprite();
_topBar.createGraphic(FlxG.width, 1, 2147483647);
_topBar.scrollFactor.x = 0;
_topBar.scrollFactor.y = 0;
_mainBar = new FlxSprite();
_mainBar.createGraphic(FlxG.width, 19, 2130706432);
_mainBar.scrollFactor.x = 0;
_mainBar.scrollFactor.y = 0;
_bottomBar = new FlxSprite();
_bottomBar.createGraphic(FlxG.width, 1, 2147483647);
_bottomBar.scrollFactor.x = 0;
_bottomBar.scrollFactor.y = 0;
_donate = new FlxButton(3, 0, onDonate);
_donate.loadGraphic(new FlxSprite(0, 0, ImgDonate));
_donate.scrollFactor.x = 0;
_donate.scrollFactor.y = 0;
_stumble = new FlxButton(((((((FlxG.width / 2) - 6) - 13) - 6) - 13) - 6), 0, onStumble);
_stumble.loadGraphic(new FlxSprite(0, 0, ImgStumble));
_stumble.scrollFactor.x = 0;
_stumble.scrollFactor.y = 0;
_digg = new FlxButton(((((FlxG.width / 2) - 6) - 13) - 6), 0, onDigg);
_digg.loadGraphic(new FlxSprite(0, 0, ImgDigg));
_digg.scrollFactor.x = 0;
_digg.scrollFactor.y = 0;
_reddit = new FlxButton(((FlxG.width / 2) - 6), 0, onReddit);
_reddit.loadGraphic(new FlxSprite(0, 0, ImgReddit));
_reddit.scrollFactor.x = 0;
_reddit.scrollFactor.y = 0;
_delicious = new FlxButton((((FlxG.width / 2) + 7) + 6), 0, onDelicious);
_delicious.loadGraphic(new FlxSprite(0, 0, ImgDelicious));
_delicious.scrollFactor.x = 0;
_delicious.scrollFactor.y = 0;
_twitter = new FlxButton((((((FlxG.width / 2) + 7) + 6) + 12) + 6), 0, onTwitter);
_twitter.loadGraphic(new FlxSprite(0, 0, ImgTwitter));
_twitter.scrollFactor.x = 0;
_twitter.scrollFactor.y = 0;
_caption = new FlxText((FlxG.width / 2), 0, ((FlxG.width / 2) - 19), "");
_caption.alignment = "right";
_caption.scrollFactor.x = 0;
_caption.scrollFactor.y = 0;
_close = new FlxButton((FlxG.width - 16), 0, onClose);
_close.loadGraphic(new FlxSprite(0, 0, ImgClose));
_close.scrollFactor.x = 0;
_close.scrollFactor.y = 0;
hide();
visible = false;
_s = 50;
}
public function onDelicious():void{
FlxU.openURL(((("http://delicious.com/save?v=5&noui&jump=close&url=" + encodeURIComponent(_gameURL)) + "&title=") + encodeURIComponent(_gameTitle)));
}
public function onTwitter():void{
FlxU.openURL(("http://twitter.com/home?status=Playing" + encodeURIComponent((((" " + _gameTitle) + " - ") + _gameURL))));
}
public function setup(PayPalID:String, PayPalAmount:Number, GameTitle:String, GameURL:String, Caption:String):void{
_payPalID = PayPalID;
if (_payPalID.length <= 0){
_donate.visible = false;
};
_payPalAmount = PayPalAmount;
_gameTitle = GameTitle;
_gameURL = GameURL;
_caption.text = Caption;
_initialized = true;
}
public function onStumble():void{
FlxU.openURL(("http://www.stumbleupon.com/submit?url=" + encodeURIComponent(_gameURL)));
}
override public function render():void{
if (!_initialized){
return;
};
if (_topBar.visible){
_topBar.render();
};
if (_mainBar.visible){
_mainBar.render();
};
if (_bottomBar.visible){
_bottomBar.render();
};
if (_donate.visible){
_donate.render();
};
if (_stumble.visible){
_stumble.render();
};
if (_digg.visible){
_digg.render();
};
if (_reddit.visible){
_reddit.render();
};
if (_delicious.visible){
_delicious.render();
};
if (_twitter.visible){
_twitter.render();
};
if (_caption.visible){
_caption.render();
};
if (_close.visible){
_close.render();
};
}
public function onDigg():void{
FlxU.openURL(((("http://digg.com/submit?url=" + encodeURIComponent(_gameURL)) + "&title=") + encodeURIComponent(_gameTitle)));
}
public function onReddit():void{
FlxU.openURL(("http://www.reddit.com/submit?url=" + encodeURIComponent(_gameURL)));
}
public function onDonate():void{
FlxU.openURL(((((("https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=" + encodeURIComponent(_payPalID)) + "&item_name=") + encodeURIComponent(((_gameTitle + " Contribution (") + _gameURL))) + ")¤cy_code=USD&amount=") + _payPalAmount));
}
override public function update():void{
if (!_initialized){
return;
};
if (_ty != y){
if (y < _ty){
y = (y + (FlxG.elapsed * _s));
if (y > _ty){
y = _ty;
};
} else {
y = (y - (FlxG.elapsed * _s));
if (y < _ty){
y = _ty;
};
};
_topBar.y = y;
_mainBar.y = (y + 1);
_bottomBar.y = (y + 20);
_donate.reset(_donate.x, (y + 4));
_stumble.reset(_stumble.x, (y + 4));
_digg.reset(_digg.x, (y + 4));
_reddit.reset(_reddit.x, (y + 4));
_delicious.reset(_delicious.x, (y + 5));
_twitter.reset(_twitter.x, (y + 4));
_caption.reset(_caption.x, (y + 4));
_close.reset(_close.x, (y + 4));
};
if ((((y <= -21)) || ((y >= FlxG.height)))){
visible = false;
} else {
visible = true;
};
if (visible){
if (_donate.active){
_donate.update();
};
if (_stumble.active){
_stumble.update();
};
if (_digg.active){
_digg.update();
};
if (_reddit.active){
_reddit.update();
};
if (_delicious.active){
_delicious.update();
};
if (_twitter.active){
_twitter.update();
};
if (_caption.active){
_caption.update();
};
if (_close.active){
_close.update();
};
};
}
public function show(Top:Boolean=true):void{
if (_closed){
return;
};
if (!_initialized){
FlxG.log("SUPPORT PANEL ERROR: Uninitialized.\nYou forgot to call FlxGame.setupSupportPanel()\nfrom your game constructor.");
return;
};
if (Top){
y = -21;
_ty = -1;
} else {
y = FlxG.height;
_ty = (FlxG.height - 20);
};
_donate.reset(_donate.x, (y + 4));
_stumble.reset(_stumble.x, (y + 4));
_digg.reset(_digg.x, (y + 4));
_reddit.reset(_reddit.x, (y + 4));
_delicious.reset(_delicious.x, (y + 5));
_twitter.reset(_twitter.x, (y + 4));
_caption.reset(_caption.x, (y + 4));
_close.reset(_close.x, (y + 4));
if (!FlxG.mouse.cursor.visible){
Mouse.show();
};
visible = true;
}
public function onClose():void{
_closed = true;
hide();
}
public function hide():void{
if (y < 0){
_ty = -21;
} else {
_ty = FlxG.height;
};
}
}
}//package org.flixel.data
Section 78
//FlxPanel_ImgClose (org.flixel.data.FlxPanel_ImgClose)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgClose extends BitmapAsset {
}
}//package org.flixel.data
Section 79
//FlxPanel_ImgDelicious (org.flixel.data.FlxPanel_ImgDelicious)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgDelicious extends BitmapAsset {
}
}//package org.flixel.data
Section 80
//FlxPanel_ImgDigg (org.flixel.data.FlxPanel_ImgDigg)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgDigg extends BitmapAsset {
}
}//package org.flixel.data
Section 81
//FlxPanel_ImgDonate (org.flixel.data.FlxPanel_ImgDonate)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgDonate extends BitmapAsset {
}
}//package org.flixel.data
Section 82
//FlxPanel_ImgReddit (org.flixel.data.FlxPanel_ImgReddit)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgReddit extends BitmapAsset {
}
}//package org.flixel.data
Section 83
//FlxPanel_ImgStumble (org.flixel.data.FlxPanel_ImgStumble)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgStumble extends BitmapAsset {
}
}//package org.flixel.data
Section 84
//FlxPanel_ImgTwitter (org.flixel.data.FlxPanel_ImgTwitter)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgTwitter extends BitmapAsset {
}
}//package org.flixel.data
Section 85
//FlxPause (org.flixel.data.FlxPause)
package org.flixel.data {
import org.flixel.*;
public class FlxPause extends FlxGroup {
private var ImgKeyP:Class;
private var ImgKey0:Class;
private var ImgKeyPlus:Class;
private var ImgKeyMinus:Class;
public function FlxPause(){
var h:uint;
ImgKeyMinus = FlxPause_ImgKeyMinus;
ImgKeyPlus = FlxPause_ImgKeyPlus;
ImgKey0 = FlxPause_ImgKey0;
ImgKeyP = FlxPause_ImgKeyP;
super();
scrollFactor.x = 0;
scrollFactor.y = 0;
var w:uint = 80;
h = 92;
x = ((FlxG.width - w) / 2);
y = ((FlxG.height - h) / 2);
add(new FlxSprite().createGraphic(w, h, 2852126720, true), true);
(add(new FlxText(0, 0, w, "this game is"), true) as FlxText).alignment = "center";
add(new FlxText(0, 10, w, "PAUSED").setFormat(null, 16, 0xFFFFFF, "center"), true);
add(new FlxSprite(4, 36, ImgKeyP), true);
add(new FlxText(16, 36, (w - 16), "Pause Game"), true);
add(new FlxSprite(4, 50, ImgKey0), true);
add(new FlxText(16, 50, (w - 16), "Mute Sound"), true);
add(new FlxSprite(4, 64, ImgKeyMinus), true);
add(new FlxText(16, 64, (w - 16), "Sound Down"), true);
add(new FlxSprite(4, 78, ImgKeyPlus), true);
add(new FlxText(16, 78, (w - 16), "Sound Up"), true);
}
}
}//package org.flixel.data
Section 86
//FlxPause_ImgKey0 (org.flixel.data.FlxPause_ImgKey0)
package org.flixel.data {
import mx.core.*;
public class FlxPause_ImgKey0 extends BitmapAsset {
}
}//package org.flixel.data
Section 87
//FlxPause_ImgKeyMinus (org.flixel.data.FlxPause_ImgKeyMinus)
package org.flixel.data {
import mx.core.*;
public class FlxPause_ImgKeyMinus extends BitmapAsset {
}
}//package org.flixel.data
Section 88
//FlxPause_ImgKeyP (org.flixel.data.FlxPause_ImgKeyP)
package org.flixel.data {
import mx.core.*;
public class FlxPause_ImgKeyP extends BitmapAsset {
}
}//package org.flixel.data
Section 89
//FlxPause_ImgKeyPlus (org.flixel.data.FlxPause_ImgKeyPlus)
package org.flixel.data {
import mx.core.*;
public class FlxPause_ImgKeyPlus extends BitmapAsset {
}
}//package org.flixel.data
Section 90
//FlxQuake (org.flixel.data.FlxQuake)
package org.flixel.data {
import org.flixel.*;
public class FlxQuake {
public var y:int;
protected var _timer:Number;
protected var _intensity:Number;
public var x:int;
protected var _zoom:uint;
public function FlxQuake(Zoom:uint){
super();
_zoom = Zoom;
start(0);
}
public function update():void{
if (_timer > 0){
_timer = (_timer - FlxG.elapsed);
if (_timer <= 0){
_timer = 0;
x = 0;
y = 0;
} else {
x = (((((Math.random() * _intensity) * FlxG.width) * 2) - (_intensity * FlxG.width)) * _zoom);
y = (((((Math.random() * _intensity) * FlxG.height) * 2) - (_intensity * FlxG.height)) * _zoom);
};
};
}
public function start(Intensity:Number=0.05, Duration:Number=0.5):void{
stop();
_intensity = Intensity;
_timer = Duration;
}
public function stop():void{
x = 0;
y = 0;
_intensity = 0;
_timer = 0;
}
}
}//package org.flixel.data
Section 91
//FlxButton (org.flixel.FlxButton)
package org.flixel {
import flash.events.*;
public class FlxButton extends FlxGroup {
protected var _on:FlxSprite;
protected var _offT:FlxText;
protected var _initialized:Boolean;
protected var _onT:FlxText;
protected var _pressed:Boolean;
protected var _callback:Function;
protected var _off:FlxSprite;
protected var _onToggle:Boolean;
protected var _sf:FlxPoint;
public function FlxButton(X:int, Y:int, Callback:Function){
super();
x = X;
y = Y;
width = 100;
height = 20;
_off = new FlxSprite().createGraphic(width, height, 4286545791);
_off.solid = false;
add(_off, true);
_on = new FlxSprite().createGraphic(width, height, 4294967295);
_on.solid = false;
add(_on, true);
_offT = null;
_onT = null;
_callback = Callback;
_onToggle = false;
_pressed = false;
_initialized = false;
_sf = null;
}
protected function onMouseUp(event:MouseEvent):void{
if (((((((((!(exists)) || (!(visible)))) || (!(active)))) || (!(FlxG.mouse.justReleased())))) || ((_callback == null)))){
return;
};
if (overlapsPoint(FlxG.mouse.x, FlxG.mouse.y)){
_callback();
};
}
override public function update():void{
if (!_initialized){
if (FlxG.stage != null){
FlxG.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
_initialized = true;
};
};
super.update();
visibility(false);
if (overlapsPoint(FlxG.mouse.x, FlxG.mouse.y)){
if (!FlxG.mouse.pressed()){
_pressed = false;
} else {
if (!_pressed){
_pressed = true;
};
};
visibility(!(_pressed));
};
if (_onToggle){
visibility(_off.visible);
};
}
protected function visibility(On:Boolean):void{
if (On){
_off.visible = false;
if (_offT != null){
_offT.visible = false;
};
_on.visible = true;
if (_onT != null){
_onT.visible = true;
};
} else {
_on.visible = false;
if (_onT != null){
_onT.visible = false;
};
_off.visible = true;
if (_offT != null){
_offT.visible = true;
};
};
}
public function get on():Boolean{
return (_onToggle);
}
public function loadGraphic(Image:FlxSprite, ImageHighlight:FlxSprite=null):FlxButton{
_off = (replace(_off, Image) as FlxSprite);
if (ImageHighlight == null){
if (_on != _off){
remove(_on);
};
_on = _off;
} else {
_on = (replace(_on, ImageHighlight) as FlxSprite);
};
_on.solid = (_off.solid = false);
_off.scrollFactor = scrollFactor;
_on.scrollFactor = scrollFactor;
width = _off.width;
height = _off.height;
refreshHulls();
return (this);
}
public function loadText(Text:FlxText, TextHighlight:FlxText=null):FlxButton{
if (Text != null){
if (_offT == null){
_offT = Text;
add(_offT);
} else {
_offT = (replace(_offT, Text) as FlxText);
};
};
if (TextHighlight == null){
_onT = _offT;
} else {
if (_onT == null){
_onT = TextHighlight;
add(_onT);
} else {
_onT = (replace(_onT, TextHighlight) as FlxText);
};
};
_offT.scrollFactor = scrollFactor;
_onT.scrollFactor = scrollFactor;
return (this);
}
override public function destroy():void{
if (FlxG.stage != null){
FlxG.stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
};
}
public function set on(On:Boolean):void{
_onToggle = On;
}
}
}//package org.flixel
Section 92
//FlxG (org.flixel.FlxG)
package org.flixel {
import flash.display.*;
import flash.geom.*;
import org.flixel.data.*;
public class FlxG {
public static var panel:FlxPanel;
protected static var _mute:Boolean;
public static var kong:FlxKong;
public static var scores:Array;
public static var music:FlxSound;
public static var height:uint;
protected static var _volume:Number;
public static var buffer:BitmapData;
public static var sounds:Array;
public static var debug:Boolean;
public static var LIBRARY_MINOR_VERSION:uint = 35;
public static var LIBRARY_MAJOR_VERSION:uint = 2;
public static var levels:Array;
public static var maxElapsed:Number;
public static var fade:FlxFade;
public static var timeScale:Number;
protected static var _cache:Object;
public static var level:int;
public static var elapsed:Number;
public static var score:int;
public static var save:int;
public static var saves:Array;
protected static var _scrollTarget:Point;
public static var followTarget:FlxObject;
public static var mouse:FlxMouse;
public static var followLead:Point;
public static var LIBRARY_NAME:String = "flixel";
protected static var _showBounds:Boolean;
public static var width:uint;
public static var followLerp:Number;
protected static var _game:FlxGame;
public static var scroll:Point;
public static var quake:FlxQuake;
public static var followMin:Point;
public static var flash:FlxFlash;
public static var followMax:Point;
public static var keys:FlxKeyboard;
protected static var _pause:Boolean;
public function FlxG(){
super();
}
public static function get stage():Stage{
if (((!((_game._state == null))) && (!((_game._state.parent == null))))){
return (_game._state.parent.stage);
};
return (null);
}
public static function get showBounds():Boolean{
return (_showBounds);
}
protected static function changeSounds():void{
var s:FlxSound;
if (((!((music == null))) && (music.active))){
music.updateTransform();
};
var sl:uint = sounds.length;
var i:uint;
while (i < sl) {
s = (sounds[i] as FlxSound);
if (((!((s == null))) && (s.active))){
s.updateTransform();
};
i++;
};
}
public static function get mute():Boolean{
return (_mute);
}
public static function get volume():Number{
return (_volume);
}
static function doFollow():void{
if (followTarget != null){
_scrollTarget.x = (((width >> 1) - followTarget.x) - (followTarget.width >> 1));
_scrollTarget.y = (((height >> 1) - followTarget.y) - (followTarget.height >> 1));
if (((!((followLead == null))) && ((followTarget is FlxSprite)))){
_scrollTarget.x = (_scrollTarget.x - ((followTarget as FlxSprite).velocity.x * followLead.x));
_scrollTarget.y = (_scrollTarget.y - ((followTarget as FlxSprite).velocity.y * followLead.y));
};
scroll.x = (scroll.x + (((_scrollTarget.x - scroll.x) * followLerp) * FlxG.elapsed));
scroll.y = (scroll.y + (((_scrollTarget.y - scroll.y) * followLerp) * FlxG.elapsed));
if (followMin != null){
if (scroll.x > followMin.x){
scroll.x = followMin.x;
};
if (scroll.y > followMin.y){
scroll.y = followMin.y;
};
};
if (followMax != null){
if (scroll.x < followMax.x){
scroll.x = followMax.x;
};
if (scroll.y < followMax.y){
scroll.y = followMax.y;
};
};
};
}
public static function getMuteValue():uint{
if (_mute){
return (0);
};
return (1);
}
public static function set showBounds(ShowBounds:Boolean):void{
var osb:Boolean = _showBounds;
_showBounds = ShowBounds;
if (_showBounds != osb){
FlxObject._refreshBounds = true;
};
}
public static function addBitmap(Graphic:Class, Reverse:Boolean=false, Unique:Boolean=false, Key:String=null):BitmapData{
var inc:uint;
var ukey:String;
var newPixels:BitmapData;
var mtx:Matrix;
var needReverse:Boolean;
var key:String = Key;
if (key == null){
key = String(Graphic);
if (((((Unique) && (!((_cache[key] == undefined))))) && (!((_cache[key] == null))))){
inc = 0;
do {
var _temp1 = inc;
inc = (inc + 1);
ukey = (key + _temp1);
} while (((!((_cache[ukey] == undefined))) && (!((_cache[ukey] == null)))));
key = ukey;
};
};
if (!checkBitmapCache(key)){
_cache[key] = new (Graphic).bitmapData;
if (Reverse){
needReverse = true;
};
};
var pixels:BitmapData = _cache[key];
if (((((!(needReverse)) && (Reverse))) && ((pixels.width == new (Graphic).bitmapData.width)))){
needReverse = true;
};
if (needReverse){
newPixels = new BitmapData((pixels.width << 1), pixels.height, true, 0);
newPixels.draw(pixels);
mtx = new Matrix();
mtx.scale(-1, 1);
mtx.translate(newPixels.width, 0);
newPixels.draw(pixels, mtx);
pixels = newPixels;
};
return (pixels);
}
public static function set state(State:FlxState):void{
_game.switchState(State);
}
public static function set mute(Mute:Boolean):void{
_mute = Mute;
changeSounds();
}
public static function play(EmbeddedSound:Class, Volume:Number=1, Looped:Boolean=false):FlxSound{
var sl:uint = sounds.length;
var i:uint;
while (i < sl) {
if (!(sounds[i] as FlxSound).active){
break;
};
i++;
};
if (sounds[i] == null){
sounds[i] = new FlxSound();
};
var s:FlxSound = sounds[i];
s.loadEmbedded(EmbeddedSound, Looped);
s.volume = Volume;
s.play();
return (s);
}
public static function set volume(Volume:Number):void{
_volume = Volume;
if (_volume < 0){
_volume = 0;
} else {
if (_volume > 1){
_volume = 1;
};
};
changeSounds();
}
static function setGameData(Game:FlxGame, Width:uint, Height:uint, Zoom:uint):void{
_game = Game;
_cache = new Object();
width = Width;
height = Height;
_mute = false;
_volume = 0.5;
sounds = new Array();
mouse = new FlxMouse();
keys = new FlxKeyboard();
scroll = null;
_scrollTarget = null;
unfollow();
FlxG.levels = new Array();
FlxG.scores = new Array();
level = 0;
score = 0;
FlxU.seed = NaN;
kong = null;
pause = false;
timeScale = 1;
framerate = 60;
frameratePaused = 10;
maxElapsed = 0.0333333;
FlxG.elapsed = 0;
_showBounds = false;
FlxObject._refreshBounds = false;
panel = new FlxPanel();
quake = new FlxQuake(Zoom);
flash = new FlxFlash();
fade = new FlxFade();
FlxU.setWorldBounds(0, 0, FlxG.width, FlxG.height);
}
public static function playMusic(Music:Class, Volume:Number=1):void{
if (music == null){
music = new FlxSound();
} else {
if (music.active){
music.stop();
};
};
music.loadEmbedded(Music, true);
music.volume = Volume;
music.survive = true;
music.play();
}
public static function createBitmap(Width:uint, Height:uint, Color:uint, Unique:Boolean=false, Key:String=null):BitmapData{
var inc:uint;
var ukey:String;
var key:String = Key;
if (key == null){
key = ((((Width + "x") + Height) + ":") + Color);
if (((((Unique) && (!((_cache[key] == undefined))))) && (!((_cache[key] == null))))){
inc = 0;
do {
var _temp1 = inc;
inc = (inc + 1);
ukey = (key + _temp1);
} while (((!((_cache[ukey] == undefined))) && (!((_cache[ukey] == null)))));
key = ukey;
};
};
if (!checkBitmapCache(key)){
_cache[key] = new BitmapData(Width, Height, true, Color);
};
return (_cache[key]);
}
public static function get frameratePaused():uint{
return (_game._frameratePaused);
}
public static function log(Data:Object):void{
if (((!((_game == null))) && (!((_game._console == null))))){
_game._console.log(((Data)==null) ? "ERROR: null object" : Data.toString());
};
}
public static function checkBitmapCache(Key:String):Boolean{
return (((!((_cache[Key] == undefined))) && (!((_cache[Key] == null)))));
}
static function updateSounds():void{
var s:FlxSound;
if (((!((music == null))) && (music.active))){
music.update();
};
var sl:uint = sounds.length;
var i:uint;
while (i < sl) {
s = (sounds[i] as FlxSound);
if (((!((s == null))) && (s.active))){
s.update();
};
i++;
};
}
static function updateInput():void{
keys.update();
mouse.update(state.mouseX, state.mouseY, scroll.x, scroll.y);
}
public static function stream(URL:String, Volume:Number=1, Looped:Boolean=false):FlxSound{
var sl:uint = sounds.length;
var i:uint;
while (i < sl) {
if (!(sounds[i] as FlxSound).active){
break;
};
i++;
};
if (sounds[i] == null){
sounds[i] = new FlxSound();
};
var s:FlxSound = sounds[i];
s.loadStream(URL, Looped);
s.volume = Volume;
s.play();
return (s);
}
static function unfollow():void{
followTarget = null;
followLead = null;
followLerp = 1;
followMin = null;
followMax = null;
if (scroll == null){
scroll = new Point();
} else {
scroll.x = (scroll.y = 0);
};
if (_scrollTarget == null){
_scrollTarget = new Point();
} else {
_scrollTarget.x = (_scrollTarget.y = 0);
};
}
public static function get state():FlxState{
return (_game._state);
}
protected static function playSounds():void{
var s:FlxSound;
if (((!((music == null))) && (music.active))){
music.play();
};
var sl:uint = sounds.length;
var i:uint;
while (i < sl) {
s = (sounds[i] as FlxSound);
if (((!((s == null))) && (s.active))){
s.play();
};
i++;
};
}
public static function followAdjust(LeadX:Number=0, LeadY:Number=0):void{
followLead = new Point(LeadX, LeadY);
}
public static function set framerate(Framerate:uint):void{
_game._framerate = Framerate;
if (((!(_game._paused)) && (!((_game.stage == null))))){
_game.stage.frameRate = Framerate;
};
}
public static function set frameratePaused(Framerate:uint):void{
_game._frameratePaused = Framerate;
if (((_game._paused) && (!((_game.stage == null))))){
_game.stage.frameRate = Framerate;
};
}
public static function follow(Target:FlxObject, Lerp:Number=1):void{
followTarget = Target;
followLerp = Lerp;
_scrollTarget.x = (((width >> 1) - followTarget.x) - (followTarget.width >> 1));
_scrollTarget.y = (((height >> 1) - followTarget.y) - (followTarget.height >> 1));
scroll.x = _scrollTarget.x;
scroll.y = _scrollTarget.y;
doFollow();
}
public static function resetInput():void{
keys.reset();
mouse.reset();
}
public static function get framerate():uint{
return (_game._framerate);
}
public static function followBounds(MinX:int=0, MinY:int=0, MaxX:int=0, MaxY:int=0, UpdateWorldBounds:Boolean=true):void{
followMin = new Point(-(MinX), -(MinY));
followMax = new Point((-(MaxX) + width), (-(MaxY) + height));
if (followMax.x > followMin.x){
followMax.x = followMin.x;
};
if (followMax.y > followMin.y){
followMax.y = followMin.y;
};
if (UpdateWorldBounds){
FlxU.setWorldBounds(MinX, MinY, (MaxX - MinX), (MaxY - MinY));
};
doFollow();
}
protected static function pauseSounds():void{
var s:FlxSound;
if (((!((music == null))) && (music.active))){
music.pause();
};
var sl:uint = sounds.length;
var i:uint;
while (i < sl) {
s = (sounds[i] as FlxSound);
if (((!((s == null))) && (s.active))){
s.pause();
};
i++;
};
}
static function destroySounds(ForceDestroy:Boolean=false):void{
var s:FlxSound;
if (sounds == null){
return;
};
if (((!((music == null))) && (((ForceDestroy) || (!(music.survive)))))){
music.destroy();
};
var sl:uint = sounds.length;
var i:uint;
while (i < sl) {
s = (sounds[i] as FlxSound);
if (((!((s == null))) && (((ForceDestroy) || (!(s.survive)))))){
s.destroy();
};
i++;
};
}
public static function set pause(Pause:Boolean):void{
var op:Boolean = _pause;
_pause = Pause;
if (_pause != op){
if (_pause){
_game.pauseGame();
pauseSounds();
} else {
_game.unpauseGame();
playSounds();
};
};
}
public static function get pause():Boolean{
return (_pause);
}
}
}//package org.flixel
Section 93
//FlxGame (org.flixel.FlxGame)
package org.flixel {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import org.flixel.data.*;
import flash.text.*;
import flash.utils.*;
public class FlxGame extends Sprite {
protected var SndFlixel:Class;
var _screen:Sprite;
var _state:FlxState;
protected var SndBeep:Class;
var _console:FlxConsole;
var _gameXOffset:int;
var _frameratePaused:uint;
var _created:Boolean;
var _zoom:uint;
var _elapsed:Number;
var _total:uint;
var _soundTrayBars:Array;
var _iState:Class;
protected var junk:String;// = "FlxGame_junk"
var _zeroPoint:Point;
var _paused:Boolean;
public var useDefaultHotKeys:Boolean;
var _framerate:uint;
var _gameYOffset:int;
var _buffer:Bitmap;
var _soundTray:Sprite;
var _frame:Class;
public var pause:FlxGroup;
var _soundTrayTimer:Number;
public function FlxGame(GameSizeX:uint, GameSizeY:uint, InitialState:Class, Zoom:uint=2){
SndBeep = FlxGame_SndBeep;
SndFlixel = FlxGame_SndFlixel;
super();
_zoom = Zoom;
FlxState.bgColor = 4278190080;
FlxG.setGameData(this, GameSizeX, GameSizeY, Zoom);
_elapsed = 0;
_total = 0;
pause = new FlxPause();
_state = null;
_iState = InitialState;
_zeroPoint = new Point();
useDefaultHotKeys = true;
_frame = null;
_gameXOffset = 0;
_gameYOffset = 0;
_paused = false;
_created = false;
addEventListener(Event.ENTER_FRAME, create);
}
function pauseGame():void{
}
function unpauseGame():void{
if (!FlxG.panel.visible){
};
FlxG.resetInput();
_paused = false;
stage.frameRate = _framerate;
}
protected function onFocus(event:Event=null):void{
}
protected function onKeyUp(event:KeyboardEvent):void{
var c:int;
var code:String;
if ((((event.keyCode == 192)) || ((event.keyCode == 220)))){
_console.toggle();
return;
};
if (useDefaultHotKeys){
c = event.keyCode;
code = String.fromCharCode(event.charCode);
switch (c){
case 48:
case 96:
FlxG.mute = !(FlxG.mute);
showSoundTray();
return;
case 109:
case 189:
FlxG.mute = false;
FlxG.volume = (FlxG.volume - 0.1);
showSoundTray();
return;
case 107:
case 187:
FlxG.mute = false;
FlxG.volume = (FlxG.volume + 0.1);
showSoundTray();
return;
default:
break;
};
};
FlxG.keys.handleKeyUp(event);
}
public function switchState(State:FlxState):void{
FlxG.panel.hide();
FlxG.unfollow();
FlxG.resetInput();
FlxG.destroySounds();
FlxG.flash.stop();
FlxG.fade.stop();
FlxG.quake.stop();
_screen.x = 0;
_screen.y = 0;
_screen.addChild(State);
if (_state != null){
_state.destroy();
_screen.swapChildren(State, _state);
_screen.removeChild(_state);
};
_state = State;
_state.scaleX = (_state.scaleY = _zoom);
_state.create();
}
protected function update(event:Event):void{
var i:uint;
var soundPrefs:FlxSave;
var mark:uint = getTimer();
var ems:uint = (mark - _total);
_elapsed = (ems / 1000);
_console.mtrTotal.add(ems);
_total = mark;
FlxG.elapsed = _elapsed;
if (FlxG.elapsed > FlxG.maxElapsed){
FlxG.elapsed = FlxG.maxElapsed;
};
FlxG.elapsed = (FlxG.elapsed * FlxG.timeScale);
if (_soundTray != null){
if (_soundTrayTimer > 0){
_soundTrayTimer = (_soundTrayTimer - _elapsed);
} else {
if (_soundTray.y > -(_soundTray.height)){
_soundTray.y = (_soundTray.y - ((_elapsed * FlxG.height) * 2));
if (_soundTray.y <= -(_soundTray.height)){
_soundTray.visible = false;
soundPrefs = new FlxSave();
if (soundPrefs.bind("flixel")){
if (soundPrefs.data.sound == null){
soundPrefs.data.sound = new Object();
};
soundPrefs.data.mute = FlxG.mute;
soundPrefs.data.volume = FlxG.volume;
soundPrefs.forceSave();
};
};
};
};
};
FlxG.panel.update();
if (_console.visible){
_console.update();
};
FlxObject._refreshBounds = false;
FlxG.updateInput();
FlxG.updateSounds();
if (_paused){
pause.update();
} else {
FlxG.doFollow();
_state.update();
if (FlxG.flash.exists){
FlxG.flash.update();
};
if (FlxG.fade.exists){
FlxG.fade.update();
};
FlxG.quake.update();
_screen.x = FlxG.quake.x;
_screen.y = FlxG.quake.y;
};
var updateMark:uint = getTimer();
_console.mtrUpdate.add((updateMark - mark));
FlxG.buffer.lock();
_state.preProcess();
_state.render();
if (FlxG.flash.exists){
FlxG.flash.render();
};
if (FlxG.fade.exists){
FlxG.fade.render();
};
if (FlxG.panel.visible){
FlxG.panel.render();
};
if (FlxG.mouse.cursor != null){
if (FlxG.mouse.cursor.active){
FlxG.mouse.cursor.update();
};
if (FlxG.mouse.cursor.visible){
FlxG.mouse.cursor.render();
};
};
_state.postProcess();
if (_paused){
pause.render();
};
FlxG.buffer.unlock();
_console.mtrRender.add((getTimer() - updateMark));
}
protected function addFrame(Frame:Class, ScreenOffsetX:uint, ScreenOffsetY:uint):FlxGame{
_frame = Frame;
_gameXOffset = ScreenOffsetX;
_gameYOffset = ScreenOffsetY;
return (this);
}
public function showSoundTray(Silent:Boolean=false):void{
if (!Silent){
FlxG.play(SndBeep);
};
_soundTrayTimer = 1;
_soundTray.y = (_gameYOffset * _zoom);
_soundTray.visible = true;
var gv:uint = Math.round((FlxG.volume * 10));
if (FlxG.mute){
gv = 0;
};
var i:uint;
while (i < _soundTrayBars.length) {
if (i < gv){
_soundTrayBars[i].alpha = 1;
} else {
_soundTrayBars[i].alpha = 0.5;
};
i++;
};
}
function create(event:Event):void{
var i:uint;
var soundPrefs:FlxSave;
var bmp:Bitmap;
if (root == null){
return;
};
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.frameRate = _framerate;
_screen = new Sprite();
addChild(_screen);
var tmp:Bitmap = new Bitmap(new BitmapData(FlxG.width, FlxG.height, true, FlxState.bgColor));
tmp.x = _gameXOffset;
tmp.y = _gameYOffset;
tmp.scaleX = (tmp.scaleY = _zoom);
_screen.addChild(tmp);
FlxG.buffer = tmp.bitmapData;
_console = new FlxConsole(_gameXOffset, _gameYOffset, _zoom);
addChild(_console);
var vstring:String = ((((FlxG.LIBRARY_NAME + " v") + FlxG.LIBRARY_MAJOR_VERSION) + ".") + FlxG.LIBRARY_MINOR_VERSION);
if (FlxG.debug){
vstring = (vstring + " [debug]");
} else {
vstring = (vstring + " [release]");
};
var underline:String = "";
i = 0;
while (i < (vstring.length + 32)) {
underline = (underline + "-");
i++;
};
FlxG.log(vstring);
FlxG.log(underline);
stage.addEventListener(KeyboardEvent.KEY_DOWN, FlxG.keys.handleKeyDown, false, 10000);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp, false, 10000);
stage.addEventListener(MouseEvent.MOUSE_DOWN, FlxG.mouse.handleMouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP, FlxG.mouse.handleMouseUp);
stage.addEventListener(MouseEvent.MOUSE_OUT, FlxG.mouse.handleMouseOut);
stage.addEventListener(MouseEvent.MOUSE_OVER, FlxG.mouse.handleMouseOver);
stage.addEventListener(Event.DEACTIVATE, onFocusLost);
stage.addEventListener(Event.ACTIVATE, onFocus);
_soundTray = new Sprite();
_soundTray.visible = false;
_soundTray.scaleX = 2;
_soundTray.scaleY = 2;
tmp = new Bitmap(new BitmapData(80, 30, true, 2130706432));
_soundTray.x = (((_gameXOffset + (FlxG.width / 2)) * _zoom) - ((tmp.width / 2) * _soundTray.scaleX));
_soundTray.addChild(tmp);
var text:TextField = new TextField();
text.width = tmp.width;
text.height = tmp.height;
text.multiline = true;
text.wordWrap = true;
text.selectable = false;
text.embedFonts = true;
text.antiAliasType = AntiAliasType.NORMAL;
text.gridFitType = GridFitType.PIXEL;
text.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "center");
_soundTray.addChild(text);
text.text = "VOLUME";
text.y = 16;
var bx:uint = 10;
var by:uint = 14;
_soundTrayBars = new Array();
i = 0;
while (i < 10) {
tmp = new Bitmap(new BitmapData(4, (i + 1), false, 0xFFFFFF));
tmp.x = bx;
tmp.y = by;
_soundTrayBars.push(_soundTray.addChild(tmp));
bx = (bx + 6);
by--;
i++;
};
addChild(_soundTray);
if (_frame != null){
bmp = new _frame();
bmp.scaleX = _zoom;
bmp.scaleY = _zoom;
addChild(bmp);
};
soundPrefs = new FlxSave();
if (((soundPrefs.bind("flixel")) && (!((soundPrefs.data.sound == null))))){
};
switchState(new _iState());
FlxState.screen.unsafeBind(FlxG.buffer);
removeEventListener(Event.ENTER_FRAME, create);
addEventListener(Event.ENTER_FRAME, update);
}
protected function onFocusLost(event:Event=null):void{
}
}
}//package org.flixel
Section 94
//FlxGame_junk (org.flixel.FlxGame_junk)
package org.flixel {
import mx.core.*;
public class FlxGame_junk extends FontAsset {
}
}//package org.flixel
Section 95
//FlxGame_SndBeep (org.flixel.FlxGame_SndBeep)
package org.flixel {
import mx.core.*;
public class FlxGame_SndBeep extends SoundAsset {
}
}//package org.flixel
Section 96
//FlxGame_SndFlixel (org.flixel.FlxGame_SndFlixel)
package org.flixel {
import mx.core.*;
public class FlxGame_SndFlixel extends SoundAsset {
}
}//package org.flixel
Section 97
//FlxGroup (org.flixel.FlxGroup)
package org.flixel {
public class FlxGroup extends FlxObject {
public var members:Array;
protected var _first:Boolean;
protected var _last:FlxPoint;
public function FlxGroup(){
super();
_group = true;
solid = false;
members = new Array();
_last = new FlxPoint();
_first = true;
}
public function getFirstExtant():FlxObject{
var o:FlxObject;
var ml:uint = members.length;
var i:uint;
while (i < ml) {
o = (members[i] as FlxObject);
if (((!((o == null))) && (o.exists))){
return (o);
};
i++;
};
return (null);
}
override public function destroy():void{
destroyMembers();
super.destroy();
}
public function getFirstAlive():FlxObject{
var o:FlxObject;
var ml:uint = members.length;
var i:uint;
while (i < ml) {
o = (members[i] as FlxObject);
if (((((!((o == null))) && (o.exists))) && (!(o.dead)))){
return (o);
};
i++;
};
return (null);
}
public function remove(Object:FlxObject, Splice:Boolean=false):FlxObject{
var index:int = members.indexOf(Object);
if ((((index < 0)) || ((index >= members.length)))){
return (null);
};
if (Splice){
members.splice(index, 1);
} else {
members[index] = null;
};
return (Object);
}
override public function update():void{
saveOldPosition();
updateMotion();
updateMembers();
updateFlickering();
}
public function resetFirstAvail(X:Number=0, Y:Number=0):Boolean{
var o:FlxObject = getFirstAvail();
if (o == null){
return (false);
};
o.reset(X, Y);
return (true);
}
override public function reset(X:Number, Y:Number):void{
var mx:Number;
var my:Number;
var o:FlxObject;
saveOldPosition();
super.reset(X, Y);
var moved:Boolean;
if (((!((x == _last.x))) || (!((y == _last.y))))){
moved = true;
mx = (x - _last.x);
my = (y - _last.y);
};
var l:uint = members.length;
var i:uint;
while (i < l) {
o = (members[i] as FlxObject);
if (((!((o == null))) && (o.exists))){
if (moved){
if (o._group){
o.reset((o.x + mx), (o.y + my));
} else {
o.x = (o.x + mx);
o.y = (o.y + my);
if (solid){
o.colHullX.width = (o.colHullX.width + ((mx)>0) ? mx : -(mx));
if (mx < 0){
o.colHullX.x = (o.colHullX.x + mx);
};
o.colHullY.x = x;
o.colHullY.height = (o.colHullY.height + ((my)>0) ? my : -(my));
if (my < 0){
o.colHullY.y = (o.colHullY.y + my);
};
o.colVector.x = (o.colVector.x + mx);
o.colVector.y = (o.colVector.y + my);
};
};
};
};
i++;
};
}
protected function updateMembers():void{
var mx:Number;
var my:Number;
var o:FlxObject;
var moved:Boolean;
if (((!((x == _last.x))) || (!((y == _last.y))))){
moved = true;
mx = (x - _last.x);
my = (y - _last.y);
};
var l:uint = members.length;
var i:uint;
while (i < l) {
o = (members[i] as FlxObject);
if (((!((o == null))) && (o.exists))){
if (moved){
if (o._group){
o.reset((o.x + mx), (o.y + my));
} else {
o.x = (o.x + mx);
o.y = (o.y + my);
};
};
if (o.active){
o.update();
};
if (((moved) && (o.solid))){
o.colHullX.width = (o.colHullX.width + ((mx)>0) ? mx : -(mx));
if (mx < 0){
o.colHullX.x = (o.colHullX.x + mx);
};
o.colHullY.x = x;
o.colHullY.height = (o.colHullY.height + ((my)>0) ? my : -(my));
if (my < 0){
o.colHullY.y = (o.colHullY.y + my);
};
o.colVector.x = (o.colVector.x + mx);
o.colVector.y = (o.colVector.y + my);
};
};
i++;
};
}
public function countDead():int{
var o:FlxObject;
var count = -1;
var ml:uint = members.length;
var i:uint;
while (i < ml) {
o = (members[i] as FlxObject);
if (o != null){
if (count < 0){
count = 0;
};
if (o.dead){
count++;
};
};
i++;
};
return (count);
}
public function getFirstAvail():FlxObject{
var o:FlxObject;
var ml:uint = members.length;
var i:uint;
while (i < ml) {
o = (members[i] as FlxObject);
if (((!((o == null))) && (!(o.exists)))){
return (o);
};
i++;
};
return (null);
}
override public function render():void{
renderMembers();
}
public function countLiving():int{
var o:FlxObject;
var count = -1;
var ml:uint = members.length;
var i:uint;
while (i < ml) {
o = (members[i] as FlxObject);
if (o != null){
if (count < 0){
count = 0;
};
if (((o.exists) && (!(o.dead)))){
count++;
};
};
i++;
};
return (count);
}
public function countOnScreen():int{
var o:FlxObject;
var count = -1;
var ml:uint = members.length;
var i:uint;
while (i < ml) {
o = (members[i] as FlxObject);
if (o != null){
if (count < 0){
count = 0;
};
if (o.onScreen()){
count++;
};
};
i++;
};
return (count);
}
protected function killMembers():void{
var o:FlxObject;
var l:uint = members.length;
var i:uint;
while (i < l) {
o = (members[i] as FlxObject);
if (o != null){
o.kill();
};
i++;
};
}
override public function kill():void{
killMembers();
super.kill();
}
public function getFirstNull():int{
var ml:uint = members.length;
var i:uint;
while (i < ml) {
if (members[i] == null){
return (i);
};
i++;
};
return (-1);
}
protected function renderMembers():void{
var o:FlxObject;
var l:uint = members.length;
var i:uint;
while (i < l) {
o = (members[i] as FlxObject);
if (((((!((o == null))) && (o.exists))) && (o.visible))){
o.render();
};
i++;
};
}
public function add(Object:FlxObject, ShareScroll:Boolean=false):FlxObject{
members.push(Object);
if (ShareScroll){
Object.scrollFactor = scrollFactor;
};
return (Object);
}
protected function saveOldPosition():void{
if (_first){
_first = false;
_last.x = 0;
_last.y = 0;
return;
};
_last.x = x;
_last.y = y;
}
public function replace(OldObject:FlxObject, NewObject:FlxObject):FlxObject{
var index:int = members.indexOf(OldObject);
if ((((index < 0)) || ((index >= members.length)))){
return (null);
};
members[index] = NewObject;
return (NewObject);
}
public function getRandom():FlxObject{
var c:uint;
var o:FlxObject;
var l:uint = members.length;
var i:uint = uint((FlxU.random() * l));
while ((((o == null)) && ((c < members.length)))) {
++i;
o = (members[(i % l)] as FlxObject);
c++;
};
return (o);
}
public function getFirstDead():FlxObject{
var o:FlxObject;
var ml:uint = members.length;
var i:uint;
while (i < ml) {
o = (members[i] as FlxObject);
if (((!((o == null))) && (o.dead))){
return (o);
};
i++;
};
return (null);
}
protected function destroyMembers():void{
var o:FlxObject;
var l:uint = members.length;
var i:uint;
while (i < l) {
o = (members[i] as FlxObject);
if (o != null){
o.destroy();
};
i++;
};
members.length = 0;
}
}
}//package org.flixel
Section 98
//FlxMonitor (org.flixel.FlxMonitor)
package org.flixel {
public class FlxMonitor {
protected var _size:uint;
protected var _itr:uint;
protected var _data:Array;
public function FlxMonitor(Size:uint, Default:Number=0){
super();
_size = Size;
if (_size <= 0){
_size = 1;
};
_itr = 0;
_data = new Array(_size);
var i:uint;
while (i < _size) {
_data[i] = Default;
i++;
};
}
public function add(Data:Number):void{
var _local2 = _itr++;
_data[_local2] = Data;
if (_itr >= _size){
_itr = 0;
};
}
public function average():Number{
var sum:Number = 0;
var i:uint;
while (i < _size) {
sum = (sum + _data[i]);
i++;
};
return ((sum / _size));
}
}
}//package org.flixel
Section 99
//FlxObject (org.flixel.FlxObject)
package org.flixel {
import flash.geom.*;
public class FlxObject extends FlxRect {
public var acceleration:FlxPoint;
public var angularAcceleration:Number;
public var active:Boolean;
public var collideBottom:Boolean;
var _group:Boolean;
protected var _point:FlxPoint;
public var colHullX:FlxRect;
protected var _flickerTimer:Number;
public var colHullY:FlxRect;
protected var _flashPoint:Point;
public var colOffsets:Array;
protected var _solid:Boolean;
public var origin:FlxPoint;
public var drag:FlxPoint;
public var angularDrag:Number;
public var collideTop:Boolean;
protected var _flicker:Boolean;
protected var _rect:FlxRect;
public var moves:Boolean;
public var angle:Number;
public var exists:Boolean;
public var velocity:FlxPoint;
public var maxAngular:Number;
public var angularVelocity:Number;
public var maxVelocity:FlxPoint;
public var maxThrust:Number;
public var dead:Boolean;
public var collideLeft:Boolean;
public var thrust:Number;
public var onFloor:Boolean;
public var health:Number;
protected var _fixed:Boolean;
public var visible:Boolean;
public var colVector:FlxPoint;
public var scrollFactor:FlxPoint;
public var collideRight:Boolean;
protected static const _pZero:FlxPoint = new FlxPoint();
static var _refreshBounds:Boolean;
public function FlxObject(X:Number=0, Y:Number=0, Width:Number=0, Height:Number=0){
super(X, Y, Width, Height);
exists = true;
active = true;
visible = true;
_solid = true;
_fixed = false;
moves = true;
collideLeft = true;
collideRight = true;
collideTop = true;
collideBottom = true;
origin = new FlxPoint();
velocity = new FlxPoint();
acceleration = new FlxPoint();
drag = new FlxPoint();
maxVelocity = new FlxPoint(10000, 10000);
angle = 0;
angularVelocity = 0;
angularAcceleration = 0;
angularDrag = 0;
maxAngular = 10000;
thrust = 0;
scrollFactor = new FlxPoint(1, 1);
_flicker = false;
_flickerTimer = -1;
health = 1;
dead = false;
_point = new FlxPoint();
_rect = new FlxRect();
_flashPoint = new Point();
colHullX = new FlxRect();
colHullY = new FlxRect();
colVector = new FlxPoint();
colOffsets = new Array(new FlxPoint());
_group = false;
}
public function getScreenXY(Point:FlxPoint=null):FlxPoint{
if (Point == null){
Point = new FlxPoint();
};
Point.x = (FlxU.floor((x + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.x * scrollFactor.x)));
Point.y = (FlxU.floor((y + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.y * scrollFactor.y)));
return (Point);
}
public function onScreen():Boolean{
getScreenXY(_point);
if (((((((((_point.x + width) < 0)) || ((_point.x > FlxG.width)))) || (((_point.y + height) < 0)))) || ((_point.y > FlxG.height)))){
return (false);
};
return (true);
}
public function kill():void{
exists = false;
dead = true;
}
protected function updateFlickering():void{
if (flickering()){
if (_flickerTimer > 0){
_flickerTimer = (_flickerTimer - FlxG.elapsed);
if (_flickerTimer == 0){
_flickerTimer = -1;
};
};
if (_flickerTimer < 0){
flicker(-1);
} else {
_flicker = !(_flicker);
visible = !(_flicker);
};
};
}
public function render():void{
}
public function hitBottom(Contact:FlxObject, Velocity:Number):void{
onFloor = true;
if (!fixed){
velocity.y = Velocity;
};
}
public function get fixed():Boolean{
return (_fixed);
}
public function overlaps(Object:FlxObject):Boolean{
var ts:FlxSprite;
var os:FlxSprite;
getScreenXY(_point);
var tx:Number = _point.x;
var ty:Number = _point.y;
var tw:Number = width;
var th:Number = height;
if ((this is FlxSprite)){
ts = (this as FlxSprite);
tw = ts.frameWidth;
th = ts.frameHeight;
};
Object.getScreenXY(_point);
var ox:Number = _point.x;
var oy:Number = _point.y;
var ow:Number = Object.width;
var oh:Number = Object.height;
if ((Object is FlxSprite)){
os = (Object as FlxSprite);
ow = os.frameWidth;
oh = os.frameHeight;
};
if ((((((((ox <= (tx - ow))) || ((ox >= (tx + tw))))) || ((oy <= (ty - oh))))) || ((oy >= (ty + th))))){
return (false);
};
return (true);
}
public function preCollide(Object:FlxObject):void{
}
public function get solid():Boolean{
return (_solid);
}
public function hurt(Damage:Number):void{
if ((health = (health - Damage)) <= 0){
kill();
};
}
public function refreshHulls():void{
colHullX.x = x;
colHullX.y = y;
colHullX.width = width;
colHullX.height = height;
colHullY.x = x;
colHullY.y = y;
colHullY.width = width;
colHullY.height = height;
}
public function hitLeft(Contact:FlxObject, Velocity:Number):void{
if (!fixed){
velocity.x = Velocity;
};
}
public function collide(Object:FlxObject=null):Boolean{
return (FlxU.collide(this, ((Object)==null) ? this : Object));
}
public function reset(X:Number, Y:Number):void{
x = X;
y = Y;
exists = true;
dead = false;
}
public function update():void{
updateMotion();
updateFlickering();
}
public function hitTop(Contact:FlxObject, Velocity:Number):void{
if (!fixed){
velocity.y = Velocity;
};
}
public function set solid(Solid:Boolean):void{
_solid = Solid;
}
protected function updateMotion():void{
var vc:Number;
var thrustComponents:FlxPoint;
var maxComponents:FlxPoint;
var max:Number;
if (!moves){
return;
};
if (_solid){
refreshHulls();
};
onFloor = false;
vc = ((FlxU.computeVelocity(angularVelocity, angularAcceleration, angularDrag, maxAngular) - angularVelocity) / 2);
angularVelocity = (angularVelocity + vc);
angle = (angle + (angularVelocity * FlxG.elapsed));
angularVelocity = (angularVelocity + vc);
if (thrust != 0){
thrustComponents = FlxU.rotatePoint(-(thrust), 0, 0, 0, angle);
maxComponents = FlxU.rotatePoint(-(maxThrust), 0, 0, 0, angle);
max = ((maxComponents.x)>0) ? maxComponents.x : -(maxComponents.x);
if (max > ((maxComponents.y)>0) ? maxComponents.y : -(maxComponents.y)){
maxComponents.y = max;
} else {
max = ((maxComponents.y)>0) ? maxComponents.y : -(maxComponents.y);
};
maxVelocity.x = (maxVelocity.y = ((max)>0) ? max : -(max));
} else {
thrustComponents = _pZero;
};
vc = ((FlxU.computeVelocity(velocity.x, (acceleration.x + thrustComponents.x), drag.x, maxVelocity.x) - velocity.x) / 2);
velocity.x = (velocity.x + vc);
var xd:Number = (velocity.x * FlxG.elapsed);
velocity.x = (velocity.x + vc);
vc = ((FlxU.computeVelocity(velocity.y, (acceleration.y + thrustComponents.y), drag.y, maxVelocity.y) - velocity.y) / 2);
velocity.y = (velocity.y + vc);
var yd:Number = (velocity.y * FlxG.elapsed);
velocity.y = (velocity.y + vc);
x = (x + xd);
y = (y + yd);
if (!_solid){
return;
};
colVector.x = xd;
colVector.y = yd;
colHullX.width = (colHullX.width + ((colVector.x)>0) ? colVector.x : -(colVector.x));
if (colVector.x < 0){
colHullX.x = (colHullX.x + colVector.x);
};
colHullY.x = x;
colHullY.height = (colHullY.height + ((colVector.y)>0) ? colVector.y : -(colVector.y));
if (colVector.y < 0){
colHullY.y = (colHullY.y + colVector.y);
};
}
public function getBoundingColor():uint{
if (solid){
if (fixed){
return (2130768421);
};
return (2147418130);
//unresolved jump
};
return (2130743529);
}
public function set fixed(Fixed:Boolean):void{
_fixed = Fixed;
}
public function flickering():Boolean{
return ((_flickerTimer >= 0));
}
public function overlapsPoint(X:Number, Y:Number, PerPixel:Boolean=false):Boolean{
X = (X + FlxU.floor(FlxG.scroll.x));
Y = (Y + FlxU.floor(FlxG.scroll.y));
getScreenXY(_point);
if ((((((((X <= _point.x)) || ((X >= (_point.x + width))))) || ((Y <= _point.y)))) || ((Y >= (_point.y + height))))){
return (false);
};
return (true);
}
public function hitRight(Contact:FlxObject, Velocity:Number):void{
hitLeft(Contact, Velocity);
}
public function destroy():void{
}
public function flicker(Duration:Number=1):void{
_flickerTimer = Duration;
if (_flickerTimer < 0){
_flicker = false;
visible = true;
};
}
}
}//package org.flixel
Section 100
//FlxPoint (org.flixel.FlxPoint)
package org.flixel {
public class FlxPoint {
public var x:Number;
public var y:Number;
public function FlxPoint(X:Number=0, Y:Number=0){
super();
x = X;
y = Y;
}
public function toString():String{
return (FlxU.getClassName(this, true));
}
}
}//package org.flixel
Section 101
//FlxPreloader (org.flixel.FlxPreloader)
package org.flixel {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
public class FlxPreloader extends MovieClip {
protected var _height:uint;
protected var _width:uint;
protected var ImgLogoLight:Class;
protected var _logo:Bitmap;
protected var _text:TextField;
protected var _min:uint;
protected var _buffer:Sprite;
public var className:String;
public var myURL:String;
protected var _bmpBar:Bitmap;
protected var ImgLogo:Class;
protected var _init:Boolean;
protected var ImgLogoCorners:Class;
protected var _logoGlow:Bitmap;
public var minDisplayTime:Number;
public function FlxPreloader(){
var tmp:Bitmap;
var re:RegExp;
var fmt:TextFormat;
var txt:TextField;
ImgLogo = FlxPreloader_ImgLogo;
ImgLogoCorners = FlxPreloader_ImgLogoCorners;
ImgLogoLight = FlxPreloader_ImgLogoLight;
super();
minDisplayTime = 0;
stop();
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
throw (new Error("Setting global debug flag..."));
//unresolved jump
var _slot1 = e;
re = /\[.*:[0-9]+\]/;
FlxG.debug = re.test(_slot1.getStackTrace());
if (((((!(FlxG.debug)) && (!((myURL == null))))) && ((root.loaderInfo.url.indexOf(myURL) < 0)))){
tmp = new Bitmap(new BitmapData(stage.stageWidth, stage.stageHeight, true, 4294967295));
addChild(tmp);
fmt = new TextFormat();
fmt.color = 0;
fmt.size = 16;
fmt.align = "center";
fmt.bold = true;
fmt.font = "system";
txt = new TextField();
txt.width = (tmp.width - 16);
txt.height = (tmp.height - 16);
txt.y = 8;
txt.multiline = true;
txt.wordWrap = true;
txt.embedFonts = true;
txt.defaultTextFormat = fmt;
txt.text = (("Hi there! It looks like somebody copied this game without my permission. Just click anywhere, or copy-paste this URL into your browser.\n\n" + myURL) + "\n\nto play the game at my site. Thanks, and have fun!");
addChild(txt);
txt.addEventListener(MouseEvent.CLICK, goToMyURL);
tmp.addEventListener(MouseEvent.CLICK, goToMyURL);
return;
};
_init = false;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
protected function update(Percent:Number):void{
_bmpBar.scaleX = (Percent * (_width - 8));
_text.text = (((((("FLX v" + FlxG.LIBRARY_MAJOR_VERSION) + ".") + FlxG.LIBRARY_MINOR_VERSION) + " ") + FlxU.floor((Percent * 100))) + "%");
_text.setTextFormat(_text.defaultTextFormat);
if (Percent < 0.1){
_logoGlow.alpha = 0;
_logo.alpha = 0;
} else {
if (Percent < 0.15){
_logoGlow.alpha = FlxU.random(false);
_logo.alpha = 0;
} else {
if (Percent < 0.2){
_logoGlow.alpha = 0;
_logo.alpha = 0;
} else {
if (Percent < 0.25){
_logoGlow.alpha = 0;
_logo.alpha = FlxU.random(false);
} else {
if (Percent < 0.7){
_logoGlow.alpha = ((Percent - 0.45) / 0.45);
_logo.alpha = 1;
} else {
if ((((Percent > 0.8)) && ((Percent < 0.9)))){
_logoGlow.alpha = (1 - ((Percent - 0.8) / 0.1));
_logo.alpha = 0;
} else {
if (Percent > 0.9){
_buffer.alpha = (1 - ((Percent - 0.9) / 0.1));
};
};
};
};
};
};
};
}
private function goToMyURL(event:MouseEvent=null):void{
navigateToURL(new URLRequest(("http://" + myURL)));
}
private function onEnterFrame(event:Event):void{
var i:int;
var mainClass:Class;
var app:Object;
var percent:Number;
if (!_init){
if ((((stage.stageWidth <= 0)) || ((stage.stageHeight <= 0)))){
return;
};
create();
_init = true;
};
graphics.clear();
var time:uint = getTimer();
if ((((framesLoaded >= totalFrames)) && ((time > _min)))){
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
nextFrame();
mainClass = Class(getDefinitionByName(className));
if (mainClass){
app = new (mainClass);
addChild((app as DisplayObject));
};
removeChild(_buffer);
} else {
percent = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal);
if ((((_min > 0)) && ((percent > (time / _min))))){
percent = (time / _min);
};
update(percent);
};
}
protected function create():void{
var j:uint;
_min = 0;
if (!FlxG.debug){
_min = (minDisplayTime * 1000);
};
_buffer = new Sprite();
_buffer.scaleX = 2;
_buffer.scaleY = 2;
addChild(_buffer);
_width = (stage.stageWidth / _buffer.scaleX);
_height = (stage.stageHeight / _buffer.scaleY);
_buffer.addChild(new Bitmap(new BitmapData(_width, _height, false, 13406)));
var b:Bitmap = new ImgLogoLight();
b.smoothing = true;
b.width = (b.height = _height);
b.x = ((_width - b.width) / 2);
_buffer.addChild(b);
_bmpBar = new Bitmap(new BitmapData(1, 7, false, 6253311));
_bmpBar.x = 4;
_bmpBar.y = (_height - 11);
_buffer.addChild(_bmpBar);
_text = new TextField();
_text.defaultTextFormat = new TextFormat("system", 8, 6253311);
_text.embedFonts = true;
_text.selectable = false;
_text.multiline = false;
_text.x = 2;
_text.y = (_bmpBar.y - 11);
_text.width = 80;
_buffer.addChild(_text);
_logo = new ImgLogo();
_logo.scaleX = (_logo.scaleY = (_height / 8));
_logo.x = ((_width - _logo.width) / 2);
_logo.y = ((_height - _logo.height) / 2);
_buffer.addChild(_logo);
_logoGlow = new ImgLogo();
_logoGlow.smoothing = true;
_logoGlow.blendMode = "screen";
_logoGlow.scaleX = (_logoGlow.scaleY = (_height / 8));
_logoGlow.x = ((_width - _logoGlow.width) / 2);
_logoGlow.y = ((_height - _logoGlow.height) / 2);
_buffer.addChild(_logoGlow);
b = new ImgLogoCorners();
b.smoothing = true;
b.width = _width;
b.height = _height;
_buffer.addChild(b);
b = new Bitmap(new BitmapData(_width, _height, false, 0xFFFFFF));
var i:uint;
while (i < _height) {
j = 0;
while (j < _width) {
b.bitmapData.setPixel(j, i, 0);
j++;
};
i = (i + 2);
};
b.blendMode = "overlay";
b.alpha = 0.25;
_buffer.addChild(b);
}
}
}//package org.flixel
Section 102
//FlxPreloader_ImgLogo (org.flixel.FlxPreloader_ImgLogo)
package org.flixel {
import mx.core.*;
public class FlxPreloader_ImgLogo extends BitmapAsset {
}
}//package org.flixel
Section 103
//FlxPreloader_ImgLogoCorners (org.flixel.FlxPreloader_ImgLogoCorners)
package org.flixel {
import mx.core.*;
public class FlxPreloader_ImgLogoCorners extends BitmapAsset {
}
}//package org.flixel
Section 104
//FlxPreloader_ImgLogoLight (org.flixel.FlxPreloader_ImgLogoLight)
package org.flixel {
import mx.core.*;
public class FlxPreloader_ImgLogoLight extends BitmapAsset {
}
}//package org.flixel
Section 105
//FlxQuadTree (org.flixel.FlxQuadTree)
package org.flixel {
import org.flixel.data.*;
public class FlxQuadTree extends FlxRect {
protected var _sw:FlxQuadTree;
protected var _mx:Number;
protected var _my:Number;
protected var _ne:FlxQuadTree;
protected var _hh:Number;
protected var _headA:FlxList;
protected var _headB:FlxList;
protected var _canSubdivide:Boolean;
protected var _l:Number;
protected var _hw:Number;
protected var _nw:FlxQuadTree;
protected var _se:FlxQuadTree;
protected var _tailA:FlxList;
protected var _r:Number;
protected var _t:Number;
protected var _tailB:FlxList;
protected var _b:Number;
public static const A_LIST:uint = 0;
public static const B_LIST:uint = 1;
protected static var _ot:Number;
protected static var _or:Number;
protected static var _o:FlxObject;
protected static var _ob:Number;
protected static var _min:uint;
protected static var _oc:Function;
protected static var _ol:Number;
protected static var _oa:uint;
public function FlxQuadTree(X:Number, Y:Number, Width:Number, Height:Number, Parent:FlxQuadTree=null){
var itr:FlxList;
var ot:FlxList;
super(X, Y, Width, Height);
_headA = (_tailA = new FlxList());
_headB = (_tailB = new FlxList());
if (Parent != null){
if (Parent._headA.object != null){
itr = Parent._headA;
while (itr != null) {
if (_tailA.object != null){
ot = _tailA;
_tailA = new FlxList();
ot.next = _tailA;
};
_tailA.object = itr.object;
itr = itr.next;
};
};
if (Parent._headB.object != null){
itr = Parent._headB;
while (itr != null) {
if (_tailB.object != null){
ot = _tailB;
_tailB = new FlxList();
ot.next = _tailB;
};
_tailB.object = itr.object;
itr = itr.next;
};
};
} else {
_min = ((width + height) / (2 * FlxU.quadTreeDivisions));
};
_canSubdivide = (((width > _min)) || ((height > _min)));
_nw = null;
_ne = null;
_se = null;
_sw = null;
_l = x;
_r = (x + width);
_hw = (width / 2);
_mx = (_l + _hw);
_t = y;
_b = (y + height);
_hh = (height / 2);
_my = (_t + _hh);
}
protected function addObject():void{
if (((!(_canSubdivide)) || ((((((((_l >= _ol)) && ((_r <= _or)))) && ((_t >= _ot)))) && ((_b <= _ob)))))){
addToList();
return;
};
if ((((_ol > _l)) && ((_or < _mx)))){
if ((((_ot > _t)) && ((_ob < _my)))){
if (_nw == null){
_nw = new FlxQuadTree(_l, _t, _hw, _hh, this);
};
_nw.addObject();
return;
};
if ((((_ot > _my)) && ((_ob < _b)))){
if (_sw == null){
_sw = new FlxQuadTree(_l, _my, _hw, _hh, this);
};
_sw.addObject();
return;
};
};
if ((((_ol > _mx)) && ((_or < _r)))){
if ((((_ot > _t)) && ((_ob < _my)))){
if (_ne == null){
_ne = new FlxQuadTree(_mx, _t, _hw, _hh, this);
};
_ne.addObject();
return;
};
if ((((_ot > _my)) && ((_ob < _b)))){
if (_se == null){
_se = new FlxQuadTree(_mx, _my, _hw, _hh, this);
};
_se.addObject();
return;
};
};
if ((((((((_or > _l)) && ((_ol < _mx)))) && ((_ob > _t)))) && ((_ot < _my)))){
if (_nw == null){
_nw = new FlxQuadTree(_l, _t, _hw, _hh, this);
};
_nw.addObject();
};
if ((((((((_or > _mx)) && ((_ol < _r)))) && ((_ob > _t)))) && ((_ot < _my)))){
if (_ne == null){
_ne = new FlxQuadTree(_mx, _t, _hw, _hh, this);
};
_ne.addObject();
};
if ((((((((_or > _mx)) && ((_ol < _r)))) && ((_ob > _my)))) && ((_ot < _b)))){
if (_se == null){
_se = new FlxQuadTree(_mx, _my, _hw, _hh, this);
};
_se.addObject();
};
if ((((((((_or > _l)) && ((_ol < _mx)))) && ((_ob > _my)))) && ((_ot < _b)))){
if (_sw == null){
_sw = new FlxQuadTree(_l, _my, _hw, _hh, this);
};
_sw.addObject();
};
}
protected function addToList():void{
var ot:FlxList;
if (_oa == A_LIST){
if (_tailA.object != null){
ot = _tailA;
_tailA = new FlxList();
ot.next = _tailA;
};
_tailA.object = _o;
} else {
if (_tailB.object != null){
ot = _tailB;
_tailB = new FlxList();
ot.next = _tailB;
};
_tailB.object = _o;
};
if (!_canSubdivide){
return;
};
if (_nw != null){
_nw.addToList();
};
if (_ne != null){
_ne.addToList();
};
if (_se != null){
_se.addToList();
};
if (_sw != null){
_sw.addToList();
};
}
public function overlap(BothLists:Boolean=true, Callback:Function=null):Boolean{
var itr:FlxList;
_oc = Callback;
var c:Boolean;
if (BothLists){
_oa = B_LIST;
if (_headA.object != null){
itr = _headA;
while (itr != null) {
_o = itr.object;
if (((((_o.exists) && (_o.solid))) && (overlapNode()))){
c = true;
};
itr = itr.next;
};
};
_oa = A_LIST;
if (_headB.object != null){
itr = _headB;
while (itr != null) {
_o = itr.object;
if (((_o.exists) && (_o.solid))){
if (((!((_nw == null))) && (_nw.overlapNode()))){
c = true;
};
if (((!((_ne == null))) && (_ne.overlapNode()))){
c = true;
};
if (((!((_se == null))) && (_se.overlapNode()))){
c = true;
};
if (((!((_sw == null))) && (_sw.overlapNode()))){
c = true;
};
};
itr = itr.next;
};
};
} else {
if (_headA.object != null){
itr = _headA;
while (itr != null) {
_o = itr.object;
if (((((_o.exists) && (_o.solid))) && (overlapNode(itr.next)))){
c = true;
};
itr = itr.next;
};
};
};
if (((!((_nw == null))) && (_nw.overlap(BothLists, _oc)))){
c = true;
};
if (((!((_ne == null))) && (_ne.overlap(BothLists, _oc)))){
c = true;
};
if (((!((_se == null))) && (_se.overlap(BothLists, _oc)))){
c = true;
};
if (((!((_sw == null))) && (_sw.overlap(BothLists, _oc)))){
c = true;
};
return (c);
}
public function add(Object:FlxObject, List:uint):void{
var m:FlxObject;
var members:Array;
var l:uint;
var i:uint;
_oa = List;
if (Object._group){
members = (Object as FlxGroup).members;
l = members.length;
i = 0;
while (i < l) {
m = (members[i] as FlxObject);
if (((!((m == null))) && (m.exists))){
if (m._group){
add(m, List);
} else {
if (m.solid){
_o = m;
_ol = _o.x;
_ot = _o.y;
_or = (_o.x + _o.width);
_ob = (_o.y + _o.height);
addObject();
};
};
};
i++;
};
};
if (Object.solid){
_o = Object;
_ol = _o.x;
_ot = _o.y;
_or = (_o.x + _o.width);
_ob = (_o.y + _o.height);
addObject();
};
}
protected function overlapNode(Iterator:FlxList=null):Boolean{
var co:FlxObject;
var c:Boolean;
var itr:FlxList = Iterator;
if (itr == null){
if (_oa == A_LIST){
itr = _headA;
} else {
itr = _headB;
};
};
if (itr.object != null){
while (itr != null) {
co = itr.object;
if ((((((((((((((((((_o === co)) || (!(co.exists)))) || (!(_o.exists)))) || (!(co.solid)))) || (!(_o.solid)))) || (((_o.x + _o.width) < (co.x + FlxU.roundingError))))) || (((_o.x + FlxU.roundingError) > (co.x + co.width))))) || (((_o.y + _o.height) < (co.y + FlxU.roundingError))))) || (((_o.y + FlxU.roundingError) > (co.y + co.height))))){
itr = itr.next;
} else {
if (_oc == null){
_o.kill();
co.kill();
c = true;
} else {
if (_oc(_o, co)){
c = true;
};
};
itr = itr.next;
};
};
};
return (c);
}
}
}//package org.flixel
Section 106
//FlxRect (org.flixel.FlxRect)
package org.flixel {
public class FlxRect extends FlxPoint {
public var width:Number;
public var height:Number;
public function FlxRect(X:Number=0, Y:Number=0, Width:Number=0, Height:Number=0){
super(X, Y);
width = Width;
height = Height;
}
public function get bottom():Number{
return ((y + height));
}
public function get top():Number{
return (y);
}
public function get left():Number{
return (x);
}
public function get right():Number{
return ((x + width));
}
}
}//package org.flixel
Section 107
//FlxSave (org.flixel.FlxSave)
package org.flixel {
import flash.net.*;
public class FlxSave {
protected var _so:SharedObject;
public var data:Object;
public var name:String;
public function FlxSave(){
super();
name = null;
_so = null;
data = null;
}
public function read(FieldName:String):Object{
if (_so == null){
FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.read().");
return (null);
};
return (data[FieldName]);
}
public function forceSave(MinFileSize:uint=0):Boolean{
var MinFileSize = MinFileSize;
if (_so == null){
FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.forceSave().");
return (false);
};
var status:Object;
status = _so.flush(MinFileSize);
//unresolved jump
var _slot1 = e;
FlxG.log("WARNING: There was a problem flushing\nthe shared object data from FlxSave.");
return (false);
return ((status == SharedObjectFlushStatus.FLUSHED));
}
public function bind(Name:String):Boolean{
var Name = Name;
name = null;
_so = null;
data = null;
name = Name;
_so = SharedObject.getLocal(name);
//unresolved jump
var _slot1 = e;
FlxG.log("WARNING: There was a problem binding to\nthe shared object data from FlxSave.");
name = null;
_so = null;
data = null;
return (false);
data = _so.data;
return (true);
}
public function erase(MinFileSize:uint=0):Boolean{
if (_so == null){
FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.erase().");
return (false);
};
_so.clear();
return (forceSave(MinFileSize));
}
public function write(FieldName:String, FieldValue:Object, MinFileSize:uint=0):Boolean{
if (_so == null){
FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.write().");
return (false);
};
data[FieldName] = FieldValue;
return (forceSave(MinFileSize));
}
}
}//package org.flixel
Section 108
//FlxSound (org.flixel.FlxSound)
package org.flixel {
import flash.events.*;
import flash.media.*;
import flash.net.*;
public class FlxSound extends FlxObject {
public var name:String;
protected var _position:Number;
protected var _fadeOutTotal:Number;
protected var _fadeOutTimer:Number;
protected var _sound:Sound;
protected var _pauseOnFadeOut:Boolean;
protected var _volumeAdjust:Number;
public var playing:Boolean;
protected var _radius:Number;
protected var _volume:Number;
protected var _point2:FlxPoint;
protected var _fadeInTimer:Number;
public var artist:String;
protected var _channel:SoundChannel;
protected var _fadeInTotal:Number;
protected var _looped:Boolean;
protected var _pan:Boolean;
protected var _transform:SoundTransform;
protected var _init:Boolean;
public var survive:Boolean;
protected var _core:FlxObject;
public function FlxSound(){
super();
_point2 = new FlxPoint();
_transform = new SoundTransform();
init();
fixed = true;
}
public function loadStream(SoundURL:String, Looped:Boolean=false):FlxSound{
stop();
init();
_sound = new Sound();
_sound.addEventListener(Event.ID3, gotID3);
_sound.load(new URLRequest(SoundURL));
_looped = Looped;
updateTransform();
active = true;
return (this);
}
public function stop():void{
_position = 0;
if (_channel != null){
_channel.stop();
stopped();
};
}
public function loadEmbedded(EmbeddedSound:Class, Looped:Boolean=false):FlxSound{
stop();
init();
_sound = new (EmbeddedSound);
_looped = Looped;
updateTransform();
active = true;
return (this);
}
public function get volume():Number{
return (_volume);
}
function updateTransform():void{
_transform.volume = (((FlxG.getMuteValue() * FlxG.volume) * _volume) * _volumeAdjust);
if (_channel != null){
_channel.soundTransform = _transform;
};
}
public function fadeOut(Seconds:Number, PauseInstead:Boolean=false):void{
_pauseOnFadeOut = PauseInstead;
_fadeInTimer = 0;
_fadeOutTimer = Seconds;
_fadeOutTotal = _fadeOutTimer;
}
public function play():void{
if (_position < 0){
return;
};
if (_looped){
if (_position == 0){
if (_channel == null){
_channel = _sound.play(0, 9999, _transform);
};
if (_channel == null){
active = false;
};
} else {
_channel = _sound.play(_position, 0, _transform);
if (_channel == null){
active = false;
} else {
_channel.addEventListener(Event.SOUND_COMPLETE, looped);
};
};
} else {
if (_position == 0){
if (_channel == null){
_channel = _sound.play(0, 0, _transform);
if (_channel == null){
active = false;
} else {
_channel.addEventListener(Event.SOUND_COMPLETE, stopped);
};
};
} else {
_channel = _sound.play(_position, 0, _transform);
if (_channel == null){
active = false;
};
};
};
playing = !((_channel == null));
_position = 0;
}
public function set volume(Volume:Number):void{
_volume = Volume;
if (_volume < 0){
_volume = 0;
} else {
if (_volume > 1){
_volume = 1;
};
};
updateTransform();
}
protected function init():void{
_transform.pan = 0;
_sound = null;
_position = 0;
_volume = 1;
_volumeAdjust = 1;
_looped = false;
_core = null;
_radius = 0;
_pan = false;
_fadeOutTimer = 0;
_fadeOutTotal = 0;
_pauseOnFadeOut = false;
_fadeInTimer = 0;
_fadeInTotal = 0;
active = false;
visible = false;
solid = false;
playing = false;
name = null;
artist = null;
}
protected function looped(event:Event=null):void{
if (_channel == null){
return;
};
_channel.removeEventListener(Event.SOUND_COMPLETE, looped);
_channel = null;
play();
}
protected function updateSound():void{
var _point:FlxPoint;
var _point2:FlxPoint;
var dx:Number;
var dy:Number;
var d:Number;
if (_position != 0){
return;
};
var radial:Number = 1;
var fade:Number = 1;
if (_core != null){
_point = new FlxPoint();
_point2 = new FlxPoint();
_core.getScreenXY(_point);
getScreenXY(_point2);
dx = (_point.x - _point2.x);
dy = (_point.y - _point2.y);
radial = ((_radius - Math.sqrt(((dx * dx) + (dy * dy)))) / _radius);
if (radial < 0){
radial = 0;
};
if (radial > 1){
radial = 1;
};
if (_pan){
d = (-(dx) / _radius);
if (d < -1){
d = -1;
} else {
if (d > 1){
d = 1;
};
};
_transform.pan = d;
};
};
if (_fadeOutTimer > 0){
_fadeOutTimer = (_fadeOutTimer - FlxG.elapsed);
if (_fadeOutTimer <= 0){
if (_pauseOnFadeOut){
pause();
} else {
stop();
};
};
fade = (_fadeOutTimer / _fadeOutTotal);
if (fade < 0){
fade = 0;
};
} else {
if (_fadeInTimer > 0){
_fadeInTimer = (_fadeInTimer - FlxG.elapsed);
fade = (_fadeInTimer / _fadeInTotal);
if (fade < 0){
fade = 0;
};
fade = (1 - fade);
};
};
_volumeAdjust = (radial * fade);
updateTransform();
}
public function fadeIn(Seconds:Number):void{
_fadeOutTimer = 0;
_fadeInTimer = Seconds;
_fadeInTotal = _fadeInTimer;
play();
}
override public function update():void{
super.update();
updateSound();
}
protected function stopped(event:Event=null):void{
if (!_looped){
_channel.removeEventListener(Event.SOUND_COMPLETE, stopped);
} else {
_channel.removeEventListener(Event.SOUND_COMPLETE, looped);
};
_channel = null;
active = false;
playing = false;
}
protected function gotID3(event:Event=null):void{
FlxG.log("got ID3 info!");
if (_sound.id3.songName.length > 0){
name = _sound.id3.songName;
};
if (_sound.id3.artist.length > 0){
artist = _sound.id3.artist;
};
_sound.removeEventListener(Event.ID3, gotID3);
}
public function pause():void{
if (_channel == null){
_position = -1;
return;
};
_position = _channel.position;
_channel.stop();
if (_looped){
while (_position >= _sound.length) {
_position = (_position - _sound.length);
};
};
_channel = null;
playing = false;
}
override public function destroy():void{
if (active){
stop();
};
}
public function proximity(X:Number, Y:Number, Core:FlxObject, Radius:Number, Pan:Boolean=true):FlxSound{
x = X;
y = Y;
_core = Core;
_radius = Radius;
_pan = Pan;
return (this);
}
}
}//package org.flixel
Section 109
//FlxSprite (org.flixel.FlxSprite)
package org.flixel {
import flash.display.*;
import flash.geom.*;
import org.flixel.data.*;
public class FlxSprite extends FlxObject {
protected var _mtx:Matrix;
protected var _caf:uint;
public var finished:Boolean;
protected var _animations:Array;
protected var _ct:ColorTransform;
public var offset:FlxPoint;
protected var _callback:Function;
protected var _curAnim:FlxAnim;
protected var _framePixels:BitmapData;
protected var _flipped:uint;
public var scale:FlxPoint;
protected var _pixels:BitmapData;
protected var _bakedRotation:Number;
public var blend:String;
public var frameWidth:uint;
protected var _flashRect2:Rectangle;
protected var _bbb:BitmapData;
protected var _alpha:Number;
protected var _flashPointZero:Point;
protected var _curFrame:uint;
public var frameHeight:uint;
protected var _flashRect:Rectangle;
protected var _frameTimer:Number;
protected var _facing:uint;
public var antialiasing:Boolean;
protected var _color:uint;
public static const LEFT:uint = 0;
public static const DOWN:uint = 3;
public static const UP:uint = 2;
public static const RIGHT:uint = 1;
public function FlxSprite(X:Number=0, Y:Number=0, SimpleGraphic:Class=null){
super();
x = X;
y = Y;
_flashRect = new Rectangle();
_flashRect2 = new Rectangle();
_flashPointZero = new Point();
offset = new FlxPoint();
scale = new FlxPoint(1, 1);
_alpha = 1;
_color = 0xFFFFFF;
blend = null;
antialiasing = false;
finished = false;
_facing = RIGHT;
_animations = new Array();
_flipped = 0;
_curAnim = null;
_curFrame = 0;
_caf = 0;
_frameTimer = 0;
_mtx = new Matrix();
_callback = null;
if (SimpleGraphic == null){
createGraphic(8, 8);
} else {
loadGraphic(SimpleGraphic);
};
}
override public function set fixed(Fixed:Boolean):void{
var of:Boolean = _fixed;
_fixed = Fixed;
if (((!((of == _fixed))) && (FlxG.showBounds))){
calcFrame();
};
}
protected function renderSprite():void{
if (_refreshBounds){
calcFrame();
};
getScreenXY(_point);
_flashPoint.x = _point.x;
_flashPoint.y = _point.y;
if ((((((((((angle == 0)) || ((_bakedRotation > 0)))) && ((scale.x == 1)))) && ((scale.y == 1)))) && ((blend == null)))){
FlxG.buffer.copyPixels(_framePixels, _flashRect, _flashPoint, null, null, true);
return;
};
_mtx.identity();
_mtx.translate(-(origin.x), -(origin.y));
_mtx.scale(scale.x, scale.y);
if (angle != 0){
_mtx.rotate(((Math.PI * 2) * (angle / 360)));
};
_mtx.translate((_point.x + origin.x), (_point.y + origin.y));
FlxG.buffer.draw(_framePixels, _mtx, null, blend, null, antialiasing);
}
public function fill(Color:uint):void{
_pixels.fillRect(_flashRect2, Color);
if (_pixels != _framePixels){
calcFrame();
};
}
public function get color():uint{
return (_color);
}
override public function getScreenXY(Point:FlxPoint=null):FlxPoint{
if (Point == null){
Point = new FlxPoint();
};
Point.x = ((FlxU.floor((x + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.x * scrollFactor.x))) - offset.x);
Point.y = ((FlxU.floor((y + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.y * scrollFactor.y))) - offset.y);
return (Point);
}
public function get frame():uint{
return (_caf);
}
override public function overlapsPoint(X:Number, Y:Number, PerPixel:Boolean=false):Boolean{
X = (X - FlxU.floor(FlxG.scroll.x));
Y = (Y - FlxU.floor(FlxG.scroll.y));
getScreenXY(_point);
if (PerPixel){
return (_framePixels.hitTest(new Point(0, 0), 0xFF, new Point((X - _point.x), (Y - _point.y))));
};
if ((((((((X <= _point.x)) || ((X >= (_point.x + frameWidth))))) || ((Y <= _point.y)))) || ((Y >= (_point.y + frameHeight))))){
return (false);
};
return (true);
}
override public function render():void{
renderSprite();
}
protected function drawBounds():void{
var bbbc:uint = getBoundingColor();
_bbb.fillRect(_flashRect, 0);
var ofrw:uint = _flashRect.width;
var ofrh:uint = _flashRect.height;
_flashRect.width = width;
_flashRect.height = height;
_flashRect.x = int(offset.x);
_flashRect.y = int(offset.y);
_bbb.fillRect(_flashRect, bbbc);
_flashRect.width = (_flashRect.width - 2);
_flashRect.height = (_flashRect.height - 2);
_flashRect.x++;
_flashRect.y++;
_bbb.fillRect(_flashRect, 0);
_flashRect.width = ofrw;
_flashRect.height = ofrh;
_flashRect.x = (_flashRect.y = 0);
_framePixels.copyPixels(_bbb, _flashRect, _flashPointZero, null, null, true);
}
protected function calcFrame():void{
var rx:uint = (_caf * frameWidth);
var ry:uint;
var w:uint = (_flipped) ? _flipped : _pixels.width;
if (rx >= w){
ry = (uint((rx / w)) * frameHeight);
rx = (rx % w);
};
if (((_flipped) && ((_facing == LEFT)))){
rx = (((_flipped << 1) - rx) - frameWidth);
};
_flashRect.x = rx;
_flashRect.y = ry;
_framePixels.copyPixels(_pixels, _flashRect, _flashPointZero);
_flashRect.x = (_flashRect.y = 0);
if (_ct != null){
_framePixels.colorTransform(_flashRect, _ct);
};
if (FlxG.showBounds){
drawBounds();
};
if (_callback != null){
_callback(_curAnim.name, _curFrame, _caf);
};
}
function unsafeBind(Pixels:BitmapData):void{
_pixels = (_framePixels = Pixels);
}
public function loadGraphic(Graphic:Class, Animated:Boolean=false, Reverse:Boolean=false, Width:uint=0, Height:uint=0, Unique:Boolean=false):FlxSprite{
_bakedRotation = 0;
_pixels = FlxG.addBitmap(Graphic, Reverse, Unique);
if (Reverse){
_flipped = (_pixels.width >> 1);
} else {
_flipped = 0;
};
if (Width == 0){
if (Animated){
Width = _pixels.height;
} else {
if (_flipped > 0){
Width = (_pixels.width / 2);
} else {
Width = _pixels.width;
};
};
};
width = (frameWidth = Width);
if (Height == 0){
if (Animated){
Height = width;
} else {
Height = _pixels.height;
};
};
height = (frameHeight = Height);
resetHelpers();
return (this);
}
public function get pixels():BitmapData{
return (_pixels);
}
public function set facing(Direction:uint):void{
var c = !((_facing == Direction));
_facing = Direction;
if (c){
calcFrame();
};
}
protected function resetHelpers():void{
_flashRect.x = 0;
_flashRect.y = 0;
_flashRect.width = frameWidth;
_flashRect.height = frameHeight;
_flashRect2.x = 0;
_flashRect2.y = 0;
_flashRect2.width = _pixels.width;
_flashRect2.height = _pixels.height;
if ((((((_framePixels == null)) || (!((_framePixels.width == width))))) || (!((_framePixels.height == height))))){
_framePixels = new BitmapData(width, height);
};
if ((((((_bbb == null)) || (!((_bbb.width == width))))) || (!((_bbb.height == height))))){
_bbb = new BitmapData(width, height);
};
origin.x = (frameWidth / 2);
origin.y = (frameHeight / 2);
_framePixels.copyPixels(_pixels, _flashRect, _flashPointZero);
if (FlxG.showBounds){
drawBounds();
};
_caf = 0;
refreshHulls();
}
public function addAnimation(Name:String, Frames:Array, FrameRate:Number=0, Looped:Boolean=true):void{
_animations.push(new FlxAnim(Name, Frames, FrameRate, Looped));
}
public function set alpha(Alpha:Number):void{
if (Alpha > 1){
Alpha = 1;
};
if (Alpha < 0){
Alpha = 0;
};
if (Alpha == _alpha){
return;
};
_alpha = Alpha;
if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){
_ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha);
} else {
_ct = null;
};
calcFrame();
}
protected function updateAnimation():void{
var oc:uint;
var ta:int;
if (_bakedRotation){
oc = _caf;
ta = (angle % 360);
if (ta < 0){
ta = (ta + 360);
};
_caf = (ta / _bakedRotation);
if (oc != _caf){
calcFrame();
};
return;
};
if (((((!((_curAnim == null))) && ((_curAnim.delay > 0)))) && (((_curAnim.looped) || (!(finished)))))){
_frameTimer = (_frameTimer + FlxG.elapsed);
if (_frameTimer > _curAnim.delay){
_frameTimer = (_frameTimer - _curAnim.delay);
if (_curFrame == (_curAnim.frames.length - 1)){
if (_curAnim.looped){
_curFrame = 0;
};
finished = true;
} else {
_curFrame++;
};
_caf = _curAnim.frames[_curFrame];
calcFrame();
};
};
}
public function draw(Brush:FlxSprite, X:int=0, Y:int=0):void{
var b:BitmapData = Brush._framePixels;
if ((((((((((Brush.angle == 0)) || ((Brush._bakedRotation > 0)))) && ((Brush.scale.x == 1)))) && ((Brush.scale.y == 1)))) && ((Brush.blend == null)))){
_flashPoint.x = X;
_flashPoint.y = Y;
_flashRect2.width = b.width;
_flashRect2.height = b.height;
_pixels.copyPixels(b, _flashRect2, _flashPoint, null, null, true);
_flashRect2.width = _pixels.width;
_flashRect2.height = _pixels.height;
calcFrame();
return;
};
_mtx.identity();
_mtx.translate(-(Brush.origin.x), -(Brush.origin.y));
_mtx.scale(Brush.scale.x, Brush.scale.y);
if (Brush.angle != 0){
_mtx.rotate(((Math.PI * 2) * (Brush.angle / 360)));
};
_mtx.translate((X + Brush.origin.x), (Y + Brush.origin.y));
_pixels.draw(b, _mtx, null, Brush.blend, null, Brush.antialiasing);
calcFrame();
}
public function loadRotatedGraphic(Graphic:Class, Rotations:uint=16, Frame:int=-1, AntiAliasing:Boolean=false, AutoBuffer:Boolean=false):FlxSprite{
var skipGen:Boolean;
var full:BitmapData;
var rx:uint;
var ry:uint;
var fw:uint;
var r:uint;
var c:uint;
var ba:Number;
var bw2:uint;
var bh2:uint;
var gxc:uint;
var gyc:uint;
var rows:uint = Math.sqrt(Rotations);
var brush:BitmapData = FlxG.addBitmap(Graphic);
if (Frame >= 0){
full = brush;
brush = new BitmapData(full.height, full.height);
rx = (Frame * brush.width);
ry = 0;
fw = full.width;
if (rx >= fw){
ry = (uint((rx / fw)) * brush.height);
rx = (rx % fw);
};
_flashRect.x = rx;
_flashRect.y = ry;
_flashRect.width = brush.width;
_flashRect.height = brush.height;
brush.copyPixels(full, _flashRect, _flashPointZero);
};
var max:uint = brush.width;
if (brush.height > max){
max = brush.height;
};
if (AutoBuffer){
max = (max * 1.5);
};
var cols:uint = FlxU.ceil((Rotations / rows));
width = (max * cols);
height = (max * rows);
var key:String = ((((((String(Graphic) + ":") + Frame) + ":") + width) + "x") + height);
skipGen = FlxG.checkBitmapCache(key);
_pixels = FlxG.createBitmap(width, height, 0, true, key);
width = (frameWidth = _pixels.width);
height = (frameHeight = _pixels.height);
_bakedRotation = (360 / Rotations);
if (!skipGen){
ba = 0;
bw2 = (brush.width / 2);
bh2 = (brush.height / 2);
gxc = (max / 2);
gyc = (max / 2);
r = 0;
while (r < rows) {
c = 0;
while (c < cols) {
_mtx.identity();
_mtx.translate(-(bw2), -(bh2));
_mtx.rotate(((Math.PI * 2) * (ba / 360)));
_mtx.translate(((max * c) + gxc), gyc);
ba = (ba + _bakedRotation);
_pixels.draw(brush, _mtx, null, null, null, AntiAliasing);
c++;
};
gyc = (gyc + max);
r++;
};
};
frameWidth = (frameHeight = (width = (height = max)));
resetHelpers();
return (this);
}
override public function update():void{
updateMotion();
updateAnimation();
updateFlickering();
}
public function set color(Color:uint):void{
Color = (Color & 0xFFFFFF);
if (_color == Color){
return;
};
_color = Color;
if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){
_ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha);
} else {
_ct = null;
};
calcFrame();
}
public function onEmit():void{
}
public function createGraphic(Width:uint, Height:uint, Color:uint=4294967295, Unique:Boolean=false, Key:String=null):FlxSprite{
_bakedRotation = 0;
_pixels = FlxG.createBitmap(Width, Height, Color, Unique, Key);
width = (frameWidth = _pixels.width);
height = (frameHeight = _pixels.height);
resetHelpers();
return (this);
}
override public function set solid(Solid:Boolean):void{
var os:Boolean = _solid;
_solid = Solid;
if (((!((os == _solid))) && (FlxG.showBounds))){
calcFrame();
};
}
public function addAnimationCallback(AnimationCallback:Function):void{
_callback = AnimationCallback;
}
public function set pixels(Pixels:BitmapData):void{
_pixels = Pixels;
width = (frameWidth = _pixels.width);
height = (frameHeight = _pixels.height);
resetHelpers();
}
public function get alpha():Number{
return (_alpha);
}
public function get facing():uint{
return (_facing);
}
public function set frame(Frame:uint):void{
_curAnim = null;
_caf = Frame;
calcFrame();
}
public function play(AnimName:String, Force:Boolean=false):void{
if (((((!(Force)) && (!((_curAnim == null))))) && ((AnimName == _curAnim.name)))){
return;
};
_curFrame = 0;
_caf = 0;
_frameTimer = 0;
var al:uint = _animations.length;
var i:uint;
while (i < al) {
if (_animations[i].name == AnimName){
_curAnim = _animations[i];
if (_curAnim.delay <= 0){
finished = true;
} else {
finished = false;
};
_caf = _curAnim.frames[_curFrame];
calcFrame();
return;
};
i++;
};
}
public function randomFrame():void{
_curAnim = null;
_caf = int((FlxU.random() * (_pixels.width / frameWidth)));
calcFrame();
}
}
}//package org.flixel
Section 110
//FlxSprite2 (org.flixel.FlxSprite2)
package org.flixel {
import flash.display.*;
import flash.geom.*;
import org.flixel.data.*;
public class FlxSprite2 extends FlxObject {
protected var _mtx:Matrix;
protected var _caf:uint;
public var finished:Boolean;
protected var _animations:Array;
protected var _ct:ColorTransform;
public var offset:FlxPoint;
protected var _callback:Function;
protected var _curAnim:FlxAnim;
protected var _framePixels:BitmapData;
protected var _flipped:uint;
public var scale:FlxPoint;
protected var _pixels:BitmapData;
protected var _bakedRotation:Number;
public var blend:String;
public var frameWidth:uint;
protected var _flashRect2:Rectangle;
protected var _bbb:BitmapData;
protected var _alpha:Number;
protected var _flashPointZero:Point;
protected var _curFrame:uint;
public var frameHeight:uint;
protected var _flashRect:Rectangle;
protected var _frameTimer:Number;
protected var _facing:uint;
public var antialiasing:Boolean;
protected var _color:uint;
public static const LEFT:uint = 0;
public static const DOWN:uint = 3;
public static const UP:uint = 2;
public static const RIGHT:uint = 1;
public function FlxSprite2(X:Number=0, Y:Number=0, SimpleGraphic:Class=null){
super();
x = X;
y = Y;
_flashRect = new Rectangle();
_flashRect2 = new Rectangle();
_flashPointZero = new Point();
offset = new FlxPoint();
scale = new FlxPoint(1, 1);
_alpha = 1;
_color = 0xFFFFFF;
blend = null;
antialiasing = false;
finished = false;
_facing = RIGHT;
_animations = new Array();
_flipped = 0;
_curAnim = null;
_curFrame = 0;
_caf = 0;
_frameTimer = 0;
_mtx = new Matrix();
_callback = null;
if (SimpleGraphic == null){
createGraphic(8, 8);
} else {
assert(false);
};
}
override public function set fixed(Fixed:Boolean):void{
var of:Boolean = _fixed;
_fixed = Fixed;
if (((!((of == _fixed))) && (FlxG.showBounds))){
calcFrame();
};
}
protected function renderSprite():void{
if (_refreshBounds){
calcFrame();
};
getScreenXY(_point);
_flashPoint.x = _point.x;
_flashPoint.y = _point.y;
if ((((((((((angle == 0)) || ((_bakedRotation > 0)))) && ((scale.x == 1)))) && ((scale.y == 1)))) && ((blend == null)))){
FlxG.buffer.copyPixels(_framePixels, _flashRect, _flashPoint, null, null, true);
return;
};
_mtx.identity();
_mtx.translate(-(origin.x), -(origin.y));
_mtx.scale(scale.x, scale.y);
if (angle != 0){
_mtx.rotate(((Math.PI * 2) * (angle / 360)));
};
_mtx.translate((_point.x + origin.x), (_point.y + origin.y));
FlxG.buffer.draw(_framePixels, _mtx, null, blend, null, antialiasing);
}
public function fill(Color:uint):void{
_pixels.fillRect(_flashRect2, Color);
if (_pixels != _framePixels){
calcFrame();
};
}
public function get color():uint{
return (_color);
}
override public function getScreenXY(Point:FlxPoint=null):FlxPoint{
if (Point == null){
Point = new FlxPoint();
};
Point.x = ((FlxU.floor((x + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.x * scrollFactor.x))) - offset.x);
Point.y = ((FlxU.floor((y + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.y * scrollFactor.y))) - offset.y);
return (Point);
}
public function get frame():uint{
return (_caf);
}
override public function overlapsPoint(X:Number, Y:Number, PerPixel:Boolean=false):Boolean{
X = (X - FlxU.floor(FlxG.scroll.x));
Y = (Y - FlxU.floor(FlxG.scroll.y));
getScreenXY(_point);
if (PerPixel){
return (_framePixels.hitTest(new Point(0, 0), 0xFF, new Point((X - _point.x), (Y - _point.y))));
};
if ((((((((X <= _point.x)) || ((X >= (_point.x + frameWidth))))) || ((Y <= _point.y)))) || ((Y >= (_point.y + frameHeight))))){
return (false);
};
return (true);
}
override public function render():void{
renderSprite();
}
protected function drawBounds():void{
var bbbc:uint = getBoundingColor();
_bbb.fillRect(_flashRect, 0);
var ofrw:uint = _flashRect.width;
var ofrh:uint = _flashRect.height;
_flashRect.width = width;
_flashRect.height = height;
_flashRect.x = int(offset.x);
_flashRect.y = int(offset.y);
_bbb.fillRect(_flashRect, bbbc);
_flashRect.width = (_flashRect.width - 2);
_flashRect.height = (_flashRect.height - 2);
_flashRect.x++;
_flashRect.y++;
_bbb.fillRect(_flashRect, 0);
_flashRect.width = ofrw;
_flashRect.height = ofrh;
_flashRect.x = (_flashRect.y = 0);
_framePixels.copyPixels(_bbb, _flashRect, _flashPointZero, null, null, true);
}
protected function calcFrame():void{
var rx:uint = (_caf * frameWidth);
var ry:uint;
var w:uint = (_flipped) ? _flipped : _pixels.width;
if (rx >= w){
ry = (uint((rx / w)) * frameHeight);
rx = (rx % w);
};
if (((_flipped) && ((_facing == LEFT)))){
rx = (((_flipped << 1) - rx) - frameWidth);
};
_flashRect.x = rx;
_flashRect.y = ry;
_framePixels.copyPixels(_pixels, _flashRect, _flashPointZero);
_flashRect.x = (_flashRect.y = 0);
if (_ct != null){
_framePixels.colorTransform(_flashRect, _ct);
};
if (FlxG.showBounds){
drawBounds();
};
if (_callback != null){
_callback(_curAnim.name, _curFrame, _caf);
};
}
function unsafeBind(Pixels:BitmapData):void{
_pixels = (_framePixels = Pixels);
}
public function loadGraphic(bitmap:BitmapData, Animated:Boolean=false, Reverse:Boolean=false, Width:uint=0, Height:uint=0, Unique:Boolean=false):FlxSprite2{
_bakedRotation = 0;
_pixels = bitmap;
if (Reverse){
_flipped = (_pixels.width >> 1);
} else {
_flipped = 0;
};
if (Width == 0){
if (Animated){
Width = _pixels.height;
} else {
if (_flipped > 0){
Width = (_pixels.width / 2);
} else {
Width = _pixels.width;
};
};
};
width = (frameWidth = Width);
if (Height == 0){
if (Animated){
Height = width;
} else {
Height = _pixels.height;
};
};
height = (frameHeight = Height);
resetHelpers();
return (this);
}
public function get pixels():BitmapData{
return (_pixels);
}
public function set facing(Direction:uint):void{
var c = !((_facing == Direction));
_facing = Direction;
if (c){
calcFrame();
};
}
protected function resetHelpers():void{
_flashRect.x = 0;
_flashRect.y = 0;
_flashRect.width = frameWidth;
_flashRect.height = frameHeight;
_flashRect2.x = 0;
_flashRect2.y = 0;
_flashRect2.width = _pixels.width;
_flashRect2.height = _pixels.height;
if ((((((_framePixels == null)) || (!((_framePixels.width == width))))) || (!((_framePixels.height == height))))){
_framePixels = new BitmapData(width, height);
};
if ((((((_bbb == null)) || (!((_bbb.width == width))))) || (!((_bbb.height == height))))){
_bbb = new BitmapData(width, height);
};
origin.x = (frameWidth / 2);
origin.y = (frameHeight / 2);
_framePixels.copyPixels(_pixels, _flashRect, _flashPointZero);
if (FlxG.showBounds){
drawBounds();
};
_caf = 0;
refreshHulls();
}
public function addAnimation(Name:String, Frames:Array, FrameRate:Number=0, Looped:Boolean=true):void{
_animations.push(new FlxAnim(Name, Frames, FrameRate, Looped));
}
public function set alpha(Alpha:Number):void{
if (Alpha > 1){
Alpha = 1;
};
if (Alpha < 0){
Alpha = 0;
};
if (Alpha == _alpha){
return;
};
_alpha = Alpha;
if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){
_ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha);
} else {
_ct = null;
};
calcFrame();
}
protected function updateAnimation():void{
var oc:uint;
var ta:int;
if (_bakedRotation){
oc = _caf;
ta = (angle % 360);
if (ta < 0){
ta = (ta + 360);
};
_caf = ((ta / _bakedRotation) + 0.5);
if (oc != _caf){
calcFrame();
};
return;
};
if (((((!((_curAnim == null))) && ((_curAnim.delay > 0)))) && (((_curAnim.looped) || (!(finished)))))){
_frameTimer = (_frameTimer + FlxG.elapsed);
if (_frameTimer > _curAnim.delay){
_frameTimer = (_frameTimer - _curAnim.delay);
if (_curFrame == (_curAnim.frames.length - 1)){
if (_curAnim.looped){
_curFrame = 0;
};
finished = true;
} else {
_curFrame++;
};
_caf = _curAnim.frames[_curFrame];
calcFrame();
};
};
}
public function draw(Brush:FlxSprite2, X:int=0, Y:int=0):void{
var b:BitmapData = Brush._framePixels;
if ((((((((((Brush.angle == 0)) || ((Brush._bakedRotation > 0)))) && ((Brush.scale.x == 1)))) && ((Brush.scale.y == 1)))) && ((Brush.blend == null)))){
_flashPoint.x = X;
_flashPoint.y = Y;
_flashRect2.width = b.width;
_flashRect2.height = b.height;
_pixels.copyPixels(b, _flashRect2, _flashPoint, null, null, true);
_flashRect2.width = _pixels.width;
_flashRect2.height = _pixels.height;
calcFrame();
return;
};
_mtx.identity();
_mtx.translate(-(Brush.origin.x), -(Brush.origin.y));
_mtx.scale(Brush.scale.x, Brush.scale.y);
if (Brush.angle != 0){
_mtx.rotate(((Math.PI * 2) * (Brush.angle / 360)));
};
_mtx.translate((X + Brush.origin.x), (Y + Brush.origin.y));
_pixels.draw(b, _mtx, null, Brush.blend, null, Brush.antialiasing);
calcFrame();
}
public function loadRotatedGraphic(bitmap:BitmapData, Rotations:uint=16, Frame:int=-1, AntiAliasing:Boolean=false, AutoBuffer:Boolean=false):FlxSprite2{
var r:uint;
var c:uint;
var full:BitmapData;
var rx:uint;
var ry:uint;
var fw:uint;
var rows:uint = Math.sqrt(Rotations);
var brush:BitmapData = bitmap;
if (Frame >= 0){
full = brush;
brush = new BitmapData(full.height, full.height);
rx = (Frame * brush.width);
ry = 0;
fw = full.width;
if (rx >= fw){
ry = (uint((rx / fw)) * brush.height);
rx = (rx % fw);
};
_flashRect.x = rx;
_flashRect.y = ry;
_flashRect.width = brush.width;
_flashRect.height = brush.height;
brush.copyPixels(full, _flashRect, _flashPointZero);
};
var max:uint = brush.width;
if (brush.height > max){
max = brush.height;
};
if (AutoBuffer){
max = (max * 1.5);
};
var cols:uint = FlxU.ceil((Rotations / rows));
width = (max * cols);
height = (max * rows);
_pixels = createBitmap(width, height, 0);
width = (frameWidth = _pixels.width);
height = (frameHeight = _pixels.height);
_bakedRotation = (360 / Rotations);
var ba:Number = 0;
var bw2:uint = (brush.width / 2);
var bh2:uint = (brush.height / 2);
var gxc:uint = (max / 2);
var gyc:uint = (max / 2);
r = 0;
while (r < rows) {
c = 0;
while (c < cols) {
_mtx.identity();
_mtx.translate(-(bw2), -(bh2));
_mtx.rotate(((Math.PI * 2) * (ba / 360)));
_mtx.translate(((max * c) + gxc), gyc);
ba = (ba + _bakedRotation);
_pixels.draw(brush, _mtx, null, null, null, AntiAliasing);
c++;
};
gyc = (gyc + max);
r++;
};
frameWidth = (frameHeight = (width = (height = max)));
resetHelpers();
return (this);
}
override public function update():void{
updateMotion();
updateAnimation();
updateFlickering();
}
public function set color(Color:uint):void{
Color = (Color & 0xFFFFFF);
if (_color == Color){
return;
};
_color = Color;
if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){
_ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha);
} else {
_ct = null;
};
calcFrame();
}
public function onEmit():void{
}
public function createGraphic(Width:uint, Height:uint, Color:uint=4294967295, Unique:Boolean=false, Key:String=null):FlxSprite2{
_bakedRotation = 0;
_pixels = createBitmap(Width, Height, Color);
width = (frameWidth = _pixels.width);
height = (frameHeight = _pixels.height);
resetHelpers();
return (this);
}
override public function set solid(Solid:Boolean):void{
var os:Boolean = _solid;
_solid = Solid;
if (((!((os == _solid))) && (FlxG.showBounds))){
calcFrame();
};
}
public function addAnimationCallback(AnimationCallback:Function):void{
_callback = AnimationCallback;
}
public function set pixels(Pixels:BitmapData):void{
_pixels = Pixels;
width = (frameWidth = _pixels.width);
height = (frameHeight = _pixels.height);
resetHelpers();
}
public function get alpha():Number{
return (_alpha);
}
public function get facing():uint{
return (_facing);
}
public function set frame(Frame:uint):void{
_curAnim = null;
_caf = Frame;
calcFrame();
}
public function play(AnimName:String, Force:Boolean=false):void{
if (((((!(Force)) && (!((_curAnim == null))))) && ((AnimName == _curAnim.name)))){
return;
};
_curFrame = 0;
_caf = 0;
_frameTimer = 0;
var al:uint = _animations.length;
var i:uint;
while (i < al) {
if (_animations[i].name == AnimName){
_curAnim = _animations[i];
if (_curAnim.delay <= 0){
finished = true;
} else {
finished = false;
};
_caf = _curAnim.frames[_curFrame];
calcFrame();
return;
};
i++;
};
}
public function randomFrame():void{
_curAnim = null;
_caf = int((FlxU.random() * (_pixels.width / frameWidth)));
calcFrame();
}
public static function createBitmap(Width:uint, Height:uint, Color:uint):BitmapData{
return (new BitmapData(Width, Height, true, Color));
}
}
}//package org.flixel
Section 111
//FlxState (org.flixel.FlxState)
package org.flixel {
import flash.display.*;
public class FlxState extends Sprite {
public var defaultGroup:FlxGroup;
public static var screen:FlxSprite;
public static var bgColor:uint;
public function FlxState(){
super();
defaultGroup = new FlxGroup();
if (screen == null){
screen = new FlxSprite();
screen.createGraphic(FlxG.width, FlxG.height, 0, true);
screen.origin.x = (screen.origin.y = 0);
screen.antialiasing = true;
screen.exists = false;
screen.solid = false;
screen.fixed = true;
};
}
public function add(Core:FlxObject):FlxObject{
return (defaultGroup.add(Core));
}
public function preProcess():void{
screen.fill(bgColor);
}
public function collide():void{
FlxU.collide(defaultGroup, defaultGroup);
}
public function render():void{
defaultGroup.render();
}
public function update():void{
defaultGroup.update();
}
public function destroy():void{
defaultGroup.destroy();
}
public function create():void{
}
public function postProcess():void{
}
}
}//package org.flixel
Section 112
//FlxText (org.flixel.FlxText)
package org.flixel {
import flash.display.*;
import flash.text.*;
public class FlxText extends FlxSprite {
protected var _tf:TextField;
protected var _regen:Boolean;
protected var _shadow:uint;
public function FlxText(X:Number, Y:Number, Width:uint, Text:String=null, EmbeddedFont:Boolean=true){
super(X, Y);
createGraphic(Width, 1, 0);
if (Text == null){
Text = "";
};
_tf = new TextField();
_tf.width = Width;
_tf.embedFonts = EmbeddedFont;
_tf.selectable = false;
_tf.sharpness = 100;
_tf.multiline = true;
_tf.wordWrap = true;
_tf.text = Text;
var tf:TextFormat = new TextFormat("system", 8, 0xFFFFFF);
_tf.defaultTextFormat = tf;
_tf.setTextFormat(tf);
if (Text.length <= 0){
_tf.height = 1;
} else {
_tf.height = 10;
};
_regen = true;
_shadow = 0;
solid = false;
calcFrame();
}
public function get shadow():uint{
return (_shadow);
}
public function get size():Number{
return ((_tf.defaultTextFormat.size as Number));
}
override public function get color():uint{
return ((_tf.defaultTextFormat.color as uint));
}
override public function set color(Color:uint):void{
var tf:TextFormat = dtfCopy();
tf.color = Color;
_tf.defaultTextFormat = tf;
_tf.setTextFormat(tf);
_regen = true;
calcFrame();
}
public function set shadow(Color:uint):void{
_shadow = Color;
calcFrame();
}
public function set size(Size:Number):void{
var tf:TextFormat = dtfCopy();
tf.size = Size;
_tf.defaultTextFormat = tf;
_tf.setTextFormat(tf);
_regen = true;
calcFrame();
}
public function get alignment():String{
return (_tf.defaultTextFormat.align);
}
protected function dtfCopy():TextFormat{
var dtf:TextFormat = _tf.defaultTextFormat;
return (new TextFormat(dtf.font, dtf.size, dtf.color, dtf.bold, dtf.italic, dtf.underline, dtf.url, dtf.target, dtf.align));
}
public function get text():String{
return (_tf.text);
}
public function get font():String{
return (_tf.defaultTextFormat.font);
}
public function set alignment(Alignment:String):void{
var tf:TextFormat = dtfCopy();
tf.align = Alignment;
_tf.defaultTextFormat = tf;
_tf.setTextFormat(tf);
calcFrame();
}
public function set font(Font:String):void{
var tf:TextFormat = dtfCopy();
tf.font = Font;
_tf.defaultTextFormat = tf;
_tf.setTextFormat(tf);
_regen = true;
calcFrame();
}
override protected function calcFrame():void{
var nl:uint;
var i:uint;
var tf:TextFormat;
var tfa:TextFormat;
if (_regen){
nl = _tf.numLines;
height = 0;
i = 0;
while (i < nl) {
height = (height + _tf.getLineMetrics(i).height);
i++;
};
height = (height + 4);
_pixels = new BitmapData(width, height, true, 0);
_bbb = new BitmapData(width, height, true, 0);
frameHeight = height;
_tf.height = (height * 1.2);
_flashRect.x = 0;
_flashRect.y = 0;
_flashRect.width = width;
_flashRect.height = height;
_regen = false;
} else {
_pixels.fillRect(_flashRect, 0);
};
if (((((!((_tf == null))) && (!((_tf.text == null))))) && ((_tf.text.length > 0)))){
tf = _tf.defaultTextFormat;
tfa = tf;
_mtx.identity();
if ((((tf.align == "center")) && ((_tf.numLines == 1)))){
tfa = new TextFormat(tf.font, tf.size, tf.color, null, null, null, null, null, "left");
_tf.setTextFormat(tfa);
_mtx.translate(Math.floor(((width - _tf.getLineMetrics(0).width) / 2)), 0);
};
if (_shadow > 0){
_tf.setTextFormat(new TextFormat(tfa.font, tfa.size, _shadow, null, null, null, null, null, tfa.align));
_mtx.translate(1, 1);
_pixels.draw(_tf, _mtx, _ct);
_mtx.translate(-1, -1);
_tf.setTextFormat(new TextFormat(tfa.font, tfa.size, tfa.color, null, null, null, null, null, tfa.align));
};
_pixels.draw(_tf, _mtx, _ct);
_tf.setTextFormat(new TextFormat(tf.font, tf.size, tf.color, null, null, null, null, null, tf.align));
};
if ((((((_framePixels == null)) || (!((_framePixels.width == _pixels.width))))) || (!((_framePixels.height == _pixels.height))))){
_framePixels = new BitmapData(_pixels.width, _pixels.height, true, 0);
};
_framePixels.copyPixels(_pixels, _flashRect, _flashPointZero);
if (FlxG.showBounds){
drawBounds();
};
if (solid){
refreshHulls();
};
}
public function setFormat(Font:String=null, Size:Number=8, Color:uint=0xFFFFFF, Alignment:String=null, ShadowColor:uint=0):FlxText{
if (Font == null){
Font = "";
};
var tf:TextFormat = dtfCopy();
tf.font = Font;
tf.size = Size;
tf.color = Color;
tf.align = Alignment;
_tf.defaultTextFormat = tf;
_tf.setTextFormat(tf);
_shadow = ShadowColor;
_regen = true;
calcFrame();
return (this);
}
public function set text(Text:String):void{
var ot:String = _tf.text;
_tf.text = Text;
if (_tf.text != ot){
_regen = true;
calcFrame();
};
}
}
}//package org.flixel
Section 113
//FlxU (org.flixel.FlxU)
package org.flixel {
import flash.utils.*;
import flash.net.*;
public class FlxU {
protected static var _originalSeed:Number;
public static var quadTree:FlxQuadTree;
protected static var _seed:Number;
static var roundingError:Number = 1E-7;
public static var quadTreeBounds:FlxRect;
public static var quadTreeDivisions:uint = 3;
public function FlxU(){
super();
}
public static function random(UseGlobalSeed:Boolean=true):Number{
var random:Number;
if (((UseGlobalSeed) && (!(isNaN(_seed))))){
random = randomize(_seed);
_seed = mutate(_seed, random);
return (random);
};
return (Math.random());
}
public static function mutate(Seed:Number, Mutator:Number):Number{
Seed = (Seed + Mutator);
if (Seed > 1){
Seed = (Seed - int(Seed));
};
return (Seed);
}
public static function overlap(Object1:FlxObject, Object2:FlxObject, Callback:Function=null):Boolean{
if ((((((((Object1 == null)) || (!(Object1.exists)))) || ((Object2 == null)))) || (!(Object2.exists)))){
return (false);
};
quadTree = new FlxQuadTree(quadTreeBounds.x, quadTreeBounds.y, quadTreeBounds.width, quadTreeBounds.height);
quadTree.add(Object1, FlxQuadTree.A_LIST);
if (Object1 === Object2){
return (quadTree.overlap(false, Callback));
};
quadTree.add(Object2, FlxQuadTree.B_LIST);
return (quadTree.overlap(true, Callback));
}
public static function openURL(URL:String):void{
navigateToURL(new URLRequest(URL), "_blank");
}
public static function endProfile(Start:uint, Name:String="Profiler", Log:Boolean=true):uint{
var t:uint = getTimer();
if (Log){
FlxG.log((((Name + ": ") + ((t - Start) / 1000)) + "s"));
};
return (t);
}
public static function getClass(Name:String):Class{
return ((getDefinitionByName(Name) as Class));
}
public static function floor(N:Number):Number{
var n:Number = int(N);
return (((N)>0) ? n : ((n)!=N) ? (n - 1) : n);
}
public static function solveYCollision(Object1:FlxObject, Object2:FlxObject):Boolean{
var overlap:Number;
var p1hn2:Boolean;
var i1:uint;
var i2:uint;
var ox1:Number;
var oy1:Number;
var ox2:Number;
var oy2:Number;
var r1:Number;
var r2:Number;
var sv1:Number;
var sv2:Number;
var o1:Number = Object1.colVector.y;
var o2:Number = Object2.colVector.y;
if (o1 == o2){
return (false);
};
Object1.preCollide(Object2);
Object2.preCollide(Object1);
var hit:Boolean;
var obj1Stopped = (o1 == 0);
var obj1MoveNeg = (o1 < 0);
var obj1MovePos = (o1 > 0);
var obj2Stopped = (o2 == 0);
var obj2MoveNeg = (o2 < 0);
var obj2MovePos = (o2 > 0);
var obj1Hull:FlxRect = Object1.colHullY;
var obj2Hull:FlxRect = Object2.colHullY;
var co1:Array = Object1.colOffsets;
var co2:Array = Object2.colOffsets;
var l1:uint = co1.length;
var l2:uint = co2.length;
p1hn2 = ((((((((((obj1Stopped) && (obj2MoveNeg))) || (((obj1MovePos) && (obj2Stopped))))) || (((obj1MovePos) && (obj2MoveNeg))))) || (((((obj1MoveNeg) && (obj2MoveNeg))) && ((((o1)>0) ? o1 : -(o1) < ((o2)>0) ? o2 : -(o2))))))) || (((((obj1MovePos) && (obj2MovePos))) && ((((o1)>0) ? o1 : -(o1) > ((o2)>0) ? o2 : -(o2))))));
if ((p1hn2) ? ((!(Object1.collideBottom)) || (!(Object2.collideTop))) : ((!(Object1.collideTop)) || (!(Object2.collideBottom)))){
return (false);
};
i1 = 0;
while (i1 < l1) {
ox1 = co1[i1].x;
oy1 = co1[i1].y;
obj1Hull.x = (obj1Hull.x + ox1);
obj1Hull.y = (obj1Hull.y + oy1);
i2 = 0;
while (i2 < l2) {
ox2 = co2[i2].x;
oy2 = co2[i2].y;
obj2Hull.x = (obj2Hull.x + ox2);
obj2Hull.y = (obj2Hull.y + oy2);
if (((((((((obj1Hull.x + obj1Hull.width) < (obj2Hull.x + roundingError))) || (((obj1Hull.x + roundingError) > (obj2Hull.x + obj2Hull.width))))) || (((obj1Hull.y + obj1Hull.height) < (obj2Hull.y + roundingError))))) || (((obj1Hull.y + roundingError) > (obj2Hull.y + obj2Hull.height))))){
obj2Hull.x = (obj2Hull.x - ox2);
obj2Hull.y = (obj2Hull.y - oy2);
} else {
if (p1hn2){
if (obj1MoveNeg){
r1 = (obj1Hull.y + Object1.colHullX.height);
} else {
r1 = (obj1Hull.y + obj1Hull.height);
};
if (obj2MoveNeg){
r2 = obj2Hull.y;
} else {
r2 = ((obj2Hull.y + obj2Hull.height) - Object2.colHullX.height);
};
} else {
if (obj2MoveNeg){
r1 = (-(obj2Hull.y) - Object2.colHullX.height);
} else {
r1 = (-(obj2Hull.y) - obj2Hull.height);
};
if (obj1MoveNeg){
r2 = -(obj1Hull.y);
} else {
r2 = ((-(obj1Hull.y) - obj1Hull.height) + Object1.colHullX.height);
};
};
overlap = (r1 - r2);
if ((((((overlap == 0)) || (((!(Object1.fixed)) && ((((overlap)>0) ? overlap : -(overlap) > (obj1Hull.height * 0.8))))))) || (((!(Object2.fixed)) && ((((overlap)>0) ? overlap : -(overlap) > (obj2Hull.height * 0.8))))))){
obj2Hull.x = (obj2Hull.x - ox2);
obj2Hull.y = (obj2Hull.y - oy2);
} else {
hit = true;
sv1 = Object2.velocity.y;
sv2 = Object1.velocity.y;
if (((!(Object1.fixed)) && (Object2.fixed))){
if (Object1._group){
Object1.reset(Object1.x, (Object1.y - overlap));
} else {
Object1.y = (Object1.y - overlap);
};
} else {
if (((Object1.fixed) && (!(Object2.fixed)))){
if (Object2._group){
Object2.reset(Object2.x, (Object2.y + overlap));
} else {
Object2.y = (Object2.y + overlap);
};
} else {
if (((!(Object1.fixed)) && (!(Object2.fixed)))){
overlap = (overlap / 2);
if (Object1._group){
Object1.reset(Object1.x, (Object1.y - overlap));
} else {
Object1.y = (Object1.y - overlap);
};
if (Object2._group){
Object2.reset(Object2.x, (Object2.y + overlap));
} else {
Object2.y = (Object2.y + overlap);
};
sv1 = (sv1 / 2);
sv2 = (sv2 / 2);
};
};
};
if (p1hn2){
Object1.hitBottom(Object2, sv1);
Object2.hitTop(Object1, sv2);
} else {
Object1.hitTop(Object2, sv1);
Object2.hitBottom(Object1, sv2);
};
if (((!(Object1.fixed)) && (!((overlap == 0))))){
if (p1hn2){
obj1Hull.y = (obj1Hull.y - overlap);
if (((Object2.fixed) && (Object2.moves))){
sv1 = Object2.colVector.x;
Object1.x = (Object1.x + sv1);
obj1Hull.x = (obj1Hull.x + sv1);
Object1.colHullX.x = (Object1.colHullX.x + sv1);
};
} else {
obj1Hull.y = (obj1Hull.y - overlap);
obj1Hull.height = (obj1Hull.height + overlap);
};
};
if (((!(Object2.fixed)) && (!((overlap == 0))))){
if (p1hn2){
obj2Hull.y = (obj2Hull.y + overlap);
obj2Hull.height = (obj2Hull.height - overlap);
} else {
obj2Hull.height = (obj2Hull.height + overlap);
if (((Object1.fixed) && (Object1.moves))){
sv2 = Object1.colVector.x;
Object2.x = (Object2.x + sv2);
obj2Hull.x = (obj2Hull.x + sv2);
Object2.colHullX.x = (Object2.colHullX.x + sv2);
};
};
};
obj2Hull.x = (obj2Hull.x - ox2);
obj2Hull.y = (obj2Hull.y - oy2);
};
};
i2++;
};
obj1Hull.x = (obj1Hull.x - ox1);
obj1Hull.y = (obj1Hull.y - oy1);
i1++;
};
return (hit);
}
public static function ceil(N:Number):Number{
var n:Number = int(N);
return (((N)>0) ? ((n)!=N) ? (n + 1) : n : n);
}
public static function getAngle(X:Number, Y:Number):Number{
return (((Math.atan2(Y, X) * 180) / Math.PI));
}
public static function setWorldBounds(X:Number=0, Y:Number=0, Width:Number=0, Height:Number=0, Divisions:uint=3):void{
if (quadTreeBounds == null){
quadTreeBounds = new FlxRect();
};
quadTreeBounds.x = X;
quadTreeBounds.y = Y;
if (Width > 0){
quadTreeBounds.width = Width;
};
if (Height > 0){
quadTreeBounds.height = Height;
};
if (Divisions > 0){
quadTreeDivisions = Divisions;
};
}
public static function startProfile():uint{
return (getTimer());
}
public static function set seed(Seed:Number):void{
_seed = Seed;
_originalSeed = _seed;
}
public static function getClassName(Obj:Object, Simple:Boolean=false):String{
var s:String = getQualifiedClassName(Obj);
s = s.replace("::", ".");
if (Simple){
s = s.substr((s.lastIndexOf(".") + 1));
};
return (s);
}
public static function randomize(Seed:Number):Number{
return ((((69621 * int((Seed * 2147483647))) % 2147483647) / 2147483647));
}
public static function abs(N:Number):Number{
return (((N)>0) ? N : -(N));
}
public static function rotatePoint(X:Number, Y:Number, PivotX:Number, PivotY:Number, Angle:Number, P:FlxPoint=null):FlxPoint{
if (P == null){
P = new FlxPoint();
};
var radians:Number = ((-(Angle) / 180) * Math.PI);
var dx:Number = (X - PivotX);
var dy:Number = (PivotY - Y);
P.x = ((PivotX + (Math.cos(radians) * dx)) - (Math.sin(radians) * dy));
P.y = (PivotY - ((Math.sin(radians) * dx) + (Math.cos(radians) * dy)));
return (P);
}
public static function get seed():Number{
return (_originalSeed);
}
public static function solveXCollision(Object1:FlxObject, Object2:FlxObject):Boolean{
var f1:Boolean;
var f2:Boolean;
var overlap:Number;
var p1hn2:Boolean;
var i1:uint;
var i2:uint;
var ox1:Number;
var oy1:Number;
var ox2:Number;
var oy2:Number;
var r1:Number;
var r2:Number;
var sv1:Number;
var sv2:Number;
var o1:Number = Object1.colVector.x;
var o2:Number = Object2.colVector.x;
if (o1 == o2){
return (false);
};
Object1.preCollide(Object2);
Object2.preCollide(Object1);
var hit:Boolean;
var obj1Stopped = (o1 == 0);
var obj1MoveNeg = (o1 < 0);
var obj1MovePos = (o1 > 0);
var obj2Stopped = (o2 == 0);
var obj2MoveNeg = (o2 < 0);
var obj2MovePos = (o2 > 0);
var obj1Hull:FlxRect = Object1.colHullX;
var obj2Hull:FlxRect = Object2.colHullX;
var co1:Array = Object1.colOffsets;
var co2:Array = Object2.colOffsets;
var l1:uint = co1.length;
var l2:uint = co2.length;
p1hn2 = ((((((((((obj1Stopped) && (obj2MoveNeg))) || (((obj1MovePos) && (obj2Stopped))))) || (((obj1MovePos) && (obj2MoveNeg))))) || (((((obj1MoveNeg) && (obj2MoveNeg))) && ((((o1)>0) ? o1 : -(o1) < ((o2)>0) ? o2 : -(o2))))))) || (((((obj1MovePos) && (obj2MovePos))) && ((((o1)>0) ? o1 : -(o1) > ((o2)>0) ? o2 : -(o2))))));
if ((p1hn2) ? ((!(Object1.collideRight)) || (!(Object2.collideLeft))) : ((!(Object1.collideLeft)) || (!(Object2.collideRight)))){
return (false);
};
i1 = 0;
while (i1 < l1) {
ox1 = co1[i1].x;
oy1 = co1[i1].y;
obj1Hull.x = (obj1Hull.x + ox1);
obj1Hull.y = (obj1Hull.y + oy1);
i2 = 0;
while (i2 < l2) {
ox2 = co2[i2].x;
oy2 = co2[i2].y;
obj2Hull.x = (obj2Hull.x + ox2);
obj2Hull.y = (obj2Hull.y + oy2);
if (((((((((obj1Hull.x + obj1Hull.width) < (obj2Hull.x + roundingError))) || (((obj1Hull.x + roundingError) > (obj2Hull.x + obj2Hull.width))))) || (((obj1Hull.y + obj1Hull.height) < (obj2Hull.y + roundingError))))) || (((obj1Hull.y + roundingError) > (obj2Hull.y + obj2Hull.height))))){
obj2Hull.x = (obj2Hull.x - ox2);
obj2Hull.y = (obj2Hull.y - oy2);
} else {
if (p1hn2){
if (obj1MoveNeg){
r1 = (obj1Hull.x + Object1.colHullY.width);
} else {
r1 = (obj1Hull.x + obj1Hull.width);
};
if (obj2MoveNeg){
r2 = obj2Hull.x;
} else {
r2 = ((obj2Hull.x + obj2Hull.width) - Object2.colHullY.width);
};
} else {
if (obj2MoveNeg){
r1 = (-(obj2Hull.x) - Object2.colHullY.width);
} else {
r1 = (-(obj2Hull.x) - obj2Hull.width);
};
if (obj1MoveNeg){
r2 = -(obj1Hull.x);
} else {
r2 = ((-(obj1Hull.x) - obj1Hull.width) + Object1.colHullY.width);
};
};
overlap = (r1 - r2);
if ((((((overlap == 0)) || (((!(Object1.fixed)) && ((((overlap)>0) ? overlap : -(overlap) > (obj1Hull.width * 0.8))))))) || (((!(Object2.fixed)) && ((((overlap)>0) ? overlap : -(overlap) > (obj2Hull.width * 0.8))))))){
obj2Hull.x = (obj2Hull.x - ox2);
obj2Hull.y = (obj2Hull.y - oy2);
} else {
hit = true;
sv1 = Object2.velocity.x;
sv2 = Object1.velocity.x;
if (((!(Object1.fixed)) && (Object2.fixed))){
if (Object1._group){
Object1.reset((Object1.x - overlap), Object1.y);
} else {
Object1.x = (Object1.x - overlap);
};
} else {
if (((Object1.fixed) && (!(Object2.fixed)))){
if (Object2._group){
Object2.reset((Object2.x + overlap), Object2.y);
} else {
Object2.x = (Object2.x + overlap);
};
} else {
if (((!(Object1.fixed)) && (!(Object2.fixed)))){
overlap = (overlap / 2);
if (Object1._group){
Object1.reset((Object1.x - overlap), Object1.y);
} else {
Object1.x = (Object1.x - overlap);
};
if (Object2._group){
Object2.reset((Object2.x + overlap), Object2.y);
} else {
Object2.x = (Object2.x + overlap);
};
sv1 = (sv1 / 2);
sv2 = (sv2 / 2);
};
};
};
if (p1hn2){
Object1.hitRight(Object2, sv1);
Object2.hitLeft(Object1, sv2);
} else {
Object1.hitLeft(Object2, sv1);
Object2.hitRight(Object1, sv2);
};
if (((!(Object1.fixed)) && (!((overlap == 0))))){
if (p1hn2){
obj1Hull.width = (obj1Hull.width - overlap);
} else {
obj1Hull.x = (obj1Hull.x - overlap);
obj1Hull.width = (obj1Hull.width + overlap);
};
Object1.colHullY.x = (Object1.colHullY.x - overlap);
};
if (((!(Object2.fixed)) && (!((overlap == 0))))){
if (p1hn2){
obj2Hull.x = (obj2Hull.x + overlap);
obj2Hull.width = (obj2Hull.width - overlap);
} else {
obj2Hull.width = (obj2Hull.width + overlap);
};
Object2.colHullY.x = (Object2.colHullY.x + overlap);
};
obj2Hull.x = (obj2Hull.x - ox2);
obj2Hull.y = (obj2Hull.y - oy2);
};
};
i2++;
};
obj1Hull.x = (obj1Hull.x - ox1);
obj1Hull.y = (obj1Hull.y - oy1);
i1++;
};
return (hit);
}
public static function computeVelocity(Velocity:Number, Acceleration:Number=0, Drag:Number=0, Max:Number=10000):Number{
var d:Number;
if (Acceleration != 0){
Velocity = (Velocity + (Acceleration * FlxG.elapsed));
} else {
if (Drag != 0){
d = (Drag * FlxG.elapsed);
if ((Velocity - d) > 0){
Velocity = (Velocity - d);
} else {
if ((Velocity + d) < 0){
Velocity = (Velocity + d);
} else {
Velocity = 0;
};
};
};
};
if (((!((Velocity == 0))) && (!((Max == 10000))))){
if (Velocity > Max){
Velocity = Max;
} else {
if (Velocity < -(Max)){
Velocity = -(Max);
};
};
};
return (Velocity);
}
public static function collide(Object1:FlxObject, Object2:FlxObject):Boolean{
if ((((((((Object1 == null)) || (!(Object1.exists)))) || ((Object2 == null)))) || (!(Object2.exists)))){
return (false);
};
quadTree = new FlxQuadTree(quadTreeBounds.x, quadTreeBounds.y, quadTreeBounds.width, quadTreeBounds.height);
quadTree.add(Object1, FlxQuadTree.A_LIST);
var match = (Object1 === Object2);
if (!match){
quadTree.add(Object2, FlxQuadTree.B_LIST);
};
var cx:Boolean = quadTree.overlap(!(match), solveXCollision);
var cy:Boolean = quadTree.overlap(!(match), solveYCollision);
return (((cx) || (cy)));
}
}
}//package org.flixel
Section 114
//_activeButtonStyleStyle (_activeButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _activeButtonStyleStyle {
public static function init(_activeButtonStyleStyle:IFlexModuleFactory):void{
var fbs = _activeButtonStyleStyle;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeButtonStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".activeButtonStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 115
//_activeTabStyleStyle (_activeTabStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _activeTabStyleStyle {
public static function init(:IFlexModuleFactory):void{
var fbs = ;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeTabStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".activeTabStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 116
//_advancedDataGridStylesStyle (_advancedDataGridStylesStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _advancedDataGridStylesStyle {
public static function init(:IFlexModuleFactory):void{
var fbs = ;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".advancedDataGridStyles");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".advancedDataGridStyles", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 117
//_alertButtonStyleStyle (_alertButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _alertButtonStyleStyle {
public static function init(:IFlexModuleFactory):void{
var fbs = ;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".alertButtonStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".alertButtonStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.color = 734012;
};
};
}
}
}//package
Section 118
//_comboDropdownStyle (_comboDropdownStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _comboDropdownStyle {
public static function init(leading:IFlexModuleFactory):void{
var fbs = leading;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".comboDropdown");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".comboDropdown", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.shadowDirection = "center";
this.fontWeight = "normal";
this.dropShadowEnabled = true;
this.leading = 0;
this.backgroundColor = 0xFFFFFF;
this.shadowDistance = 1;
this.cornerRadius = 0;
this.borderThickness = 0;
this.paddingLeft = 5;
this.paddingRight = 5;
};
};
}
}
}//package
Section 119
//_dataGridStylesStyle (_dataGridStylesStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _dataGridStylesStyle {
public static function init(:IFlexModuleFactory):void{
var fbs = ;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dataGridStyles");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".dataGridStyles", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 120
//_dateFieldPopupStyle (_dateFieldPopupStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _dateFieldPopupStyle {
public static function init(_dateFieldPopupStyle.as$3:IFlexModuleFactory):void{
var fbs = _dateFieldPopupStyle.as$3;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dateFieldPopup");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".dateFieldPopup", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.dropShadowEnabled = true;
this.backgroundColor = 0xFFFFFF;
this.borderThickness = 0;
};
};
}
}
}//package
Section 121
//_errorTipStyle (_errorTipStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _errorTipStyle {
public static function init(borderColor:IFlexModuleFactory):void{
var fbs = borderColor;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".errorTip");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".errorTip", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
this.borderStyle = "errorTipRight";
this.paddingTop = 4;
this.borderColor = 13510953;
this.color = 0xFFFFFF;
this.fontSize = 9;
this.shadowColor = 0;
this.paddingLeft = 4;
this.paddingBottom = 4;
this.paddingRight = 4;
};
};
}
}
}//package
Section 122
//_globalStyle (_globalStyle)
package {
import mx.core.*;
import mx.styles.*;
import mx.skins.halo.*;
public class _globalStyle {
public static function init(horizontalGridLines:IFlexModuleFactory):void{
var fbs = horizontalGridLines;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("global");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration("global", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fillColor = 0xFFFFFF;
this.kerning = false;
this.iconColor = 0x111111;
this.textRollOverColor = 2831164;
this.horizontalAlign = "left";
this.shadowCapColor = 14015965;
this.backgroundAlpha = 1;
this.filled = true;
this.textDecoration = "none";
this.roundedBottomCorners = true;
this.fontThickness = 0;
this.focusBlendMode = "normal";
this.fillColors = [0xFFFFFF, 0xCCCCCC, 0xFFFFFF, 0xEEEEEE];
this.horizontalGap = 8;
this.borderCapColor = 9542041;
this.buttonColor = 7305079;
this.indentation = 17;
this.selectionDisabledColor = 0xDDDDDD;
this.closeDuration = 250;
this.embedFonts = false;
this.paddingTop = 0;
this.letterSpacing = 0;
this.focusAlpha = 0.4;
this.bevel = true;
this.fontSize = 10;
this.shadowColor = 0xEEEEEE;
this.borderAlpha = 1;
this.paddingLeft = 0;
this.fontWeight = "normal";
this.indicatorGap = 14;
this.focusSkin = HaloFocusRect;
this.dropShadowEnabled = false;
this.leading = 2;
this.borderSkin = HaloBorder;
this.fontSharpness = 0;
this.modalTransparencyDuration = 100;
this.borderThickness = 1;
this.backgroundSize = "auto";
this.borderStyle = "inset";
this.borderColor = 12040892;
this.fontAntiAliasType = "advanced";
this.errorColor = 0xFF0000;
this.shadowDistance = 2;
this.horizontalGridLineColor = 0xF7F7F7;
this.stroked = false;
this.modalTransparencyColor = 0xDDDDDD;
this.cornerRadius = 0;
this.verticalAlign = "top";
this.textIndent = 0;
this.fillAlphas = [0.6, 0.4, 0.75, 0.65];
this.verticalGridLineColor = 14015965;
this.themeColor = 40447;
this.version = "3.0.0";
this.shadowDirection = "center";
this.modalTransparency = 0.5;
this.repeatInterval = 35;
this.openDuration = 250;
this.textAlign = "left";
this.fontFamily = "Verdana";
this.textSelectedColor = 2831164;
this.paddingBottom = 0;
this.strokeWidth = 1;
this.fontGridFitType = "pixel";
this.horizontalGridLines = false;
this.useRollOver = true;
this.verticalGridLines = true;
this.repeatDelay = 500;
this.fontStyle = "normal";
this.dropShadowColor = 0;
this.focusThickness = 2;
this.verticalGap = 6;
this.disabledColor = 11187123;
this.paddingRight = 0;
this.focusRoundedCorners = "tl tr bl br";
this.borderSides = "left top right bottom";
this.disabledIconColor = 0x999999;
this.modalTransparencyBlur = 3;
this.color = 734012;
this.selectionDuration = 250;
this.highlightAlphas = [0.3, 0];
};
};
}
}
}//package
Section 123
//_headerDateTextStyle (_headerDateTextStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _headerDateTextStyle {
public static function init(bold:IFlexModuleFactory):void{
var fbs = bold;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDateText");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".headerDateText", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
this.textAlign = "center";
};
};
}
}
}//package
Section 124
//_headerDragProxyStyleStyle (_headerDragProxyStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _headerDragProxyStyleStyle {
public static function init(:IFlexModuleFactory):void{
var fbs = ;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDragProxyStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".headerDragProxyStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 125
//_linkButtonStyleStyle (_linkButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _linkButtonStyleStyle {
public static function init(http://adobe.com/AS3/2006/builtin:IFlexModuleFactory):void{
var fbs = http://adobe.com/AS3/2006/builtin;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".linkButtonStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".linkButtonStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.paddingTop = 2;
this.paddingLeft = 2;
this.paddingBottom = 2;
this.paddingRight = 2;
};
};
}
}
}//package
Section 126
//_opaquePanelStyle (_opaquePanelStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _opaquePanelStyle {
public static function init(Object:IFlexModuleFactory):void{
var fbs = Object;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".opaquePanel");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".opaquePanel", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.borderColor = 0xFFFFFF;
this.backgroundColor = 0xFFFFFF;
this.headerColors = [0xE7E7E7, 0xD9D9D9];
this.footerColors = [0xE7E7E7, 0xC7C7C7];
this.borderAlpha = 1;
};
};
}
}
}//package
Section 127
//_plainStyle (_plainStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _plainStyle {
public static function init(backgroundImage:IFlexModuleFactory):void{
var fbs = backgroundImage;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".plain");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".plain", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.paddingTop = 0;
this.backgroundColor = 0xFFFFFF;
this.backgroundImage = "";
this.horizontalAlign = "left";
this.paddingLeft = 0;
this.paddingBottom = 0;
this.paddingRight = 0;
};
};
}
}
}//package
Section 128
//_popUpMenuStyle (_popUpMenuStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _popUpMenuStyle {
public static function init(normal:IFlexModuleFactory):void{
var fbs = normal;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".popUpMenu");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".popUpMenu", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "normal";
this.textAlign = "left";
};
};
}
}
}//package
Section 129
//_richTextEditorTextAreaStyleStyle (_richTextEditorTextAreaStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _richTextEditorTextAreaStyleStyle {
public static function init(_richTextEditorTextAreaStyleStyle:IFlexModuleFactory):void{
var fbs = _richTextEditorTextAreaStyleStyle;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".richTextEditorTextAreaStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".richTextEditorTextAreaStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 130
//_swatchPanelTextFieldStyle (_swatchPanelTextFieldStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _swatchPanelTextFieldStyle {
public static function init(shadowCapColor:IFlexModuleFactory):void{
var fbs = shadowCapColor;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".swatchPanelTextField");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".swatchPanelTextField", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.borderStyle = "inset";
this.borderColor = 14015965;
this.highlightColor = 12897484;
this.backgroundColor = 0xFFFFFF;
this.shadowCapColor = 14015965;
this.shadowColor = 14015965;
this.paddingLeft = 5;
this.buttonColor = 7305079;
this.borderCapColor = 9542041;
this.paddingRight = 5;
};
};
}
}
}//package
Section 131
//_textAreaHScrollBarStyleStyle (_textAreaHScrollBarStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _textAreaHScrollBarStyleStyle {
public static function init(_textAreaHScrollBarStyleStyle:IFlexModuleFactory):void{
var fbs = _textAreaHScrollBarStyleStyle;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaHScrollBarStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".textAreaHScrollBarStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 132
//_textAreaVScrollBarStyleStyle (_textAreaVScrollBarStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _textAreaVScrollBarStyleStyle {
public static function init(_textAreaVScrollBarStyleStyle:IFlexModuleFactory):void{
var fbs = _textAreaVScrollBarStyleStyle;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaVScrollBarStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".textAreaVScrollBarStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 133
//_todayStyleStyle (_todayStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _todayStyleStyle {
public static function init(color:IFlexModuleFactory):void{
var fbs = color;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".todayStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".todayStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.color = 0xFFFFFF;
this.textAlign = "center";
};
};
}
}
}//package
Section 134
//_weekDayStyleStyle (_weekDayStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _weekDayStyleStyle {
public static function init(bold:IFlexModuleFactory):void{
var fbs = bold;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".weekDayStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".weekDayStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
this.textAlign = "center";
};
};
}
}
}//package
Section 135
//_windowStatusStyle (_windowStatusStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _windowStatusStyle {
public static function init(:IFlexModuleFactory):void{
var fbs = ;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStatus");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".windowStatus", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.color = 0x666666;
};
};
}
}
}//package
Section 136
//_windowStylesStyle (_windowStylesStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _windowStylesStyle {
public static function init(:IFlexModuleFactory):void{
var fbs = ;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStyles");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".windowStyles", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 137
//AffectEntity (AffectEntity)
package {
public class AffectEntity {
public var all:Boolean;// = false
public var entityDef:EntityDef;// = null
public var condition:int;
public function AffectEntity():void{
condition = Condition.ALL;
super();
}
public function affect(our:Entity, other:Entity):Boolean{
if (all){
return (Condition.conditionMet(condition, our, other));
};
if (entityDef == other.getEntityDef()){
return (Condition.conditionMet(condition, our, other));
};
return (false);
}
public function readXML(timeAttack:Boolean, aeEl:XML):void{
var conditionS:String;
var entityDefS:String;
if (aeEl.attribute("all") != undefined){
all = Utilities.XMLListToBoolean(aeEl.attribute("all"));
};
if (Level.hasLevelAttribute(timeAttack, aeEl, "entitydef")){
entityDefS = Level.queryLevelAttribute(timeAttack, aeEl, "entitydef");
entityDef = EntityDefs.getInstance().getEntityDef(entityDefS);
};
if (Level.hasLevelAttribute(timeAttack, aeEl, "condition")){
conditionS = Level.queryLevelAttribute(timeAttack, aeEl, "condition");
condition = Condition.stringToIntCondition(conditionS);
};
}
public function clone():AffectEntity{
var entity:AffectEntity = new AffectEntity();
entity.all = all;
entity.entityDef = entityDef;
entity.condition = condition;
return (entity);
}
}
}//package
Section 138
//Animation (Animation)
package {
import org.flixel.*;
public class Animation {
public var animationDef:AnimationDef;// = null
public var done:Boolean;// = false
public var playing:Boolean;// = true
public var listener:Listener;// = null
public var timePosition:Number;// = 0
public var currentFrame:int;// = 0
public var timeToCurrentFrame:Number;// = 0
public function Animation(aListener:Listener, anAnimationDef:AnimationDef):void{
super();
listener = aListener;
animationDef = anAnimationDef;
}
public function getDingoImage():DingoImage{
return (animationDef.frames[currentFrame].dingoImage);
}
public function isPlaying():Boolean{
return (playing);
}
public function play():void{
playing = true;
}
public function update():void{
var correctCurrent:Boolean;
var loopVariant:int;
var MAX_VARIANT:int;
var timeToNextFrame:Number;
if (!playing){
return;
};
timePosition = (timePosition + FlxG.elapsed);
if (timePosition >= animationDef.time){
if (animationDef.looping){
timePosition = (timePosition - animationDef.time);
currentFrame = 0;
timeToCurrentFrame = 0;
} else {
timePosition = animationDef.time;
if (!done){
done = true;
if (listener){
listener.animationDone(this);
};
};
};
};
var maxFrame:int = (animationDef.frames.length - 1);
if (done){
currentFrame = maxFrame;
} else {
correctCurrent = false;
loopVariant = 0;
MAX_VARIANT = 20;
while (((!(correctCurrent)) && ((loopVariant < MAX_VARIANT)))) {
currentFrame = Utilities.getClampInt(currentFrame, 0, maxFrame);
timeToNextFrame = (timeToCurrentFrame + animationDef.getRealFrameTime(currentFrame));
if (timePosition >= timeToNextFrame){
currentFrame++;
timeToCurrentFrame = timeToNextFrame;
} else {
correctCurrent = true;
};
loopVariant++;
};
currentFrame = Utilities.getClampInt(currentFrame, 0, maxFrame);
};
}
public function stop():void{
playing = false;
}
public function getFlipX():Boolean{
return (animationDef.frames[currentFrame].flipX);
}
public function getAnimationDef():AnimationDef{
return (animationDef);
}
public function isDone():Boolean{
return (done);
}
public function getFlipY():Boolean{
return (animationDef.frames[currentFrame].flipY);
}
}
}//package
Section 139
//AnimationDef (AnimationDef)
package {
public class AnimationDef {
public var frames:Array;
public var time:Number;// = 1
public var looping:Boolean;// = false
public function AnimationDef():void{
frames = new Array();
super();
}
public function getDingoImage(frameNum:int):DingoImage{
return (frames[frameNum].dingoImage);
}
public function readXML(animationDefEl:XML):void{
var imagemapName:String;
var next:XML;
var nextValue:String;
var time:Number;
var flipX:Boolean;
var flipY:Boolean;
var frameImagemapString:String;
var frameImageMap:DingoImage;
var useImageMap:DingoImage;
var defaultImageMap:DingoImage;
var looping:Boolean;
if (animationDefEl.attribute("looping") != undefined){
looping = Utilities.XMLListToBoolean(animationDefEl.attribute("looping"));
};
setLooping(looping);
var totalTime:Number = 1;
if (animationDefEl.attribute("time") != undefined){
totalTime = animationDefEl.attribute("time");
setTime(totalTime);
} else {
assert(false);
};
for each (next in animationDefEl.children()) {
nextValue = next.name();
if (nextValue == "frame"){
time = 1;
flipX = false;
flipY = false;
if (next.attribute("time") != undefined){
time = next.attribute("time");
};
if (next.attribute("flipx") != undefined){
flipX = Utilities.XMLListToBoolean(next.attribute("flipx"));
};
if (next.attribute("flipy") != undefined){
flipY = Utilities.XMLListToBoolean(next.attribute("flipy"));
};
frameImageMap = null;
if (next.attribute("image") != undefined){
frameImagemapString = next.attribute("image");
frameImageMap = ResourceManager.getInstance().getDingoImage(frameImagemapString);
};
useImageMap = defaultImageMap;
if (frameImageMap){
useImageMap = frameImageMap;
};
if (useImageMap != null){
addFrame(useImageMap, time, flipX, flipY);
};
};
};
normalizeTimes();
}
public function setLooping(aLooping:Boolean):void{
looping = aLooping;
}
public function addFrame(aDingoImage:DingoImage, frameTime:Number, flipX:Boolean, flipY:Boolean):void{
var frame:AnimationFrame;
frame = new AnimationFrame();
frame.dingoImage = aDingoImage;
frame.time = frameTime;
frame.flipX = flipX;
frame.flipY = flipY;
frames.push(frame);
}
public function setTime(aTime:Number):void{
time = aTime;
}
public function getRealFrameTime(frameNum:int):Number{
return ((time * frames[frameNum].time));
}
public function normalizeTimes():void{
var totalTime:Number = 0;
var i:int;
i = 0;
while (i < frames.length) {
totalTime = (totalTime + frames[i].time);
i++;
};
i = 0;
while (i < frames.length) {
frames[i].time = (frames[i].time / totalTime);
i++;
};
}
public function getFirstFrameDingoImage():DingoImage{
if (frames.length > 0){
return (frames[0].dingoImage);
};
return (null);
}
}
}//package
Section 140
//AnimationDefs (AnimationDefs)
package {
import flash.utils.*;
public class AnimationDefs {
protected const animationdefsXML:Class;
public var animationDefs:Array;
private static var instance:AnimationDefs;
public function AnimationDefs():void{
animationdefsXML = AnimationDefs_animationdefsXML;
animationDefs = new Array();
super();
readXML("animationdefsXML");
}
public function readXML(xmlFilename:String):void{
var animationDefEl:XML;
var name:String;
var animationDef:AnimationDef;
var fileName:String = xmlFilename;
var file:ByteArray = new (this[fileName]);
var str:String = file.readUTFBytes(file.length);
var root:XML = new XML(str);
for each (animationDefEl in root.children()) {
if (animationDefEl.attribute("name") != undefined){
name = animationDefEl.attribute("name");
animationDef = new AnimationDef();
animationDef.readXML(animationDefEl);
animationDefs[name] = animationDef;
};
};
}
public function get(key:String):AnimationDef{
return (animationDefs[key]);
}
public static function getInstance():AnimationDefs{
if (instance == null){
instance = new (AnimationDefs);
};
return (instance);
}
}
}//package
Section 141
//AnimationDefs_animationdefsXML (AnimationDefs_animationdefsXML)
package {
import mx.core.*;
public class AnimationDefs_animationdefsXML extends ByteArrayAsset {
}
}//package
Section 142
//AnimationFrame (AnimationFrame)
package {
public class AnimationFrame {
public var dingoImage:DingoImage;// = null
public var flipX:Boolean;// = false
public var flipY:Boolean;// = false
public var time:Number;// = 0
public function AnimationFrame(){
super();
}
}
}//package
Section 143
//assert (assert)
package {
public function assert(expression:Boolean):void{
}
}//package
Section 144
//Camera (Camera)
package {
import flash.geom.*;
public class Camera {
public var spriteWidth:Number;
public var levelHeight:Number;// = 0
public var spriteHeight:Number;
public var levelBottom:Number;// = 0
public var spriteBottom:Number;
public var center:Point;
public var spriteTop:Number;
public var spriteRight:Number;
public var levelWidth:Number;// = 0
public var levelLeft:Number;// = 0
public var spriteLeft:Number;
public var levelTop:Number;// = 0
public var screenHeight:int;
public var levelRight:Number;// = 0
public var screenWidth:int;
public function Camera(aScreenWidth:int, aScreenHeight:int):void{
center = new Point();
super();
screenWidth = aScreenWidth;
screenHeight = aScreenHeight;
spriteWidth = screenWidth;
spriteHeight = screenHeight;
spriteLeft = (center.x - (spriteWidth / 2));
spriteTop = (center.y - (spriteHeight / 2));
spriteRight = (center.x + (spriteWidth / 2));
spriteBottom = (center.y + (spriteHeight / 2));
}
public function spriteToScreenHeight(aHeight:Number):Number{
return (((aHeight / spriteHeight) * screenHeight));
}
public function spriteToScreenWidth(aWidth:Number):Number{
return (((aWidth / spriteWidth) * screenWidth));
}
public function setDesiredCenter(desiredCenter:Point):void{
center = desiredCenter.clone();
var currentLeft:Number = (center.x - (spriteWidth / 2));
var currentRight:Number = (center.x + (spriteWidth / 2));
var currentTop:Number = (center.y - (spriteHeight / 2));
var currentBottom:Number = (center.y + (spriteHeight / 2));
var diffX:Number = 0;
var diffY:Number = 0;
if (currentLeft < levelLeft){
center.x = (levelLeft + (spriteWidth / 2));
} else {
if (currentRight > levelRight){
center.x = (levelRight - (spriteWidth / 2));
};
};
if (currentTop < levelTop){
center.y = (levelTop + (spriteHeight / 2));
} else {
if (currentBottom > levelBottom){
center.y = (levelBottom - (spriteHeight / 2));
};
};
spriteLeft = (center.x - (spriteWidth / 2));
spriteTop = (center.y - (spriteHeight / 2));
spriteRight = (spriteLeft + spriteWidth);
spriteBottom = (spriteTop + spriteHeight);
}
public function screenToSpriteX(screenX:Number):Number{
var spriteWidth:Number = (spriteRight - spriteLeft);
return (((screenX * (spriteWidth / screenWidth)) + spriteLeft));
}
public function update():void{
}
public function spriteToScreenY(spriteY:Number):Number{
var normPosY:Number = ((spriteY - spriteTop) / spriteHeight);
return ((normPosY * screenHeight));
}
public function setLevelEdge(aLevelLeft:Number, aLevelTop:Number, aLevelRight:Number, aLevelBottom:Number):void{
levelLeft = aLevelLeft;
levelTop = aLevelTop;
levelRight = aLevelRight;
levelBottom = aLevelBottom;
levelWidth = (levelRight - levelLeft);
levelHeight = (levelBottom - levelTop);
}
public function spriteToScreenX(spriteX:Number):Number{
var normPosX:Number = ((spriteX - spriteLeft) / spriteWidth);
return ((normPosX * screenWidth));
}
public function screenToSpriteY(screenY:Number):Number{
var spriteHeight:Number = (spriteBottom - spriteTop);
return (((screenY * (spriteHeight / screenHeight)) + spriteTop));
}
}
}//package
Section 145
//Color (Color)
package {
public class Color {
public var a:Number;// = 1
public var b:Number;// = 1
public var g:Number;// = 1
public var r:Number;// = 1
public function Color(aR:Number=1, aG:Number=1, aB:Number=1, aA:Number=1):void{
super();
r = aR;
g = aG;
b = aB;
a = aA;
}
public function getHex():uint{
var r255:int = int((r * 0xFF));
var g255:int = int((g * 0xFF));
var b255:int = int((b * 0xFF));
var a255:int = int((a * 0xFF));
return (((((a255 << 24) + (r255 << 16)) + (g255 << 8)) + b255));
}
public function clone():Color{
return (new Color(r, g, b, a));
}
}
}//package
Section 146
//Condition (Condition)
package {
public class Condition {
public static var ALL:int = 1;
public static var SMALLER_EQUAL:int = 3;
public static var LARGER_EQUAL:int = 5;
public static var SMALLER:int = 2;
public static var LARGER:int = 4;
public static var NONE:int = 0;
public function Condition(){
super();
}
public static function conditionMet(condition:int, our:Entity, other:Entity):Boolean{
if (condition == ALL){
return (true);
};
if (condition == SMALLER){
if (other.getActualArea() < our.getActualArea()){
return (true);
};
return (false);
} else {
if (condition == SMALLER_EQUAL){
if (other.getActualArea() <= our.getActualArea()){
return (true);
};
return (false);
} else {
if (condition == LARGER){
if (other.getActualArea() > our.getActualArea()){
return (true);
};
return (false);
} else {
if (condition == LARGER_EQUAL){
if (other.getActualArea() >= our.getActualArea()){
return (true);
};
return (false);
} else {
if (condition == NONE){
return (false);
};
};
};
};
};
assert(false);
return (false);
}
public static function stringToIntCondition(stringCondition:String):int{
if (stringCondition == "none"){
return (NONE);
};
if (stringCondition == "all"){
return (ALL);
};
if (stringCondition == "smaller"){
return (SMALLER);
};
if (stringCondition == "smallerequal"){
return (SMALLER_EQUAL);
};
if (stringCondition == "larger"){
return (LARGER);
};
if (stringCondition == "largerequal"){
return (LARGER_EQUAL);
};
assert(false);
return (NONE);
}
}
}//package
Section 147
//ControllerAttack (ControllerAttack)
package {
import flash.geom.*;
import org.flixel.*;
public class ControllerAttack extends EntityController {
public var speed:Number;// = 0
public var closest:Entity;// = null
public var shot:int;// = -1
public var shotPeriod:Number;// = 0
public var timeSinceLastShot:Number;// = 1000
public var shotX:Number;// = 0
public var shotY:Number;// = 0
public function ControllerAttack(aGameWindow:GameWindow, anEntityEngine:EntityEngine):void{
super(aGameWindow, anEntityEngine);
controllerType = ControllerTypes.ATTACK;
priority = 0.6;
firstPriority = priority;
affectDist = 300;
firstAffectDist = affectDist;
first = false;
}
public function setShot(aShot:int):void{
shot = aShot;
}
public function setShotPeriod(aShotPeriod:Number):void{
shotPeriod = aShotPeriod;
}
public function shoot():void{
var volume:Number;
var pan:Number;
var shotPos:Point = new Point((entity.getBiggerDim() * shotX), (entity.getBiggerDim() * shotY));
var shotAngle:Number = Utilities.angleOfPoint(shotPos);
shotAngle = (shotAngle + entity.getAngle());
shotPos = Point.polar(shotPos.length, -(Utilities.degToRad(shotAngle)));
shotPos = shotPos.add(entity.pos);
if (entity.getEntityDef().attackSound){
volume = 1;
pan = 1;
entity.getVolumePan();
volume = Entity.tempVolume;
pan = Entity.tempPan;
entity.getEntityDef().attackSound.play(volume, 0);
};
gameWindow.shoot(shot, shotPos, entity.getAngle());
if (entity.getEntityDef().attackAnimationDef){
entity.getSprite().playAnimation(entity.getEntityDef().attackAnimationDef);
};
}
override public function targetDeleted(deletedTarget:Entity):void{
if (closest == deletedTarget){
closest = null;
};
}
override public function getPriority():Number{
if (closest){
return (getEffectivePriority());
};
return (0);
}
override public function doControl():void{
var dir:Point;
var dirToTarget:Number;
var pointDiff:Number;
var shootAngle:Number;
var dt:Number = FlxG.elapsed;
if (closest){
dir = closest.pos.subtract(entity.pos);
dir.normalize(1000);
dir = dir.add(entity.pos);
entity.goToPos(dir, speed, accel);
if (shot >= 0){
timeSinceLastShot = (timeSinceLastShot + dt);
if (timeSinceLastShot > shotPeriod){
dirToTarget = Utilities.angleOfPoint(closest.pos.subtract(entity.pos));
pointDiff = Math.abs(Utilities.angleDifference(entity.getAngle(), dirToTarget));
shootAngle = 15;
if (pointDiff <= shootAngle){
timeSinceLastShot = 0;
shoot();
};
};
};
};
super.doControl();
}
public function setSpeed(aSpeed:Number):void{
speed = aSpeed;
}
override public function updateSelf():void{
var oldClosest:Entity = closest;
closest = entityEngine.getClosestEntity(this, getEffectiveAffectDistance());
if (oldClosest != closest){
entity.removeTarget(oldClosest);
entity.addTarget(closest);
};
}
public function setShotPos(aShotX:Number, aShotY:Number):void{
shotX = aShotX;
shotY = aShotY;
}
}
}//package
Section 148
//ControllerAvoid (ControllerAvoid)
package {
import flash.geom.*;
public class ControllerAvoid extends EntityController {
public var speed:Number;// = 0
public var entityInPath:Entity;// = null
public function ControllerAvoid(aGameWindow:GameWindow, anEntityEngine:EntityEngine):void{
super(aGameWindow, anEntityEngine);
controllerType = ControllerTypes.AVOID;
priority = 0.8;
firstPriority = priority;
affectDist = 1;
firstAffectDist = affectDist;
first = false;
}
override public function getPriority():Number{
if (entityInPath){
return (getEffectivePriority());
};
return (0);
}
override public function doControl():void{
var dir:Point;
var angle:Number;
if (entityInPath){
dir = entityInPath.pos.subtract(entity.pos);
dir.normalize(1000);
angle = (Utilities.angleOfPoint(dir) + 180);
dir = Point.polar(dir.length, -(Utilities.degToRad(angle)));
dir = dir.add(entity.pos);
entity.goToPos(dir, speed, accel);
};
super.doControl();
}
public function setSpeed(aSpeed:Number):void{
speed = aSpeed;
}
override public function targetDeleted(deletedTarget:Entity):void{
if (entityInPath == deletedTarget){
entityInPath = null;
};
}
override public function updateSelf():void{
var oldEntityInPath:Entity = entityInPath;
var scanTime:Number = getEffectiveAffectDistance();
entityInPath = entityEngine.intersectFuture(this, scanTime);
if (oldEntityInPath != entityInPath){
entity.removeTarget(oldEntityInPath);
entity.addTarget(entityInPath);
};
}
}
}//package
Section 149
//ControllerEvade (ControllerEvade)
package {
import flash.geom.*;
public class ControllerEvade extends EntityController {
public var speed:Number;// = 0
public var closest:Entity;// = null
public function ControllerEvade(aGameWindow:GameWindow, anEntityEngine:EntityEngine):void{
super(aGameWindow, anEntityEngine);
controllerType = ControllerTypes.EVADE;
priority = 0.7;
firstPriority = priority;
affectDist = 200;
firstAffectDist = affectDist;
first = false;
}
override public function doControl():void{
var dir:Point;
var angle:Number;
if (closest){
dir = closest.pos.subtract(entity.pos);
dir.normalize(1000);
angle = (Utilities.angleOfPoint(dir) + 180);
dir = Point.polar(dir.length, -(Utilities.degToRad(angle)));
dir = dir.add(entity.pos);
entity.goToPos(dir, speed, accel);
};
super.doControl();
}
public function setSpeed(aSpeed:Number):void{
speed = aSpeed;
}
override public function targetDeleted(deletedTarget:Entity):void{
if (closest == deletedTarget){
closest = null;
};
}
override public function getPriority():Number{
if (closest){
return (getEffectivePriority());
};
return (0);
}
override public function updateSelf():void{
var oldClosest:Entity = closest;
closest = entityEngine.getClosestEntity(this, getEffectiveAffectDistance());
if (oldClosest != closest){
entity.removeTarget(oldClosest);
entity.addTarget(closest);
};
}
}
}//package
Section 150
//ControllerGreyGoo (ControllerGreyGoo)
package {
import flash.geom.*;
import org.flixel.*;
public class ControllerGreyGoo extends EntityController {
public var usingKeys:Boolean;// = false
public var timeSinceUsingKeys:Number;// = 10000
public function ControllerGreyGoo(aGameWindow:GameWindow, anEntityEngine:EntityEngine){
super(aGameWindow, anEntityEngine);
controllerType = ControllerTypes.GREY_GOO;
var allEntities:AffectEntity = new AffectEntity();
allEntities.all = true;
addAffectEntity(allEntities);
}
override public function doControl():void{
var dt:Number = FlxG.elapsed;
var diffX:int;
var diffY:int;
var mouseSensitivity:Number = 0.5;
var minSensMult:Number = 0.5;
var maxSensMult:Number = 2;
var sensRange:Number = (maxSensMult - minSensMult);
var sensMult:Number = (minSensMult + (sensRange * mouseSensitivity));
var accel:Point = new Point(((diffX * 200) * sensMult), ((diffY * 200) * sensMult));
var normalMaxAccel:Number = Utilities.scaleDist(10000);
if (usingKeys){
normalMaxAccel = Utilities.scaleDist(18000);
};
var normalMaxSpeed:Number = Utilities.scaleDist(600);
var MAX_SLOWDOWN_DIAMETER:Number = Utilities.scaleDist(300);
var accelAtBiggest:Number = Utilities.scaleDist(10000);
var SPEED_AT_BIGGEST:Number = (normalMaxSpeed * 1);
var ACCEL_DIFF:Number = (normalMaxAccel - accelAtBiggest);
var SPEED_DIFF:Number = (normalMaxSpeed - SPEED_AT_BIGGEST);
var maxSlowAreaFrac:Number = (entity.getDiameter() / MAX_SLOWDOWN_DIAMETER);
maxSlowAreaFrac = Utilities.getClampDouble(maxSlowAreaFrac, -1, 1);
var maxAccel:Number = (normalMaxAccel - (ACCEL_DIFF * maxSlowAreaFrac));
var maxSpeed:Number = (normalMaxSpeed - (SPEED_DIFF * maxSlowAreaFrac));
var minKeySensMult:Number = 0.1;
var maxKeySensMult:Number = 1;
var keySensRange:Number = (maxKeySensMult - minKeySensMult);
var keySensMult:Number = (minKeySensMult + (keySensRange * mouseSensitivity));
var maxKeyAccel:Number = (maxAccel * keySensMult);
var MIN_KEY_ACCEL_MULT:Number = 0.3;
var MAX_KEY_ACCEL_MULT:Number = 1;
var KEY_ACCEL_MULT_RANGE:Number = (MAX_KEY_ACCEL_MULT - MIN_KEY_ACCEL_MULT);
var MIN_KEY_ACCEL_AT_DIAM:Number = Utilities.scaleDist(40);
var MAX_KEY_ACCEL_AT_DIAM:Number = Utilities.scaleDist(150);
var KEY_ACCEL_AT_DIAM_RANGE:Number = (MAX_KEY_ACCEL_AT_DIAM - MIN_KEY_ACCEL_AT_DIAM);
var keyRatio:Number = ((entity.getDiameter() - MIN_KEY_ACCEL_AT_DIAM) / KEY_ACCEL_AT_DIAM_RANGE);
keyRatio = Utilities.getClampDouble(keyRatio, 0, 1);
var keyAccelMult:Number = ((keyRatio * KEY_ACCEL_MULT_RANGE) + MIN_KEY_ACCEL_MULT);
var keyAccel:Number = (maxKeyAccel * keyAccelMult);
var diagAccel:Number = Math.sqrt(((keyAccel * keyAccel) * 0.5));
var usedAKey:Boolean;
if (((((DingoInput.getInstance().isDownDown()) && (DingoInput.getInstance().isDownLeft()))) || (((DingoInput.getInstance().isDownS()) && (DingoInput.getInstance().isDownA()))))){
usedAKey = true;
accel = accel.add(new Point(-(diagAccel), diagAccel));
} else {
if (((((DingoInput.getInstance().isDownLeft()) && (DingoInput.getInstance().isDownUp()))) || (((DingoInput.getInstance().isDownA()) && (DingoInput.getInstance().isDownW()))))){
usedAKey = true;
accel = accel.add(new Point(-(diagAccel), -(diagAccel)));
} else {
if (((((DingoInput.getInstance().isDownUp()) && (DingoInput.getInstance().isDownRight()))) || (((DingoInput.getInstance().isDownW()) && (DingoInput.getInstance().isDownD()))))){
usedAKey = true;
accel = accel.add(new Point(diagAccel, -(diagAccel)));
} else {
if (((((DingoInput.getInstance().isDownRight()) && (DingoInput.getInstance().isDownDown()))) || (((DingoInput.getInstance().isDownD()) && (DingoInput.getInstance().isDownS()))))){
usedAKey = true;
accel = accel.add(new Point(diagAccel, diagAccel));
} else {
if (((DingoInput.getInstance().isDownDown()) || (DingoInput.getInstance().isDownS()))){
usedAKey = true;
accel = accel.add(new Point(0, keyAccel));
} else {
if (((DingoInput.getInstance().isDownUp()) || (DingoInput.getInstance().isDownW()))){
usedAKey = true;
accel = accel.add(new Point(0, -(keyAccel)));
} else {
if (((DingoInput.getInstance().isDownLeft()) || (DingoInput.getInstance().isDownA()))){
usedAKey = true;
accel = accel.add(new Point(-(keyAccel), 0));
} else {
if (((DingoInput.getInstance().isDownRight()) || (DingoInput.getInstance().isDownD()))){
usedAKey = true;
accel = accel.add(new Point(keyAccel, 0));
};
};
};
};
};
};
};
};
timeSinceUsingKeys = (timeSinceUsingKeys + dt);
if (usedAKey){
usingKeys = true;
timeSinceUsingKeys = 0;
};
var REVERT_KEY_TO_MOUSE_TIME:Number = 1.5;
if (timeSinceUsingKeys > REVERT_KEY_TO_MOUSE_TIME){
usingKeys = false;
};
var dragMultiplier:Number = 2;
if (usingKeys){
dragMultiplier = 6;
};
Utilities.boundR(accel, 0, maxAccel);
var accelMag:Number = accel.length;
var correctionAccel:Point = new Point();
if (accelMag > 100){
correctionAccel = entity.vel.clone();
correctionAccel = Point.polar(correctionAccel.length, -(Utilities.degToRad((Utilities.angleOfPoint(correctionAccel) - Utilities.angleOfPoint(accel)))));
correctionAccel.x = 0;
correctionAccel.y = -(correctionAccel.y);
correctionAccel = Point.polar(correctionAccel.length, -(Utilities.degToRad(Utilities.angleOfPoint(accel))));
};
var correctionRate:Number = 1;
var newV:Point = new Point();
newV.x = ((entity.vel.x + (accel.x * dt)) + ((correctionAccel.x * correctionRate) * dt));
newV.y = ((entity.vel.y + (accel.y * dt)) + ((correctionAccel.y * correctionRate) * dt));
Utilities.boundR(newV, 0, maxSpeed);
entity.setVel(newV);
var drag:Point = entity.vel.clone();
drag.x = (drag.x * -(dragMultiplier));
drag.y = (drag.y * -(dragMultiplier));
var newVel:Point = new Point();
newVel.x = (entity.vel.x + (drag.x * dt));
newVel.y = (entity.vel.y + (drag.y * dt));
entity.setVel(newVel);
super.doControl();
}
override public function updateSelf():void{
}
override public function getPriority():Number{
return (1);
}
}
}//package
Section 151
//ControllerLeaveLevel (ControllerLeaveLevel)
package {
import flash.geom.*;
public class ControllerLeaveLevel extends EntityController {
public var leaveTime:Number;// = 100000000
public var speed:Number;// = 0
public var accelDir:Point;
public var mustLeave:Boolean;// = false
public var leaveSize:Number;// = 100000000
public function ControllerLeaveLevel(aGameWindow:GameWindow, anEntityEngine:EntityEngine):void{
accelDir = new Point();
super(aGameWindow, anEntityEngine);
controllerType = ControllerTypes.LEAVE_LEVEL;
priority = 0.65;
firstPriority = priority;
affectDist = 100;
firstAffectDist = affectDist;
first = false;
}
public function setLeaveTime(aLeaveTime:Number):void{
leaveTime = aLeaveTime;
}
public function setSpeed(aSpeed:Number):void{
speed = aSpeed;
}
override public function updateSelf():void{
if (entity.getActualArea() > leaveSize){
mustLeave = true;
};
if (entity.getLivedFor() > leaveTime){
mustLeave = true;
};
if (mustLeave){
accelDir = entity.pos.clone();
accelDir.normalize(100);
};
}
override public function doControl():void{
var desiredPos:Point;
if (mustLeave){
desiredPos = accelDir.clone();
desiredPos.normalize(1000);
desiredPos = desiredPos.add(entity.pos);
entity.goToPos(desiredPos, speed, accel);
};
super.doControl();
}
public function setLeaveSize(aLeaveSize:Number):void{
leaveSize = aLeaveSize;
}
override public function getPriority():Number{
if (mustLeave){
return (getEffectivePriority());
};
return (0);
}
}
}//package
Section 152
//ControllerMoveDirection (ControllerMoveDirection)
package {
import flash.geom.*;
import org.flixel.*;
public class ControllerMoveDirection extends EntityController {
public var speed:Number;// = 0
public var speedVaryAccel:Number;// = 0
public var directionVariance:Number;// = 0
public var directionVaryAccel:Number;// = 0
public var speedVariance:Number;// = 0
public var speedVaryRate:Number;// = 0
public var directionVaryRate:Number;// = 0
public var direction:Number;// = 0
public function ControllerMoveDirection(aGameWindow:GameWindow, anEntityEngine:EntityEngine):void{
super(aGameWindow, anEntityEngine);
controllerType = ControllerTypes.MOVE_DIRECTION;
priority = 0.5;
firstPriority = priority;
affectDist = 0;
firstAffectDist = affectDist;
first = false;
}
public function setSpeed(aSpeed:Number):void{
speed = aSpeed;
speed = Math.abs(speed);
}
public function setSpeedVaryAccel(aSpeedVaryAccel:Number):void{
speedVaryAccel = aSpeedVaryAccel;
speedVaryAccel = Math.abs(speedVaryAccel);
}
override public function doControl():void{
var minDif:Number;
var maxDif:Number;
var dt:Number = FlxG.elapsed;
var vel:Point = entity.vel.clone();
var curSpeed:Number = vel.length;
var curDir:Number = Utilities.angleOfPoint(vel);
directionVaryRate = (directionVaryRate + (Utilities.randomDouble(-(directionVaryAccel), directionVaryAccel) * dt));
curDir = (curDir + (directionVaryRate * dt));
var minDir:Number = (direction - directionVariance);
var maxDir:Number = (direction + directionVariance);
minDir = Utilities.set0To360(minDir);
maxDir = Utilities.set0To360(maxDir);
var isBetween:Boolean = Utilities.angleIsBetweenAngles(curDir, direction, directionVariance);
if (!isBetween){
minDif = Math.abs(Utilities.angleDifference(curDir, minDir));
maxDif = Math.abs(Utilities.angleDifference(curDir, maxDir));
if (minDif < maxDif){
curDir = minDir;
directionVaryRate = 0;
} else {
curDir = maxDir;
directionVaryRate = 0;
};
};
speedVaryRate = (speedVaryRate + (Utilities.randomDouble(-(speedVaryAccel), speedVaryAccel) * dt));
curSpeed = (curSpeed + (speedVaryRate * dt));
var minSpeed:Number = (speed - speedVariance);
var maxSpeed:Number = (speed + speedVariance);
if (curSpeed <= minSpeed){
curSpeed = minSpeed;
speedVaryRate = 0;
} else {
if (curSpeed >= maxSpeed){
curSpeed = maxSpeed;
speedVaryRate = 0;
};
};
var dir:Point = Point.polar(1000, -(Utilities.degToRad(curDir)));
dir = dir.add(entity.pos);
entity.goToPos(dir, curSpeed, accel);
super.doControl();
}
public function setDirectionVariance(aDirectionVariance:Number):void{
directionVariance = aDirectionVariance;
directionVariance = Math.abs(directionVariance);
}
public function setSpeedVariance(aSpeedVariance:Number):void{
speedVariance = aSpeedVariance;
speedVariance = Math.abs(speedVariance);
}
public function getSpeed():Number{
return (speed);
}
public function setDirectionVaryAccel(aDirectionVaryAccel:Number):void{
directionVaryAccel = aDirectionVaryAccel;
directionVaryAccel = Math.abs(directionVaryAccel);
}
override public function getPriority():Number{
return (getEffectivePriority());
}
public function setDirection(aDirection:Number):void{
direction = aDirection;
}
}
}//package
Section 153
//ControllerPathFollow (ControllerPathFollow)
package {
import flash.geom.*;
import org.flixel.*;
public class ControllerPathFollow extends EntityController {
public var loop:Boolean;// = true
public var path:Path;// = null
public var speed:Number;// = 0
public var posOnPath:Number;// = 0
public var initPathPos:Number;// = 0
public function ControllerPathFollow(aPath:Path, aGameWindow:GameWindow, anEntityEngine:EntityEngine):void{
super(aGameWindow, anEntityEngine);
controllerType = ControllerTypes.PATH_FOLLOW;
path = aPath;
priority = 0;
firstPriority = 0.55;
affectDist = 0;
firstAffectDist = affectDist;
first = false;
}
public function setLoop(aLoop:Boolean):void{
loop = aLoop;
}
public function setSpeed(aSpeed:Number):void{
speed = aSpeed;
}
override public function doControl():void{
var posAngle:Number;
var dt:Number = FlxG.elapsed;
var length:Number = path.getLength();
var completeSpeed:Number = (speed / length);
posOnPath = (posOnPath + (completeSpeed * dt));
if (((loop) && ((posOnPath >= 1)))){
posOnPath = (posOnPath - 1);
};
var pos:Point = path.getPos(posOnPath);
var posDiff:Point = pos.subtract(entity.pos);
if (!entity.getFirstFrameAlive()){
entity.setVelComp((posDiff.x / dt), (posDiff.y / dt));
} else {
entity.setVelComp(0, 0);
};
if (((entity.getDirectedTravel()) || (entity.getMatchAngleToVel()))){
posAngle = Utilities.angleOfPoint(posDiff);
entity.setAngle(posAngle);
} else {
entity.setAngle((entity.getAngle() + (entity.getAngularVel() * dt)));
};
entity.setPosComp(pos.x, pos.y);
entity.setUpdatePhysicsThisFrame(false);
entity.setCollisionPosReactionThisFrame(false);
super.doControl();
}
override public function getPriority():Number{
if (posOnPath < 1){
return (getEffectivePriority());
};
return (0);
}
public function getPath():Path{
return (path);
}
public function setInitPathPos(aPos:Number):void{
initPathPos = aPos;
posOnPath = initPathPos;
}
}
}//package
Section 154
//ControllerStationary (ControllerStationary)
package {
public class ControllerStationary extends EntityController {
public function ControllerStationary(aGameWindow:GameWindow, anEntityEngine:EntityEngine):void{
super(aGameWindow, anEntityEngine);
controllerType = ControllerTypes.STATIONARY;
priority = 0.5;
firstPriority = priority;
affectDist = 0;
firstAffectDist = affectDist;
first = false;
}
override public function doControl():void{
super.doControl();
}
override public function getPriority():Number{
return (getEffectivePriority());
}
}
}//package
Section 155
//ControllerStayInLevel (ControllerStayInLevel)
package {
import flash.geom.*;
public class ControllerStayInLevel extends EntityController {
public var accelDir:Point;
public var speed:Number;
public var tooCloseToBound:Boolean;
public function ControllerStayInLevel(aGameWindow:GameWindow, anEntityEngine:EntityEngine){
super(aGameWindow, anEntityEngine);
controllerType = ControllerTypes.STAY_IN_LEVEL;
tooCloseToBound = false;
speed = 0;
priority = 0.8;
firstPriority = priority;
affectDist = 100;
firstAffectDist = affectDist;
first = false;
}
override public function getPriority():Number{
if (tooCloseToBound){
return (getEffectivePriority());
};
return (0);
}
override public function doControl():void{
var desiredPos:Point;
if (tooCloseToBound){
desiredPos = accelDir;
desiredPos.normalize(1000);
desiredPos = desiredPos.add(entity.pos);
entity.goToPos(desiredPos, speed, accel);
};
super.doControl();
}
override public function updateSelf():void{
var levelLeft:Number = gameWindow.getLevelLeft();
var levelRight:Number = gameWindow.getLevelRight();
var levelTop:Number = gameWindow.getLevelTop();
var levelBottom:Number = gameWindow.getLevelBottom();
var entityLeft:Number = (entity.pos.x - entity.getRadius());
var entityRight:Number = (entity.pos.x + entity.getRadius());
var entityTop:Number = (entity.pos.y - entity.getRadius());
var entityBottom:Number = (entity.pos.y - entity.getRadius());
var distLeft:Number = (entityLeft - levelLeft);
var distRight:Number = (levelRight - entityRight);
var distTop:Number = (entityTop - levelTop);
var distBottom:Number = (levelBottom - entityBottom);
var effectDist:Number = getEffectiveAffectDistance();
accelDir = new Point(0, 0);
if (distLeft < effectDist){
accelDir.add(new Point(1, 0));
};
if (distRight < effectDist){
accelDir.add(new Point(-1, 0));
};
if (distTop < effectDist){
accelDir.add(new Point(0, 1));
};
if (distBottom < effectDist){
accelDir.add(new Point(0, -1));
};
if (accelDir.length > 0.1){
tooCloseToBound = true;
accelDir.normalize(accel);
} else {
tooCloseToBound = false;
};
}
public function setSpeed(aSpeed:Number):void{
speed = aSpeed;
}
}
}//package
Section 156
//ControllerStop (ControllerStop)
package {
public class ControllerStop extends EntityController {
public var maxSpeed:Number;// = 0
public function ControllerStop(aGameWindow:GameWindow, anEntityEngine:EntityEngine):void{
super(aGameWindow, anEntityEngine);
controllerType = ControllerTypes.STOP;
priority = 0.5;
firstPriority = priority;
affectDist = 0;
firstAffectDist = affectDist;
first = false;
accel = 50;
maxSpeed = 100;
}
override public function getPriority():Number{
return (getEffectivePriority());
}
override public function doControl():void{
entity.stopMovement(accel, maxSpeed);
super.doControl();
}
}
}//package
Section 157
//ControllerTypes (ControllerTypes)
package {
public class ControllerTypes {
public static var STOP:int = 9;
public static var GREY_GOO:int = 0;
public static var ATTACK:int = 3;
public static var PATH_FOLLOW:int = 2;
public static var MOVE_DIRECTION:int = 1;
public static var STATIONARY:int = 7;
public static var AVOID:int = 8;
public static var STAY_IN_LEVEL:int = 5;
public static var EVADE:int = 4;
public static var LEAVE_LEVEL:int = 6;
public function ControllerTypes(){
super();
}
public static function getNewController(controllerType:int, gameWindow:GameWindow):EntityController{
assert(false);
return (null);
}
public static function stringToIntController(controllerTypeS:String):int{
if (controllerTypeS == "greygoo"){
return (GREY_GOO);
};
if (controllerTypeS == "movedirection"){
return (MOVE_DIRECTION);
};
if (controllerTypeS == "pathfollow"){
return (PATH_FOLLOW);
};
if (controllerTypeS == "attack"){
return (ATTACK);
};
if (controllerTypeS == "evade"){
return (EVADE);
};
if (controllerTypeS == "stayinlevel"){
return (STAY_IN_LEVEL);
};
if (controllerTypeS == "leavelevel"){
return (LEAVE_LEVEL);
};
if (controllerTypeS == "stationary"){
return (STATIONARY);
};
if (controllerTypeS == "avoid"){
return (AVOID);
};
if (controllerTypeS == "stop"){
return (STOP);
};
assert(false);
return (-1);
}
}
}//package
Section 158
//ControllerVars (ControllerVars)
package {
public class ControllerVars {
public var directionVariance:Number;// = 0
public var directionVaryAccel:Number;// = 0
public var shotY:Number;// = 0
public var loop:Boolean;// = false
public var shotX:Number;// = 0
public var priority:Number;// = -1
public var path:Path;// = null
public var firstAffectDist:Number;// = -1
public var leaveTime:Number;// = 100000000
public var initPathPos:Number;// = 0
public var speed:Number;// = 0
public var first:Boolean;// = false
public var speedVaryAccel:Number;// = 0
public var leaveSize:Number;// = 100000000
public var affectDist:Number;// = -1
public var speedVariance:Number;// = 0
public var shotPeriod:Number;// = 0
public var dontAffectEntities:Array;
public var accel:Number;// = 0
public var updatePeriod:Number;// = 0.1
public var firstPriority:Number;// = -1
public var affectEntities:Array;
public var shot:int;// = -1
public var controllerType:int;// = -1
public var direction:Number;// = 0
public function ControllerVars():void{
affectEntities = new Array();
dontAffectEntities = new Array();
super();
}
}
}//package
Section 159
//DingoAARect (DingoAARect)
package {
import flash.geom.*;
public class DingoAARect extends DingoShape {
public var localX1:Number;
public var localX2:Number;
public var absX1:Number;
public var absX2:Number;
public var localY1:Number;
public var localY2:Number;
public var absY1:Number;
public var absY2:Number;
public function DingoAARect(aLocalPos:Point, aLocalX1:Number, aLocalY1:Number, aLocalX2:Number, aLocalY2:Number):void{
super(aLocalPos);
localX1 = aLocalX1;
localY1 = aLocalY1;
localX2 = aLocalX2;
localY2 = aLocalY2;
absX1 = localX1;
absY1 = localY1;
absX2 = localX2;
absY2 = localY2;
}
public function setLocalX1(aLocalX1:Number):void{
localX1 = aLocalX1;
}
public function setLocalX2(aLocalX2:Number):void{
localX2 = aLocalX2;
}
public function getLocalX1():Number{
return (localX1);
}
public function setLocalSize(aLocalX1:Number, aLocalY1:Number, aLocalX2:Number, aLocalY2:Number):void{
localX1 = aLocalX1;
localY1 = aLocalY1;
localX2 = aLocalX2;
localY2 = aLocalY2;
}
override public function intersectAARect(rect:DingoAARect):Boolean{
if (getAbsY2() < rect.getAbsY1()){
return (false);
};
if (rect.getAbsY2() < getAbsY1()){
return (false);
};
if (getAbsX2() < rect.getAbsX1()){
return (false);
};
if (rect.getAbsX2() < getAbsX1()){
return (false);
};
return (true);
}
override public function draw(gameWindow:GameWindow, fill:Boolean, color:Color):void{
var screenPosX1:int = Utilities.roundToInt(gameWindow.camera.spriteToScreenX(absX1));
var screenPosY1:int = Utilities.roundToInt(gameWindow.camera.spriteToScreenY(absY1));
var screenPosX2:int = Utilities.roundToInt(gameWindow.camera.spriteToScreenX(absX2));
var screenPosY2:int = Utilities.roundToInt(gameWindow.camera.spriteToScreenY(absY2));
if (fill){
ShapeDrawer.drawFillRect(screenPosX1, screenPosY1, screenPosX2, screenPosY2, color.getHex(), color.a);
} else {
ShapeDrawer.drawRectEdge(screenPosX1, screenPosY1, screenPosX2, screenPosY2, color.getHex(), color.a);
};
}
public function getAbsX1():Number{
return (absX1);
}
public function getLocalX2():Number{
return (localX2);
}
public function setLocalY1(aLocalY1:Number):void{
localY1 = aLocalY1;
}
public function setLocalY2(aLocalY2:Number):void{
localY2 = aLocalY2;
}
public function getAbsX2():Number{
return (absX2);
}
override public function intersectCircle(circle:DingoCircle):Boolean{
return (circle.intersect(this));
}
public function getLocalY1():Number{
return (localY1);
}
public function getLocalY2():Number{
return (localY2);
}
public function getAbsY1():Number{
return (absY1);
}
public function getAbsY2():Number{
return (absY2);
}
override public function computeAbs():void{
var temp:Number;
absX1 = localX1;
absY1 = localY1;
absX2 = localX2;
absY2 = localY2;
if (angle == 0){
} else {
if ((((angle > 45)) && ((angle <= 135)))){
temp = absX1;
absX1 = absY1;
absY1 = -(absX2);
absX2 = absY2;
absY2 = -(temp);
} else {
if ((((angle > 135)) && ((angle <= 225)))){
temp = absX1;
absX1 = absX2;
absX2 = temp;
temp = absY1;
absY1 = absY2;
absY2 = temp;
absX1 = -(absX1);
absY1 = -(absY1);
absX2 = -(absX2);
absY2 = -(absY2);
} else {
if ((((angle > 225)) && ((angle <= 315)))){
temp = absX1;
absX1 = -(absY2);
absY2 = absX2;
absX2 = -(absY1);
absY1 = temp;
};
};
};
};
if (flipX){
temp = absX1;
absX1 = absX2;
absX2 = temp;
};
if (flipY){
temp = absY1;
absY1 = absY2;
absY2 = temp;
};
absX1 = (absX1 * scale);
absY1 = (absY1 * scale);
absX2 = (absX2 * scale);
absY2 = (absY2 * scale);
super.computeAbs();
absX1 = (absX1 + absPos.x);
absY1 = (absY1 + absPos.y);
absX2 = (absX2 + absPos.x);
absY2 = (absY2 + absPos.y);
}
override public function intersectRotRect(rect:DingoRotRect):Boolean{
return (false);
}
}
}//package
Section 160
//DingoCircle (DingoCircle)
package {
import flash.geom.*;
public class DingoCircle extends DingoShape {
public var absRadius:Number;
public var localRadius:Number;
public function DingoCircle(aLocalPos:Point, aLocalRadius:Number):void{
super(aLocalPos);
type = CIRCLE;
localRadius = aLocalRadius;
absRadius = localRadius;
}
public function setLocalRadius(aLocalRadius:Number):void{
localRadius = aLocalRadius;
}
override public function intersectAARect(rect:DingoAARect):Boolean{
var distanceX:Number;
var distanceY:Number;
if ((((absPos.y < rect.getAbsY2())) && ((absPos.y > rect.getAbsY1())))){
if ((absPos.x + absRadius) < rect.getAbsX1()){
return (false);
};
if ((absPos.x - absRadius) > rect.getAbsX2()){
return (false);
};
return (true);
};
if ((((absPos.x < rect.getAbsX2())) && ((absPos.x > rect.getAbsX1())))){
if ((absPos.y + absRadius) < rect.getAbsY1()){
return (false);
};
if ((absPos.y - absRadius) > rect.getAbsY2()){
return (false);
};
return (true);
};
if (absPos.x > rect.getAbsX2()){
if (absPos.y < rect.getAbsY1()){
distanceX = (rect.getAbsX2() - absPos.x);
distanceY = (rect.getAbsY1() - absPos.y);
if (((distanceX * distanceX) + (distanceY * distanceY)) < (absRadius * absRadius)){
return (true);
};
} else {
distanceX = (rect.getAbsX2() - absPos.x);
distanceY = (rect.getAbsY2() - absPos.y);
if (((distanceX * distanceX) + (distanceY * distanceY)) < (absRadius * absRadius)){
return (true);
};
};
} else {
if (absPos.y < rect.getAbsY1()){
distanceX = (rect.getAbsX1() - absPos.x);
distanceY = (rect.getAbsY1() - absPos.y);
if (((distanceX * distanceX) + (distanceY * distanceY)) < (absRadius * absRadius)){
return (true);
};
} else {
distanceX = (rect.getAbsX1() - absPos.x);
distanceY = (rect.getAbsY2() - absPos.y);
if (((distanceX * distanceX) + (distanceY * distanceY)) < (absRadius * absRadius)){
return (true);
};
};
};
return (false);
}
public function getLocalRadius():Number{
return (localRadius);
}
override public function draw(gameWindow:GameWindow, fill:Boolean, color:Color):void{
var screenPosX:int = Utilities.roundToInt(gameWindow.camera.spriteToScreenX(absPos.x));
var screenPosY:int = Utilities.roundToInt(gameWindow.camera.spriteToScreenY(absPos.y));
var screenRadius:int = Utilities.roundToInt(gameWindow.camera.spriteToScreenWidth(absRadius));
if (fill){
ShapeDrawer.drawFillCircle(screenPosX, screenPosY, screenRadius, color.getHex(), color.a);
} else {
ShapeDrawer.drawCircleEdge(screenPosX, screenPosY, screenRadius, color.getHex(), color.a);
};
}
public function getAbsRadius():Number{
return (absRadius);
}
override public function intersectCircle(circle:DingoCircle):Boolean{
var dist:Number = absPos.subtract(circle.getAbsPos()).length;
var totalIntersectRadius:Number = (absRadius + circle.getAbsRadius());
if (dist < totalIntersectRadius){
return (true);
};
return (false);
}
override public function computeAbs():void{
absRadius = (localRadius * scale);
super.computeAbs();
}
override public function intersectRotRect(rect:DingoRotRect):Boolean{
var distanceX:Number;
var distanceY:Number;
var tempAbsPos:Point = absPos.clone();
rect.getAbsPos();
tempAbsPos.x = (tempAbsPos.x - rect.absPos.x);
tempAbsPos.y = (tempAbsPos.y - rect.absPos.y);
tempAbsPos = Point.polar(tempAbsPos.length, -(Utilities.degToRad((Utilities.angleOfPoint(tempAbsPos) - rect.getAbsAngle()))));
tempAbsPos.x = (tempAbsPos.x + rect.absPos.x);
tempAbsPos.y = (tempAbsPos.y + rect.absPos.y);
var rectLeft:Number = (-(rect.absS.x) + rect.absPos.x);
var rectRight:Number = (rect.absS.x + rect.absPos.x);
var rectTop:Number = (-(rect.absS.y) + rect.absPos.y);
var rectBottom:Number = (rect.absS.y + rect.absPos.y);
if ((((tempAbsPos.y < rectBottom)) && ((tempAbsPos.y > rectTop)))){
if ((tempAbsPos.x + absRadius) < rectLeft){
return (false);
};
if ((tempAbsPos.x - absRadius) > rectRight){
return (false);
};
return (true);
};
if ((((tempAbsPos.x < rectRight)) && ((tempAbsPos.x > rectLeft)))){
if ((tempAbsPos.y + absRadius) < rectTop){
return (false);
};
if ((tempAbsPos.y - absRadius) > rectBottom){
return (false);
};
return (true);
};
if (tempAbsPos.x > rectRight){
if (tempAbsPos.y < rectTop){
distanceX = (rectRight - tempAbsPos.x);
distanceY = (rectTop - tempAbsPos.y);
if (((distanceX * distanceX) + (distanceY * distanceY)) < (absRadius * absRadius)){
return (true);
};
} else {
distanceX = (rectRight - tempAbsPos.x);
distanceY = (rectBottom - tempAbsPos.y);
if (((distanceX * distanceX) + (distanceY * distanceY)) < (absRadius * absRadius)){
return (true);
};
};
} else {
if (tempAbsPos.y < rectTop){
distanceX = (rectLeft - tempAbsPos.x);
distanceY = (rectTop - tempAbsPos.y);
if (((distanceX * distanceX) + (distanceY * distanceY)) < (absRadius * absRadius)){
return (true);
};
} else {
distanceX = (rectLeft - tempAbsPos.x);
distanceY = (rectBottom - tempAbsPos.y);
if (((distanceX * distanceX) + (distanceY * distanceY)) < (absRadius * absRadius)){
return (true);
};
};
};
return (false);
}
}
}//package
Section 161
//DingoImage (DingoImage)
package {
import flash.display.*;
import flash.geom.*;
import org.flixel.*;
public class DingoImage {
public var copyPixels:Boolean;// = false
public var flxSprites:Array;
public var flxFlipShadowSprites:Array;
public var dingoImageProperties:Array;
public var flxFlipSprites:Array;
public var hasShadow:Boolean;// = false
public var colorCache:Boolean;// = false
public var sizeNotMip:Boolean;// = false
public var color:Color;
public var shadowOffsetX:int;// = 0
public var shadowOffsetY:int;// = 0
public var hasFlip:Boolean;// = false
public var rotations:int;// = 0
public var flxShadowSprites:Array;
public var flxColorSprites:Object;
public function DingoImage(){
color = new Color();
flxSprites = new Array();
flxShadowSprites = new Array();
flxFlipSprites = new Array();
flxFlipShadowSprites = new Array();
flxColorSprites = new Array();
dingoImageProperties = new Array();
super();
}
public function addImageName(name:String, dingoImageProperty:DingoImageProperty):void{
addImage(ResourceManager.getInstance().getImage(name), ResourceManager.getInstance().getImage((name + "mask")), dingoImageProperty);
}
public function getNewShadowSprite(graphic:Class, maskGraphic:Class, flipY:Boolean, dingoImageProperty:DingoImageProperty):FlxSprite2{
var maskBitmap:BitmapData;
var bitmap:BitmapData;
if (((!((graphic == null))) && ((maskGraphic == null)))){
bitmap = new (graphic).bitmapData;
} else {
maskBitmap = new (maskGraphic).bitmapData;
bitmap = new BitmapData(maskBitmap.width, maskBitmap.height, true, 0);
bitmap.copyChannel(maskBitmap, maskBitmap.rect, new Point(), BitmapDataChannel.RED, BitmapDataChannel.ALPHA);
};
var x:int;
var y:int;
var pixel:uint;
var newBitmap:BitmapData;
if (flipY){
newBitmap = new BitmapData(bitmap.width, bitmap.height);
x = 0;
while (x < bitmap.width) {
y = 0;
while (y < bitmap.height) {
pixel = bitmap.getPixel32(x, y);
pixel = (pixel >>> 26);
pixel = (pixel << 24);
newBitmap.setPixel32(x, ((bitmap.height - y) - 1), pixel);
y++;
};
x++;
};
bitmap = newBitmap;
} else {
x = 0;
while (x < bitmap.width) {
y = 0;
while (y < bitmap.height) {
pixel = bitmap.getPixel32(x, y);
pixel = (pixel >>> 26);
pixel = (pixel << 24);
bitmap.setPixel32(x, y, pixel);
y++;
};
x++;
};
};
var flxShadowSprite = new FlxSprite2();
if (dingoImageProperty.rotations > 1){
flxShadowSprite.loadRotatedGraphic(bitmap, dingoImageProperty.rotations, -1, true, true);
} else {
flxShadowSprite.loadGraphic(bitmap);
};
return (flxShadowSprite);
}
public function addImage(graphic:Class, maskGraphic:Class, dingoImageProperty:DingoImageProperty):void{
dingoImageProperties.splice(0, 0, dingoImageProperty);
flxSprites.splice(0, 0, getNewSprite(graphic, maskGraphic, false, dingoImageProperty));
if (dingoImageProperty.hasFlip){
flxFlipSprites.splice(0, 0, getNewSprite(graphic, maskGraphic, true, dingoImageProperty));
} else {
flxFlipSprites.splice(0, 0, null);
};
if (dingoImageProperty.hasShadow){
flxShadowSprites.splice(0, 0, getNewShadowSprite(graphic, maskGraphic, false, dingoImageProperty));
if (dingoImageProperty.hasFlip){
flxFlipShadowSprites.splice(0, 0, getNewShadowSprite(graphic, maskGraphic, true, dingoImageProperty));
} else {
flxFlipShadowSprites.splice(0, 0, null);
};
} else {
flxShadowSprites.splice(0, 0, null);
flxFlipShadowSprites.splice(0, 0, null);
};
}
public function getWidth():int{
return ((flxSprites[0].width - dingoImageProperties[0].shadowOffsetX));
}
public function setNormalBlending():void{
var i:int;
while (i < flxSprites.length) {
flxSprites[i].blend = null;
i++;
};
}
public function setCopyPixels(aCopyPixels:Boolean):void{
copyPixels = aCopyPixels;
}
public function setImagesSizeNotMip(aSizeNotMip:Boolean):void{
sizeNotMip = aSizeNotMip;
}
public function setHasShadow():void{
hasShadow = true;
}
public function getSizeIndex(width:Number):int{
var diff:int;
var closestIndex = -1;
var closestDiff = 1000000;
var rotWidth:Number = (width * Math.sqrt(2));
var i:int;
while (i < flxSprites.length) {
if (dingoImageProperties[i].rotations > 1){
diff = Math.abs((flxSprites[i].width - rotWidth));
} else {
diff = Math.abs((flxSprites[i].width - width));
};
if (diff < closestDiff){
closestIndex = i;
closestDiff = diff;
};
i++;
};
return (closestIndex);
}
public function getHeight():int{
return ((flxSprites[0].height - dingoImageProperties[0].shadowOffsetY));
}
public function setRotations(aRotations:int):void{
rotations = aRotations;
}
public function setColorCache(aColorCache:Boolean):void{
colorCache = aColorCache;
}
public function setHasFlip(aHasFlip:Boolean):void{
hasFlip = aHasFlip;
}
public function setAdditiveBlending():void{
var i:int;
while (i < flxSprites.length) {
flxSprites[i].blend = "add";
i++;
};
}
public function getNewSprite(graphic:Class, maskGraphic:Class, flipY:Boolean, dingoImageProperty:DingoImageProperty):FlxSprite2{
var sourceBitmap:BitmapData;
var maskBitmap:BitmapData;
var newBitmap:BitmapData;
var x:int;
var y:int;
var bitmap:BitmapData;
if (((!((graphic == null))) && (!((maskGraphic == null))))){
sourceBitmap = new (graphic).bitmapData;
maskBitmap = new (maskGraphic).bitmapData;
bitmap = new BitmapData(sourceBitmap.width, sourceBitmap.height);
bitmap.copyPixels(sourceBitmap, sourceBitmap.rect, new Point());
bitmap.copyChannel(maskBitmap, maskBitmap.rect, new Point(), BitmapDataChannel.RED, BitmapDataChannel.ALPHA);
} else {
bitmap = new (graphic).bitmapData;
};
if (flipY){
newBitmap = new BitmapData(bitmap.width, bitmap.height);
x = 0;
y = 0;
x = 0;
while (x < bitmap.width) {
y = 0;
while (y < bitmap.height) {
newBitmap.setPixel32(x, ((bitmap.height - y) - 1), bitmap.getPixel32(x, y));
y++;
};
x++;
};
bitmap = newBitmap;
};
var flxSprite:FlxSprite2 = new FlxSprite2();
if (dingoImageProperty.rotations > 1){
flxSprite.loadRotatedGraphic(bitmap, dingoImageProperty.rotations, -1, true, true);
} else {
flxSprite.loadGraphic(bitmap);
};
return (flxSprite);
}
public function setBlitColour(aColor:Color):void{
color = aColor;
}
public function blitAlphaRectFxCenter(sourceZoom:Number, centerX:Number, centerY:Number, angle:Number, zoom:Number, opacity:Number, flipx:Boolean=false, flipy:Boolean=false, isShadow:Boolean=false, nonCopyDraw:Boolean=false):void{
var destX:int;
var destY:int;
var baseWidth:Number;
var ourWidth:Number;
var sizeIndex:int;
var sizeDivisor = 1;
var useShadowOffsetX:int;
var useShadowOffsetY:int;
if (sizeNotMip){
sizeIndex = getSizeIndex((sourceZoom * getWidth()));
} else {
while ((((sourceZoom < (0.5 / sizeDivisor))) && ((sizeIndex < (flxSprites.length - 1))))) {
sizeDivisor = (sizeDivisor * 2);
sizeIndex++;
};
};
var imageProperty:DingoImageProperty = dingoImageProperties[sizeIndex];
if (((imageProperty.copyPixels) && (nonCopyDraw))){
if (flxSprites.length == 1){
if (dingoImageProperties[0].rotations > 1){
zoom = (zoom * Math.sqrt(2));
};
} else {
baseWidth = flxSprites[0].width;
ourWidth = flxSprites[sizeIndex].width;
zoom = (zoom * (baseWidth / ourWidth));
if (dingoImageProperties[sizeIndex].rotations > 1){
zoom = (zoom * Math.sqrt(2));
};
};
};
if (sizeNotMip){
if (!imageProperty.copyPixels){
if (sizeIndex > 0){
baseWidth = flxSprites[0].width;
ourWidth = flxSprites[sizeIndex].width;
zoom = (zoom * (baseWidth / ourWidth));
};
};
};
if (sizeNotMip){
useShadowOffsetX = imageProperty.shadowOffsetX;
useShadowOffsetY = imageProperty.shadowOffsetY;
} else {
useShadowOffsetX = (dingoImageProperties[0].shadowOffsetX / sizeDivisor);
useShadowOffsetY = (dingoImageProperties[0].shadowOffsetY / sizeDivisor);
};
var flxSprite:FlxSprite2;
if (((flipx) || (flipy))){
flxSprite = flxFlipSprites[sizeIndex];
if (((imageProperty.hasShadow) && (isShadow))){
flxSprite = flxFlipShadowSprites[sizeIndex];
};
} else {
flxSprite = flxSprites[sizeIndex];
if (((imageProperty.hasShadow) && (isShadow))){
flxSprite = flxShadowSprites[sizeIndex];
};
};
zoom = (zoom * sizeDivisor);
flxSprite.origin.x = ((flxSprite.width - useShadowOffsetX) / 2);
flxSprite.origin.y = ((flxSprite.height - useShadowOffsetY) / 2);
flxSprite.origin.x = int(flxSprite.origin.x);
flxSprite.origin.y = int(flxSprite.origin.y);
centerX = (centerX - ((flxSprite.width - useShadowOffsetX) / 2));
centerY = (centerY - ((flxSprite.height - useShadowOffsetY) / 2));
if ((flxSprite.width % 2) == 0){
destX = Utilities.roundToInt(centerX);
destY = Utilities.roundToInt(centerY);
} else {
destX = centerX;
destY = centerY;
};
if (((imageProperty.copyPixels) && (!(nonCopyDraw)))){
flxSprite.x = destX;
flxSprite.y = destY;
flxSprite.angle = Utilities.roundToInt(-(angle));
flxSprite.scale.x = 1;
flxSprite.scale.y = 1;
if (!hasShadow){
flxSprite.color = color.getHex();
flxSprite.alpha = (color.a * opacity);
};
flxSprite.update();
flxSprite.render();
} else {
flxSprite.angle = 0;
flxSprite.update();
flxSprite.antialiasing = false;
flxSprite.x = destX;
flxSprite.y = destY;
flxSprite.angle = -(angle);
flxSprite.scale.x = zoom;
flxSprite.scale.y = zoom;
flxSprite.color = color.getHex();
flxSprite.alpha = (color.a * opacity);
flxSprite.render();
};
}
public function blitAlphaRectFx(destX:int, destY:int, angle:Number, zoom:Number, opacity:Number, flipx:Boolean=false, flipy:Boolean=false):void{
var flxSprite:FlxSprite2;
var usingMipLevel:int;
var sizeDivisor = 1;
while ((((zoom < (0.5 / sizeDivisor))) && ((usingMipLevel < (flxSprites.length - 1))))) {
sizeDivisor = (sizeDivisor * 2);
usingMipLevel++;
};
var imageProperty:DingoImageProperty = dingoImageProperties[usingMipLevel];
flxSprite = flxSprites[usingMipLevel];
if (((imageProperty.hasShadow) && ((opacity < 0.5)))){
flxSprite = flxShadowSprites[usingMipLevel];
};
zoom = (zoom * sizeDivisor);
var centerX:Number = (destX + (getWidth() / 2));
var centerY:Number = (destY + (getHeight() / 2));
destX = (centerX - (flxSprite.width / 2));
destY = (centerY - (flxSprite.height / 2));
if (imageProperty.copyPixels){
flxSprite.x = destX;
flxSprite.y = destY;
flxSprite.angle = -(angle);
if (!imageProperty.hasShadow){
flxSprite.color = color.getHex();
flxSprite.alpha = (color.a * opacity);
};
flxSprite.update();
flxSprite.render();
} else {
flxSprite.antialiasing = false;
flxSprite.x = destX;
flxSprite.y = destY;
flxSprite.angle = -(angle);
flxSprite.scale.x = zoom;
flxSprite.scale.y = zoom;
flxSprite.color = color.getHex();
flxSprite.alpha = (color.a * opacity);
flxSprite.render();
};
}
}
}//package
Section 162
//DingoImageProperty (DingoImageProperty)
package {
public class DingoImageProperty {
public var copyPixels:Boolean;// = false
public var shadowOffsetX:int;// = 0
public var shadowOffsetY:int;// = 0
public var hasFlip:Boolean;// = false
public var rotations:int;// = 0
public var hasShadow:Boolean;// = false
public var colorCache:Boolean;// = false
public function DingoImageProperty(){
super();
}
}
}//package
Section 163
//DingoInput (DingoInput)
package {
import org.flixel.*;
public class DingoInput {
private static var instance:DingoInput;
public function DingoInput():void{
super();
}
public function isDownRight():Boolean{
return (FlxG.keys.RIGHT);
}
public function isDownLeft():Boolean{
return (FlxG.keys.LEFT);
}
public function isDownA():Boolean{
return (FlxG.keys.A);
}
public function isDownS():Boolean{
return (FlxG.keys.S);
}
public function isDownUp():Boolean{
return (FlxG.keys.UP);
}
public function isDownD():Boolean{
return (FlxG.keys.D);
}
public function isDownW():Boolean{
return (FlxG.keys.W);
}
public function isDownDown():Boolean{
return (FlxG.keys.DOWN);
}
public static function getInstance():DingoInput{
if (instance == null){
instance = new (DingoInput);
};
return (instance);
}
}
}//package
Section 164
//DingoRotRect (DingoRotRect)
package {
import flash.geom.*;
public class DingoRotRect extends DingoShape {
public var absS:Point;
public var localS:Point;
public var localAngle:Number;// = 0
public var absAngle:Number;// = 0
public function DingoRotRect(aLocalPos:Point, width:Number, height:Number, aLocalAngle:Number):void{
localS = new Point();
absS = new Point();
super(aLocalPos);
type = ROT_RECT;
setSize(width, height);
localAngle = aLocalAngle;
absAngle = 0;
}
public function setSize(width:Number, height:Number):void{
localS.x = (width * 0.5);
localS.y = (height * 0.5);
}
public function getAbsHalfWidth():Number{
return (absS.x);
}
override public function intersectAARect(rect:DingoAARect):Boolean{
return (false);
}
public function getAbsAngle():Number{
return (absAngle);
}
override public function intersectCircle(circle:DingoCircle):Boolean{
return (circle.intersect(this));
}
public function setLocalAngle(anAngle:Number):void{
localAngle = anAngle;
}
override public function draw(gameWindow:GameWindow, fill:Boolean, color:Color):void{
var topLeft:Point = new Point(-(absS.x), -(absS.y));
var topRight:Point = new Point(absS.x, -(absS.y));
var bottomRight:Point = new Point(absS.x, absS.y);
var bottomLeft:Point = new Point(-(absS.x), absS.y);
topLeft = Point.polar(topLeft.length, -(Utilities.degToRad((Utilities.angleOfPoint(topLeft) + absAngle))));
topRight = Point.polar(topRight.length, -(Utilities.degToRad((Utilities.angleOfPoint(topRight) + absAngle))));
bottomRight = Point.polar(bottomRight.length, -(Utilities.degToRad((Utilities.angleOfPoint(bottomRight) + absAngle))));
bottomLeft = Point.polar(bottomLeft.length, -(Utilities.degToRad((Utilities.angleOfPoint(bottomLeft) + absAngle))));
topLeft.x = (topLeft.x + absPos.x);
topLeft.y = (topLeft.y + absPos.y);
topRight.x = (topRight.x + absPos.x);
topRight.y = (topRight.y + absPos.y);
bottomRight.x = (bottomRight.x + absPos.x);
bottomRight.y = (bottomRight.y + absPos.y);
bottomLeft.x = (bottomLeft.x + absPos.x);
bottomLeft.y = (bottomLeft.y + absPos.y);
var x1:int = Utilities.roundToInt(gameWindow.camera.spriteToScreenX(topLeft.x));
var y1:int = Utilities.roundToInt(gameWindow.camera.spriteToScreenY(topLeft.y));
var x2:int = Utilities.roundToInt(gameWindow.camera.spriteToScreenX(topRight.x));
var y2:int = Utilities.roundToInt(gameWindow.camera.spriteToScreenY(topRight.y));
var x3:int = Utilities.roundToInt(gameWindow.camera.spriteToScreenX(bottomRight.x));
var y3:int = Utilities.roundToInt(gameWindow.camera.spriteToScreenY(bottomRight.y));
var x4:int = Utilities.roundToInt(gameWindow.camera.spriteToScreenX(bottomLeft.x));
var y4:int = Utilities.roundToInt(gameWindow.camera.spriteToScreenY(bottomLeft.y));
ShapeDrawer.drawLine(x1, y1, x2, y2, color.getHex(), color.a);
ShapeDrawer.drawLine(x2, y2, x3, y3, color.getHex(), color.a);
ShapeDrawer.drawLine(x3, y3, x4, y4, color.getHex(), color.a);
ShapeDrawer.drawLine(x4, y4, x1, y1, color.getHex(), color.a);
}
public function getAbsWidth():Number{
return ((absS.x * 2));
}
public function getAbsHeight():Number{
return ((absS.y * 2));
}
public function getAbsHalfHeight():Number{
return (absS.y);
}
override public function computeAbs():void{
absS.x = (localS.x * scale);
absS.y = (localS.y * scale);
super.computeAbs();
absAngle = (localAngle + angle);
}
override public function intersectRotRect(rect:DingoRotRect):Boolean{
var t:Number;
var x:Number;
var a:Number;
var dx:Number;
var ext1:Number;
var ext2:Number;
var A:Point = new Point();
var B:Point = new Point();
var C:Point = new Point();
var BL:Point = new Point();
var TR:Point = new Point();
var ang:Number = (absAngle - rect.absAngle);
var cosa:Number = Utilities.cosDeg(ang);
var sina:Number = Utilities.sinDeg(ang);
C = rect.absPos.clone();
C.x = (C.x - absPos.x);
C.y = (C.y - absPos.y);
C = Point.polar(C.length, -(Utilities.degToRad((rect.absAngle - Utilities.angleOfPoint(C)))));
BL.x = (C.x - rect.absS.x);
BL.y = (C.y - rect.absS.y);
TR.x = (C.x + rect.absS.x);
TR.y = (C.y + rect.absS.y);
A.x = (-(absS.y) * sina);
B.x = A.x;
t = (absS.x * cosa);
A.x = (A.x + t);
B.x = (B.x - t);
A.y = (absS.y * cosa);
B.y = A.y;
t = (absS.x * sina);
A.y = (A.y + t);
B.y = (B.y - t);
t = (sina * cosa);
if (t < 0){
t = A.x;
A.x = B.x;
B.x = t;
t = A.y;
A.y = B.y;
B.y = t;
};
if (sina < 0){
B.x = -(B.x);
B.y = -(B.y);
};
if ((((B.x > TR.x)) || ((B.x > -(BL.x))))){
return (false);
};
if (t == 0){
ext1 = A.y;
ext2 = -(ext1);
} else {
x = (BL.x - A.x);
a = (TR.x - A.x);
ext1 = A.y;
if ((a * x) > 0){
dx = A.x;
if (x < 0){
dx = (dx - B.x);
ext1 = (ext1 - B.y);
x = a;
} else {
dx = (dx + B.x);
ext1 = (ext1 + B.y);
};
ext1 = (ext1 * x);
ext1 = (ext1 / dx);
ext1 = (ext1 + A.y);
};
x = (BL.x + A.x);
a = (TR.x + A.x);
ext2 = -(A.y);
if ((a * x) > 0){
dx = -(A.x);
if (x < 0){
dx = (dx - B.x);
ext2 = (ext2 - B.y);
x = a;
} else {
dx = (dx + B.x);
ext2 = (ext2 + B.y);
};
ext2 = (ext2 * x);
ext2 = (ext2 / dx);
ext2 = (ext2 - A.y);
};
};
return (!((((((ext1 < BL.y)) && ((ext2 < BL.y)))) || ((((ext1 > TR.y)) && ((ext2 > TR.y)))))));
}
public function getHeight():Number{
return ((localS.y * 2));
}
public function getLocalAngle():Number{
return (localAngle);
}
public function getWidth():Number{
return ((localS.x * 2));
}
}
}//package
Section 165
//DingoShape (DingoShape)
package {
import flash.geom.*;
public class DingoShape {
public var absPos:Point;
public var scale:Number;
public var flipX:Boolean;
public var flipY:Boolean;
public var angle:Number;
public var worldPos:Point;
public var localPos:Point;
public var type:int;
public static var AARECT:int = 2;
public static var CIRCLE:int = 1;
public static var NONE:int = 0;
public static var ROT_RECT:int = 3;
public function DingoShape(aLocalPos:Point):void{
localPos = new Point();
worldPos = new Point();
absPos = new Point();
type = NONE;
super();
type = NONE;
localPos.x = aLocalPos.x;
localPos.y = aLocalPos.y;
worldPos.x = 0;
worldPos.y = 0;
angle = 0;
scale = 1;
flipX = false;
flipY = false;
absPos.x = localPos.x;
absPos.y = localPos.y;
}
public function intersectAARect(rect:DingoAARect):Boolean{
return (false);
}
public function setScale(aScale:Number):void{
scale = aScale;
}
public function intersectCircle(circle:DingoCircle):Boolean{
return (false);
}
public function setAngle(anAngle:Number):void{
angle = anAngle;
angle = Utilities.set0To360(angle);
}
public function intersect(shape:DingoShape):Boolean{
if (shape.type == CIRCLE){
return (intersectCircle(DingoCircle(shape)));
};
if (shape.type == AARECT){
return (intersectAARect(DingoAARect(shape)));
};
if (shape.type == ROT_RECT){
return (intersectRotRect(DingoRotRect(shape)));
};
assert(false);
return (false);
}
public function setWorldPos(aWorldPos:Point):void{
worldPos.x = aWorldPos.x;
worldPos.y = aWorldPos.y;
}
public function setLocalPos(aLocalPos:Point):void{
localPos.x = aLocalPos.x;
localPos.y = aLocalPos.y;
}
public function getLocalPos():Point{
return (localPos);
}
public function setFlip(aFlipX:Boolean, aFlipY:Boolean):void{
flipX = aFlipX;
flipY = aFlipY;
}
public function draw(gameWindow:GameWindow, fill:Boolean, color:Color):void{
}
public function getAbsPos():Point{
return (absPos);
}
public function computeAbs():void{
absPos.x = localPos.x;
absPos.y = localPos.y;
if (flipX){
absPos.x = -(absPos.x);
};
if (flipY){
absPos.y = -(absPos.y);
};
absPos.x = (absPos.x * scale);
absPos.y = (absPos.y * scale);
absPos = Point.polar(absPos.length, -(Utilities.degToRad((Utilities.angleOfPoint(absPos) + angle))));
absPos.x = (absPos.x + worldPos.x);
absPos.y = (absPos.y + worldPos.y);
}
public function intersectRotRect(rect:DingoRotRect):Boolean{
return (false);
}
}
}//package
Section 166
//DingoSoundEffect (DingoSoundEffect)
package {
public class DingoSoundEffect {
public var lastPlayedTime:Number;// = 0
public var samples:Array;
public function DingoSoundEffect():void{
samples = new Array();
super();
}
public function readXML(soundXML:XML):void{
var sampleXML:XML;
var sample:DingoSoundSample;
var filename:String;
var constantVolume:Number;
for each (sampleXML in soundXML.children()) {
sample = new DingoSoundSample();
filename = sampleXML.attribute("filename");
if (filename != ""){
constantVolume = sampleXML.attribute("volume");
addSample(filename, constantVolume);
};
};
}
public function play(volume:Number, pan:Number):void{
var sample:DingoSoundSample;
var elapsedTime:Number = (SoundEffectSystem.getInstance().totalTime - lastPlayedTime);
var minGapBetweenPlays:Number = 0.08;
if (elapsedTime > minGapBetweenPlays){
sample = samples[Utilities.randomInt(0, samples.length)];
sample.playSound(volume, pan);
lastPlayedTime = SoundEffectSystem.getInstance().totalTime;
};
}
public function addSample(filename:String, aVolume:Number):void{
var sample:DingoSoundSample;
var embeddedSound:Class = ResourceManager.getInstance().getSound(filename);
if (embeddedSound){
sample = new DingoSoundSample();
sample.setEmbedSound(embeddedSound);
sample.setConstantVolume(aVolume);
samples.push(sample);
};
}
}
}//package
Section 167
//DingoSoundEffectLoop (DingoSoundEffectLoop)
package {
import flash.media.*;
public class DingoSoundEffectLoop {
public var soundSamples:Array;
public var constantVolume:Number;// = 1
public var sound:Sound;// = null
public function DingoSoundEffectLoop():void{
soundSamples = new Array();
super();
}
public function readXML(soundXML:XML):void{
var num:int;
var i:int;
var embeddedSound:Class;
var sample:DingoSoundSample = new DingoSoundSample();
var filename:String = soundXML.attribute("filename");
if (filename != ""){
num = int(soundXML.attribute("num"));
i = 0;
while (i < num) {
soundSamples.push(new DingoSoundSampleLoop(this));
i++;
};
constantVolume = soundXML.attribute("volume");
embeddedSound = ResourceManager.getInstance().getSound(filename);
if (embeddedSound){
sound = new (embeddedSound);
};
};
}
public function stop(sampleID:int):void{
soundSamples[sampleID].stop();
}
public function stopAllSamples():void{
var i:int;
while (i < soundSamples.length) {
soundSamples[i].stop();
i++;
};
}
public function stopEnt(sampleID:int, entity:Entity):void{
if (soundSamples[sampleID].getEntity() == entity){
soundSamples[sampleID].stop();
};
}
public function play(volume:Number, pan:Number, sampleID:int, entity:Entity):int{
var soundSample:DingoSoundSampleLoop;
var otherEffectiveVolume:Number;
var i:int;
var ssl:DingoSoundSampleLoop;
var effectiveVolume:Number = DingoSoundSampleLoop.getEffectiveVolume(volume, pan);
var unhearableVolume:Number = 0.1;
if (effectiveVolume < unhearableVolume){
if (sampleID == -1){
return (-1);
};
if (sampleID >= 0){
soundSample = soundSamples[sampleID];
soundSample.stop();
return (-1);
};
};
if (sampleID >= 0){
ssl = soundSamples[sampleID];
if (ssl.getEntity() == entity){
ssl.setVolume(volume);
ssl.setPan(pan);
return (sampleID);
};
};
i = 0;
while (i < soundSamples.length) {
ssl = soundSamples[i];
if (!ssl.isPlaying()){
ssl.play(volume, pan, entity);
return (i);
};
i++;
};
var quietestSample:DingoSoundSampleLoop = soundSamples[0];
var quietestIndex:int;
var quietestVolume:Number = quietestSample.getThisEffectiveVolume();
i = 1;
while (i < soundSamples.length) {
ssl = soundSamples[i];
otherEffectiveVolume = ssl.getThisEffectiveVolume();
if (otherEffectiveVolume < quietestVolume){
quietestVolume = otherEffectiveVolume;
quietestSample = ssl;
quietestIndex = i;
};
i++;
};
if (effectiveVolume > quietestVolume){
quietestSample.play(volume, pan, entity);
return (quietestIndex);
};
return (-1);
}
}
}//package
Section 168
//DingoSoundSample (DingoSoundSample)
package {
import flash.media.*;
public class DingoSoundSample {
public var constantVolume:Number;// = 1
public var sound:Sound;// = null
public function DingoSoundSample(){
super();
}
public function setConstantVolume(aConstantVolume:Number):void{
constantVolume = aConstantVolume;
}
public function setEmbedSound(embeddedSound:Class):void{
sound = new (embeddedSound);
}
public function playSound(volume:Number, pan:Number):void{
var finalVolume:Number = ((volume * constantVolume) * SoundEffectSystem.getInstance().getGlobalEffectVolume());
sound.play(0, 0, new SoundTransform(finalVolume, pan));
}
}
}//package
Section 169
//DingoSoundSampleLoop (DingoSoundSampleLoop)
package {
import flash.media.*;
public class DingoSoundSampleLoop {
public var volume:Number;
public var entity:Entity;
public var channel:SoundChannel;// = null
public var playing:Boolean;
public var soundEffectOwner:DingoSoundEffectLoop;
public var pan:Number;
public function DingoSoundSampleLoop(aSoundEffectOwner:DingoSoundEffectLoop):void{
super();
soundEffectOwner = aSoundEffectOwner;
playing = false;
volume = 1;
pan = 0;
entity = null;
}
public function isPlaying():Boolean{
return (playing);
}
public function getThisEffectiveVolume():Number{
return (getEffectiveVolume(volume, pan));
}
public function setPan(aPan:Number):void{
if (pan != aPan){
pan = aPan;
if (channel){
channel.soundTransform = new SoundTransform(volume, pan);
};
};
}
public function stop():void{
if (entity){
entity.loopSoundStopped(soundEffectOwner);
entity = null;
};
if (channel != null){
channel.stop();
channel = null;
};
playing = false;
channel = null;
}
public function setVolume(aVolume:Number):void{
aVolume = Utilities.getClampDouble(aVolume, 0, 1);
var globalSoundEffectVolume:Number = SoundEffectSystem.getInstance().getGlobalEffectVolume();
aVolume = ((aVolume * soundEffectOwner.constantVolume) * globalSoundEffectVolume);
aVolume = Utilities.getClampDouble(aVolume, 0, 1);
aVolume = Utilities.normalizeVolume(aVolume);
if (volume != aVolume){
volume = aVolume;
if (channel){
channel.soundTransform = new SoundTransform(volume, pan);
};
};
}
public function getEntity():Entity{
return (entity);
}
public function play(aVolume:Number, aPan:Number, anEntity:Entity):void{
entity = anEntity;
setVolume(aVolume);
setPan(aPan);
if (channel == null){
channel = soundEffectOwner.sound.play(0, int.MAX_VALUE, new SoundTransform(volume, pan));
playing = true;
};
}
public static function getEffectiveVolume(aVolume:Number, aPan:Number):Number{
return ((aVolume * ((2 - Math.abs(aPan)) * 0.5)));
}
}
}//package
Section 170
//DingoSprite (DingoSprite)
package {
import flash.geom.*;
public class DingoSprite {
public var gameWindow:GameWindow;// = null
public var animation:Animation;// = null
public var drawUsingFloat:Boolean;// = true
public var dingoImage:DingoImage;// = null
public var additiveColour:Boolean;// = false
public var shadowY:int;// = 0
public var cellNum:int;// = 0
public var width:Number;// = 10
public var shadowX:int;// = 0
public var angle:Number;// = 0
public var pos:Point;
public var nonCopyDraw:Boolean;// = false
public var hasShadow:Boolean;// = false
public var usingDingoImage:DingoImage;// = null
public var color:Color;
public var useSourceWidth:Boolean;// = false
public var usingFlipX:Boolean;// = false
public var usingFlipY:Boolean;// = false
public var sourceWidth:Number;// = 10
public function DingoSprite(aGameWindow:GameWindow){
pos = new Point();
color = new Color(1, 1, 1, 1);
super();
gameWindow = aGameWindow;
}
public function getWidth():Number{
return (width);
}
public function setAngle(anAngle:Number):void{
angle = anAngle;
}
public function setPos(aPos:Point):void{
pos = aPos.clone();
}
public function setOverrideNonCopyDraw(aNonCopyDraw:Boolean):void{
nonCopyDraw = aNonCopyDraw;
}
public function getPos():Point{
return (pos.clone());
}
public function setShadow(aHasShadow:Boolean, aShadowX:int, aShadowY:int):void{
hasShadow = aHasShadow;
shadowX = aShadowX;
shadowY = aShadowY;
}
public function setBlitColour(aColor:Color):void{
color = aColor.clone();
}
public function setDrawUsingFloat(aDrawUsingFloat:Boolean):void{
drawUsingFloat = aDrawUsingFloat;
}
public function setSourceWidth(aWidth:Number):void{
sourceWidth = aWidth;
useSourceWidth = true;
}
public function setDingoImage(aDingoImage:DingoImage):void{
dingoImage = aDingoImage;
}
public function removeCurrentAnimation():void{
animation = null;
}
public function playAnimation(animationDef:AnimationDef, listener:Listener=null):void{
animation = null;
animation = new Animation(listener, animationDef);
}
public function setWidth(aWidth:Number):void{
width = aWidth;
if (!useSourceWidth){
sourceWidth = width;
};
}
public function setAdditiveColour(anAdditiveColour:Boolean):void{
additiveColour = anAdditiveColour;
}
public function update():void{
if (animation){
animation.update();
};
}
public function draw():void{
var screenCenterX:Number;
var screenCenterY:Number;
var screenWidth:Number;
var sourceScreenWidth:Number;
var pixWidth:int;
var pixHeight:int;
var zoom:Number;
var sourceZoom:Number;
var usingDingoImage:DingoImage = dingoImage;
var usingFlipX:Boolean;
var usingFlipY:Boolean;
if (animation){
usingDingoImage = animation.getDingoImage();
usingFlipX = animation.getFlipX();
usingFlipY = animation.getFlipY();
};
if (usingDingoImage){
screenCenterX = gameWindow.camera.spriteToScreenX(pos.x);
screenCenterY = gameWindow.camera.spriteToScreenY(pos.y);
screenWidth = gameWindow.camera.spriteToScreenWidth(width);
sourceScreenWidth = gameWindow.camera.spriteToScreenWidth(sourceWidth);
pixWidth = usingDingoImage.getWidth();
pixHeight = usingDingoImage.getHeight();
zoom = (Number(screenWidth) / pixWidth);
sourceZoom = (Number(sourceScreenWidth) / pixWidth);
if (additiveColour){
usingDingoImage.setAdditiveBlending();
} else {
usingDingoImage.setNormalBlending();
};
if (hasShadow){
usingDingoImage.blitAlphaRectFxCenter(sourceZoom, (screenCenterX + shadowX), (screenCenterY + shadowY), angle, zoom, 1, usingFlipX, usingFlipY, true, nonCopyDraw);
};
usingDingoImage.setBlitColour(color);
usingDingoImage.blitAlphaRectFxCenter(sourceZoom, screenCenterX, screenCenterY, angle, zoom, 1, usingFlipX, usingFlipY, false, nonCopyDraw);
};
}
public function getAnimation():Animation{
return (animation);
}
public function setDingoImageName(dingoImageName:String):void{
dingoImage = ResourceManager.getInstance().getDingoImage(dingoImageName);
}
public function getImageMapAndCell():void{
usingDingoImage = dingoImage;
usingFlipX = false;
usingFlipY = false;
if (animation){
usingDingoImage = animation.getDingoImage();
if (animation.getFlipX()){
usingFlipX = !(usingFlipX);
};
if (animation.getFlipY()){
usingFlipY = !(usingFlipY);
};
};
}
public function setPosSep(aPosX:Number, aPosY:Number):void{
pos.x = aPosX;
pos.y = aPosY;
}
public function setCell(aCellNum:int):void{
cellNum = aCellNum;
}
}
}//package
Section 171
//EatenColor (EatenColor)
package {
public class EatenColor {
public var b:Number;
public var g:Number;
public var r:Number;
public var sizeRatio:Number;
public var time:Number;
public function EatenColor(){
super();
}
}
}//package
Section 172
//EatenDisplay (EatenDisplay)
package {
import flash.display.*;
import flash.text.*;
import flash.geom.*;
import org.flixel.*;
public class EatenDisplay {
public var textBitmap:BitmapData;// = null
public var STATE_SLIDING_IN:int;// = 0
public var time:Number;// = 0
public var eatenBitmap:BitmapData;// = null
public var state:int;
public var image:DingoImage;// = null
public var timeSinceLastEaten:Number;// = 10000
public var eatenEntityDef:EntityDef;// = null
public var slidePos:Number;// = 0
public var STATE_OFF_SCREEN:int;// = 3
public var STATE_SLIDING_OUT:int;// = 1
public var label:TextField;
public var textOffsetY:int;// = 0
public var STATE_ON_SCREEN:int;// = 2
public function EatenDisplay(aGameWindow:GameWindow):void{
state = STATE_OFF_SCREEN;
super();
var format:TextFormat = new TextFormat();
format.font = "myarial";
format.color = 0;
format.size = 12;
format.align = TextFormatAlign.CENTER;
label = new TextField();
label.embedFonts = true;
label.width = 97;
label.height = 32;
label.autoSize = TextFieldAutoSize.CENTER;
label.wordWrap = true;
label.multiline = true;
label.antiAliasType = AntiAliasType.ADVANCED;
label.defaultTextFormat = format;
label.text = "";
image = ResourceManager.getInstance().getDingoImage("eatendisplay");
textBitmap = new BitmapData(102, 32, true, 0);
}
public function setEatenEntity(anEatenEntityDef:EntityDef):void{
eatenEntityDef = anEatenEntityDef;
timeSinceLastEaten = 0;
label.text = eatenEntityDef.displayName;
textOffsetY = ((32 - label.textHeight) / 2);
var matrix:Matrix = new Matrix();
matrix.tx = 0;
matrix.ty = (textOffsetY - 1);
FlxG.buffer.draw(label, matrix, null);
textBitmap.fillRect(new Rectangle(0, 0, 102, 32), 0);
textBitmap.draw(label, matrix);
state = STATE_SLIDING_IN;
eatenBitmap = eatenEntityDef.displayImage;
var h:Number = 0;
var s:Number = 0;
var v:Number = 0;
var backR:Number = eatenEntityDef.effectColor.r;
var backG:Number = eatenEntityDef.effectColor.g;
var backB:Number = eatenEntityDef.effectColor.b;
Utilities.RGBToHSV(backR, backG, backB);
h = Utilities.tempH;
s = Utilities.tempS;
v = Utilities.tempV;
var MIN_SATURATION:Number = 0;
var MAX_SATURATION:Number = 0.3;
s = Utilities.getClampDouble(s, MIN_SATURATION, MAX_SATURATION);
var MIN_VALUE:Number = 0.7;
var MAX_VALUE:Number = 1;
v = Utilities.getClampDouble(v, MIN_VALUE, MAX_VALUE);
Utilities.HSVToRGB(h, s, v);
backR = Utilities.tempR;
backG = Utilities.tempG;
backB = Utilities.tempB;
image.color = new Color(backR, backG, backB);
}
public function draw():void{
var padX:int;
var left:int;
var top:int;
var x:int;
var y:int;
var sourceRect:Rectangle;
var destPoint:Point;
var centerX:int;
var centerY:int;
if (state != STATE_OFF_SCREEN){
padX = 5;
left = padX;
top = (480 - slidePos);
x = (left + (image.getWidth() / 2));
y = Utilities.roundToInt((top + (image.getHeight() / 2)));
image.blitAlphaRectFxCenter(1, x, y, 0, 1, 1);
if (textBitmap){
sourceRect = new Rectangle(0, 0, textBitmap.width, textBitmap.height);
destPoint = new Point((left + 38), (top + 3));
FlxG.buffer.copyPixels(textBitmap, sourceRect, destPoint, null, null, true);
};
if (eatenBitmap){
centerX = (left + 20);
centerY = (top + 20);
FlxG.buffer.copyPixels(eatenBitmap, new Rectangle(0, 0, eatenBitmap.width, eatenBitmap.height), new Point((centerX - (eatenBitmap.width / 2)), (centerY - (eatenBitmap.height / 2))), null, null, true);
};
};
}
public function update():void{
var slideSpeed:Number = 200;
timeSinceLastEaten = (timeSinceLastEaten + FlxG.elapsed);
var FULL_IN_POS:Number = 45;
var VISIBLE_TIME:Number = 4;
if (state == STATE_OFF_SCREEN){
slidePos = 0;
} else {
if (state == STATE_ON_SCREEN){
slidePos = FULL_IN_POS;
time = (time + FlxG.elapsed);
if (time > VISIBLE_TIME){
state = STATE_SLIDING_OUT;
};
} else {
if (state == STATE_SLIDING_IN){
slidePos = (slidePos + (FlxG.elapsed * slideSpeed));
if (slidePos >= FULL_IN_POS){
slidePos = FULL_IN_POS;
state = STATE_ON_SCREEN;
time = 0;
};
} else {
if (state == STATE_SLIDING_OUT){
slidePos = (slidePos - (FlxG.elapsed * slideSpeed));
if (slidePos < 0){
slidePos = 0;
state = STATE_OFF_SCREEN;
};
};
};
};
};
}
public function clear():void{
state = STATE_OFF_SCREEN;
}
}
}//package
Section 173
//EmitterShot (EmitterShot)
package {
import flash.geom.*;
public class EmitterShot extends EntityEmitter {
public function EmitterShot(anEntityEngine:EntityEngine):void{
super(anEntityEngine);
}
override public function readXML(timeAttack:Boolean, emitterEl:XML):void{
super.readXML(timeAttack, emitterEl);
minArea = (minArea * 2);
maxArea = (maxArea * 2);
if (emitterEl.attribute("shotemitnum") != undefined){
shotEmitNum = emitterEl.attribute("shotemitnum");
};
}
public function emitShot(pos:Point, direction:Number):void{
var cont:ControllerMoveDirection;
var entity:Entity;
entity = createEntityAndController();
entity.setPos(pos);
var i:int;
while (i < controllerVarsVec.length) {
if (controllerVarsVec[i].controllerType == ControllerTypes.MOVE_DIRECTION){
cont = ControllerMoveDirection(entity.getController(i));
cont.setDirection(direction);
};
i++;
};
}
}
}//package
Section 174
//EmitterSide (EmitterSide)
package {
import flash.geom.*;
public class EmitterSide extends EntityEmitter {
public var left:Boolean;// = false
public var leftMin:Number;// = 0
public var topMax:Number;// = 0
public var rightMin:Number;// = 0
public var top:Boolean;// = false
public var right:Boolean;// = false
public var leftMax:Number;// = 0
public var bottomMin:Number;// = 0
public var rightMax:Number;// = 0
public var bottom:Boolean;// = false
public var bottomMax:Number;// = 0
public var topMin:Number;// = 0
public function EmitterSide(anEntityEngine:EntityEngine):void{
super(anEntityEngine);
}
public function emitTop():void{
var entity:Entity;
entity = createEntityAndController();
var posX:Number = Utilities.randomDouble(topMin, topMax);
var posY:Number = (entityEngine.gameWindow.getLevelTop() - entity.getRadius());
entity.setPosComp(posX, posY);
var sideStartDirection:Number = 270;
setEntityAngle(entity, sideStartDirection);
setControllerDirection(entity, sideStartDirection);
deleteTooCloseToGoo(entity);
}
public function deleteTooCloseToGoo(entity:Entity):void{
var gooDist:Point;
var edgeToEdgeDist:Number;
var minEmitDist:Number;
var greyGoo:Entity = Entity(entityEngine.gameWindow.getGreyGoo());
if (greyGoo){
gooDist = greyGoo.pos.subtract(entity.pos);
edgeToEdgeDist = ((gooDist.length - greyGoo.getRadius()) - entity.getRadius());
minEmitDist = 100;
if (edgeToEdgeDist < minEmitDist){
entity.setDeleteMe();
};
};
}
public function setControllerDirection(entity:Entity, sideStartDirection:Number):void{
var cmd:ControllerMoveDirection;
var dirVel:Point;
var i:int;
while (i < controllerVarsVec.length) {
if (controllerVarsVec[i].controllerType == ControllerTypes.MOVE_DIRECTION){
cmd = ControllerMoveDirection(entity.getController(i));
cmd.setDirection(sideStartDirection);
dirVel = Point.polar(cmd.getSpeed(), -(Utilities.degToRad(sideStartDirection)));
entity.setVel(dirVel);
};
i++;
};
}
public function emitLeft():void{
var entity:Entity;
entity = createEntityAndController();
var posY:Number = Utilities.randomDouble(leftMin, leftMax);
var posX:Number = (entityEngine.gameWindow.getLevelLeft() - entity.getRadius());
entity.setPosComp(posX, posY);
var sideStartDirection:Number = 0;
setEntityAngle(entity, sideStartDirection);
setControllerDirection(entity, sideStartDirection);
deleteTooCloseToGoo(entity);
}
override protected function emit():void{
var numSides:int;
if (left){
numSides++;
};
if (right){
numSides++;
};
if (top){
numSides++;
};
if (bottom){
numSides++;
};
var chooseSide:int = Utilities.randomInt(0, numSides);
var count:int;
if (left){
if (count == chooseSide){
emitLeft();
};
count++;
};
if (right){
if (count == chooseSide){
emitRight();
};
count++;
};
if (top){
if (count == chooseSide){
emitTop();
};
count++;
};
if (bottom){
if (count == chooseSide){
emitBottom();
};
count++;
};
}
public function emitRight():void{
var entity:Entity;
entity = createEntityAndController();
var posY:Number = Utilities.randomDouble(rightMin, rightMax);
var posX:Number = (entityEngine.gameWindow.getLevelRight() + entity.getRadius());
entity.setPosComp(posX, posY);
var sideStartDirection:Number = 180;
setEntityAngle(entity, sideStartDirection);
setControllerDirection(entity, sideStartDirection);
deleteTooCloseToGoo(entity);
}
public function setRight(aRightMin:Number, aRightMax:Number):void{
var temp:Number;
right = true;
rightMin = aRightMin;
rightMax = aRightMax;
if (rightMin > rightMax){
temp = rightMin;
rightMin = rightMax;
rightMax = temp;
};
}
override public function readXML(timeAttack:Boolean, emitterEl:XML):void{
var leftEl:XMLList;
var rightEl:XMLList;
var topEl:XMLList;
var bottomEl:XMLList;
super.readXML(timeAttack, emitterEl);
if (emitterEl.attribute("shotemitnum") != undefined){
shotEmitNum = emitterEl.attribute("shotemitnum");
};
var min:Number = 0;
var max:Number = 0;
if (("left" in emitterEl)){
leftEl = emitterEl.child("left");
min = 0;
max = 0;
if (leftEl.attribute("min") != undefined){
min = leftEl.attribute("min");
min = Utilities.scaleDist(min);
};
if (leftEl.attribute("max") != undefined){
max = leftEl.attribute("max");
max = Utilities.scaleDist(max);
};
setLeft(min, max);
};
if (("right" in emitterEl)){
rightEl = emitterEl.child("right");
min = 0;
max = 0;
if (rightEl.attribute("min") != undefined){
min = rightEl.attribute("min");
min = Utilities.scaleDist(min);
};
if (rightEl.attribute("max") != undefined){
max = rightEl.attribute("max");
max = Utilities.scaleDist(max);
};
setRight(min, max);
};
if (("top" in emitterEl)){
topEl = emitterEl.child("top");
min = 0;
max = 0;
if (topEl.attribute("min") != undefined){
min = topEl.attribute("min");
min = Utilities.scaleDist(min);
};
if (topEl.attribute("max") != undefined){
max = topEl.attribute("max");
max = Utilities.scaleDist(max);
};
setTop(min, max);
};
if (("bottom" in emitterEl)){
bottomEl = emitterEl.child("bottom");
min = 0;
max = 0;
if (bottomEl.attribute("min") != undefined){
min = bottomEl.attribute("min");
min = Utilities.scaleDist(min);
};
if (bottomEl.attribute("max") != undefined){
max = bottomEl.attribute("max");
max = Utilities.scaleDist(max);
};
setBottom(min, max);
};
}
public function setTop(aTopMin:Number, aTopMax:Number):void{
var temp:Number;
top = true;
topMin = aTopMin;
topMax = aTopMax;
if (topMin > topMax){
temp = topMin;
topMin = topMax;
topMax = temp;
};
}
public function emitBottom():void{
var entity:Entity;
entity = createEntityAndController();
var posX:Number = Utilities.randomDouble(bottomMin, bottomMax);
var posY:Number = (entityEngine.gameWindow.getLevelBottom() + entity.getRadius());
entity.setPosComp(posX, posY);
var sideStartDirection:Number = 90;
setEntityAngle(entity, sideStartDirection);
setControllerDirection(entity, sideStartDirection);
deleteTooCloseToGoo(entity);
}
public function setEntityAngle(entity:Entity, sideStartDirection:Number):void{
if (((entity.getEntityDef().directedTravel) || (entity.getEntityDef().matchAngleToVel))){
entity.setAngle(sideStartDirection);
};
}
public function setBottom(aBottomMin:Number, aBottomMax:Number):void{
var temp:Number;
bottom = true;
bottomMin = aBottomMin;
bottomMax = aBottomMax;
if (bottomMin > bottomMax){
temp = bottomMin;
bottomMin = bottomMax;
bottomMax = temp;
};
}
public function setLeft(aLeftMin:Number, aLeftMax:Number):void{
var temp:Number;
left = true;
leftMin = aLeftMin;
leftMax = aLeftMax;
if (leftMin > leftMax){
temp = leftMin;
leftMin = leftMax;
leftMax = temp;
};
}
}
}//package
Section 175
//EmitterSpot (EmitterSpot)
package {
import flash.geom.*;
public class EmitterSpot extends EntityEmitter {
public var posX:Number;// = 0
public var posY:Number;// = 0
public function EmitterSpot(anEntityEngine:EntityEngine):void{
super(anEntityEngine);
}
override public function readXML(timeAttack:Boolean, emitterEl:XML):void{
super.readXML(timeAttack, emitterEl);
if (emitterEl.attribute("posx") != undefined){
posX = emitterEl.attribute("posx");
posX = Utilities.scaleDistRound(posX);
};
if (emitterEl.attribute("posy") != undefined){
posY = emitterEl.attribute("posy");
posY = Utilities.scaleDistRound(posY);
};
}
override protected function emit():void{
var cmd:ControllerPathFollow;
var initPathPos:Number;
var initPos:Point;
var entity:Entity;
entity = createEntityAndController();
entity.setPosComp(posX, posY);
var i:int;
while (i < controllerVarsVec.length) {
if (controllerVarsVec[i].controllerType == ControllerTypes.PATH_FOLLOW){
cmd = ControllerPathFollow(entity.getController(i));
initPathPos = controllerVarsVec[i].initPathPos;
initPos = cmd.getPath().getPos(initPathPos);
entity.setPos(initPos);
};
i++;
};
}
public function setPos(aPosX:Number, aPosY:Number):void{
posX = aPosX;
posY = aPosY;
}
override public function draw(camera:Camera):void{
super.draw(camera);
}
}
}//package
Section 176
//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 177
//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 178
//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 179
//Entity (Entity)
package {
import flash.geom.*;
import org.flixel.*;
public class Entity {
public var eater:Entity;// = null
public var beforeEatenPosRel:Point;
public var fracDamageMin:Number;// = 0
public var wobbleClockwise:Boolean;// = false
public var angularAccel:Number;// = 1
public var firstFrameAlive:Boolean;// = true
public var targeters:Array;
public var timeSinceDamage:Number;// = 100
public var effectColor:Color;
public var pos:Point;
public var controllers:Array;
public var hasShadow:Boolean;// = false
public var angularVel:Number;// = 0
public var firstController:Boolean;// = false
public var displayArea:Number;// = 0
public var absDamage:Number;// = 0
public var gameWindow:GameWindow;// = null
public var beingEaten:Boolean;// = false
public var diameter:Number;// = 0
public var radius:Number;// = 0
public var aspectRatio:Number;// = 0
public var firstLoopingSoundID:int;// = -1
public var deleteMe:Boolean;// = false
public var newtonTravel:Boolean;// = false
public var livedFor:Number;// = 0
public var special:Boolean;// = false
public var sprite:DingoSprite;// = null
public var moveToTurnExtra:Number;// = 0
public var moveToTurn:Boolean;// = false
public var movingCell:Boolean;// = false
public var angle:Number;// = 0
public var emittedEatenDust:Boolean;// = false
public var intersectionShapes:Array;
public var maxAngularVel:Number;// = 360
public var inPartitionCellX:int;// = -1
public var inPartitionCellY:int;// = -1
public var isGoo:Boolean;// = false
public var throbArea:Number;// = 0
public var edibleGooArea:Number;// = 10
public var targets:Array;
public var inPartitionLayer:PartitionLayer;// = null
public var lastEaten:Number;// = 1000
public var entityDef:EntityDef;// = null
public var fracDamageMax:Number;// = 0
public var height:Number;// = 0
public var beforeEatenPos:Point;
public var shadowX:int;// = 0
public var shadowY:int;// = 0
public var actualArea:Number;// = 0
public var activeController:EntityController;// = null
public var smoothTurn:Boolean;// = false
public var destAngle:Number;// = 0
public var reactShape:int;
public var emitter:EntityEmitter;// = null
public var turnRadius:Number;// = 1
public var beforeEatenArea:Number;// = 10
public var eatingTime:Number;// = 0
public var eatees:Array;
public var directedTravel:Boolean;// = false
public var tempNormalIntersect:Number;// = 0
public var outOfBoundsFor:Number;// = 0
public var biggerDim:Number;// = 0
public var areaCoverage:Number;// = 0
public var gooReactionOnly:Boolean;// = false
public var vel:Point;
public var nonHarmfulGooArea:Number;// = 0
public var collisionPosReactionThisFrame:Boolean;// = true
public var matchAngleToVel:Boolean;// = false
public var slowAnimSpeed:Number;// = 0
public var fastAnimSpeed:Number;// = 0
public var nonDeadlyGooArea:Number;// = 0
public var width:Number;// = 0
public var helperArrowAtUs:Number;// = 0
public var updatePhysicsThisFrame:Boolean;// = true
public var loopingSoundID:int;// = -1
public var hasDestAngle:Boolean;// = false
public var staticEntity:Boolean;// = false
public var initialArea:Number;// = -1
public var helperSetThisFrame:Boolean;// = false
public static var tempPan:Number = 0;
public static var tempVolume:Number = 0;
public function Entity(anEntityDef:EntityDef, aGameWindow:GameWindow):void{
var fromShape:DingoShape;
var shape:DingoShape;
var fromCircle:DingoCircle;
var fromAARect:DingoAARect;
var fromRotRect:DingoRotRect;
controllers = new Array();
pos = new Point();
vel = new Point();
reactShape = EntityDef.CIRCLE;
effectColor = new Color();
intersectionShapes = new Array();
beforeEatenPos = new Point();
beforeEatenPosRel = new Point();
eatees = new Array();
targets = new Array();
targeters = new Array();
super();
init(aGameWindow);
entityDef = anEntityDef;
if (entityDef.dingoImage){
sprite = new DingoSprite(gameWindow);
sprite.setDingoImage(entityDef.dingoImage);
} else {
if (entityDef.animationDef){
sprite = new DingoSprite(gameWindow);
sprite.playAnimation(entityDef.animationDef);
};
};
setAspectRatio(entityDef.aspectRatio);
setAreaCoverage(entityDef.areaCoverage);
staticEntity = entityDef.staticEntity;
setDirectedTravel(entityDef.directedTravel);
setNewtonTravel(entityDef.newtonTravel);
moveToTurn = entityDef.moveToTurn;
setMatchAngleToVel(entityDef.matchAngleToVel);
turnRadius = entityDef.turnRadius;
moveToTurnExtra = entityDef.moveToTurnExtra;
maxAngularVel = entityDef.maxAngularVel;
smoothTurn = entityDef.smoothTurn;
reactShape = entityDef.reactShape;
gooReactionOnly = entityDef.gooReactionOnly;
if (sprite){
sprite.setDrawUsingFloat(entityDef.drawUsingFloat);
sprite.setBlitColour(entityDef.color);
};
effectColor = entityDef.effectColor;
loopingSoundID = -1;
firstLoopingSoundID = -1;
special = false;
var i:int;
i = 0;
while (i < entityDef.intersectionShapes.length) {
fromShape = entityDef.intersectionShapes[i];
shape = null;
if (fromShape.type == DingoShape.CIRCLE){
fromCircle = DingoCircle(fromShape);
shape = new DingoCircle(fromCircle.getLocalPos(), fromCircle.getLocalRadius());
} else {
if (fromShape.type == DingoShape.AARECT){
fromAARect = DingoAARect(fromShape);
shape = new DingoAARect(fromAARect.getLocalPos(), fromAARect.getLocalX1(), fromAARect.getLocalY1(), fromAARect.getLocalX2(), fromAARect.getLocalY2());
} else {
if (fromShape.type == DingoShape.ROT_RECT){
fromRotRect = DingoRotRect(fromShape);
shape = new DingoRotRect(fromRotRect.getLocalPos(), fromRotRect.getWidth(), fromRotRect.getHeight(), fromRotRect.getLocalAngle());
} else {
assert(false);
};
};
};
intersectionShapes.push(shape);
i++;
};
}
public function getFirstFrameAlive():Boolean{
return (firstFrameAlive);
}
public function forceTowardsPoint(point:Point):void{
var directionToPoint:Point = point.subtract(pos);
var dist:Number = directionToPoint.length;
directionToPoint.normalize(1);
var speedToPoint:Number = (30000 / dist);
speedToPoint = Utilities.getClampDouble(speedToPoint, 0, 400);
pos.x = (pos.x + ((directionToPoint.x * speedToPoint) * FlxG.elapsed));
pos.y = (pos.y + ((directionToPoint.y * speedToPoint) * FlxG.elapsed));
}
public function getDiameter():Number{
return (diameter);
}
public function getFastAnimSpeed():Number{
return (fastAnimSpeed);
}
public function getWidth():Number{
return (width);
}
public function correctIntersection(entity:Entity):Boolean{
var heightGreater:Boolean;
var posRelEnt:Point;
var halfWidth:Number;
var halfHeight:Number;
var topLeft:Point;
var topRight:Point;
var bottomLeft:Point;
var bottomRight:Point;
var rotateAmount:Number;
var dirAngle:Number;
var dt:Number = FlxG.elapsed;
var dirToCenter:Point = entity.pos.subtract(pos);
if (entity.reactShape == EntityDef.RECT){
heightGreater = false;
if (entity.getHeight() > entity.getWidth()){
heightGreater = true;
};
posRelEnt = pos.clone();
posRelEnt.x = (posRelEnt.x - entity.pos.x);
posRelEnt.y = (posRelEnt.y - entity.pos.y);
posRelEnt = Point.polar(posRelEnt.length, -(Utilities.degToRad((Utilities.angleOfPoint(posRelEnt) - entity.getAngle()))));
halfWidth = (entity.getWidth() * 0.5);
halfHeight = (entity.getHeight() * 0.5);
topLeft = new Point(-(halfWidth), -(halfHeight));
topRight = new Point(halfWidth, -(halfHeight));
bottomLeft = new Point(-(halfWidth), halfHeight);
bottomRight = new Point(halfWidth, halfHeight);
rotateAmount = 45;
topLeft = Point.polar(topLeft.length, -(Utilities.degToRad((Utilities.angleOfPoint(topLeft) + rotateAmount))));
topRight = Point.polar(topRight.length, -(Utilities.degToRad((Utilities.angleOfPoint(topRight) + rotateAmount))));
bottomLeft = Point.polar(bottomLeft.length, -(Utilities.degToRad((Utilities.angleOfPoint(bottomLeft) + rotateAmount))));
bottomRight = Point.polar(bottomRight.length, -(Utilities.degToRad((Utilities.angleOfPoint(bottomRight) + rotateAmount))));
posRelEnt = Point.polar(posRelEnt.length, -(Utilities.degToRad((Utilities.angleOfPoint(posRelEnt) + rotateAmount))));
if (heightGreater){
if ((((posRelEnt.y < topLeft.y)) && ((posRelEnt.x < topRight.x)))){
dirAngle = (entity.getAngle() + 270);
dirToCenter = Point.polar(dirToCenter.length, -(Utilities.degToRad(dirAngle)));
} else {
if ((((posRelEnt.x > bottomLeft.x)) && ((posRelEnt.y > bottomRight.y)))){
dirAngle = (entity.getAngle() + 90);
dirToCenter = Point.polar(dirToCenter.length, -(Utilities.degToRad(dirAngle)));
} else {
posRelEnt = Point.polar(posRelEnt.length, -(Utilities.degToRad((Utilities.angleOfPoint(posRelEnt) - rotateAmount))));
if (posRelEnt.x < 0){
dirAngle = entity.getAngle();
dirToCenter = Point.polar(dirToCenter.length, -(Utilities.degToRad(dirAngle)));
} else {
dirAngle = (entity.getAngle() + 180);
dirToCenter = Point.polar(dirToCenter.length, -(Utilities.degToRad(dirAngle)));
};
};
};
} else {
if ((((posRelEnt.y > topLeft.y)) && ((posRelEnt.x < bottomLeft.x)))){
dirAngle = entity.getAngle();
dirToCenter = Point.polar(dirToCenter.length, -(Utilities.degToRad(dirAngle)));
} else {
if ((((posRelEnt.x > topRight.x)) && ((posRelEnt.y < bottomRight.y)))){
dirAngle = (entity.getAngle() + 180);
dirToCenter = Point.polar(dirToCenter.length, -(Utilities.degToRad(dirAngle)));
} else {
posRelEnt = Point.polar(posRelEnt.length, -(Utilities.degToRad((Utilities.angleOfPoint(posRelEnt) - rotateAmount))));
if (posRelEnt.y < 0){
dirAngle = (entity.getAngle() + 270);
dirToCenter = Point.polar(dirToCenter.length, -(Utilities.degToRad(dirAngle)));
} else {
dirAngle = (entity.getAngle() + 90);
dirToCenter = Point.polar(dirToCenter.length, -(Utilities.degToRad(dirAngle)));
};
};
};
};
};
var dirMag:Number = ((vel.length + entity.vel.length) * dt);
dirToCenter.normalize(dirMag);
var orPos:Point = pos.clone();
var variant:int;
var maxVariant = 10;
while (((checkIntersection(entity)) && ((variant < maxVariant)))) {
pos = pos.subtract(dirToCenter);
updateIntersectionShapes();
dirMag = (dirMag * 2);
dirToCenter.normalize(dirMag);
variant++;
};
if ((((variant == maxVariant)) || ((variant == 0)))){
return (false);
};
var binIntersect:Boolean;
variant = 0;
maxVariant = 20;
var posDiff:Point = pos.subtract(orPos);
pos = pos.subtract(new Point((posDiff.x * 0.5), (posDiff.y * 0.5)));
while ((((posDiff.length > 0.4)) && ((variant < maxVariant)))) {
updateIntersectionShapes();
binIntersect = checkIntersection(entity);
posDiff.x = (posDiff.x * 0.5);
posDiff.y = (posDiff.y * 0.5);
if (binIntersect){
pos.x = (pos.x + (posDiff.x * 0.5));
pos.y = (pos.y + (posDiff.y * 0.5));
} else {
pos.x = (pos.x - (posDiff.x * 0.5));
pos.y = (pos.y - (posDiff.y * 0.5));
};
variant++;
};
updateIntersectionShapes();
tempNormalIntersect = Utilities.angleOfPoint(pos.subtract(orPos));
return (true);
}
public function spriteToShapeCoord(spritePos:Point):Point{
spritePos.x = (spritePos.x - pos.x);
spritePos.y = (spritePos.y - pos.y);
return (new Point((spritePos.x / biggerDim), (spritePos.y / biggerDim)));
}
public function getDeleteMe():Boolean{
return (deleteMe);
}
public function staticEntityUpdate():void{
updateHelperArrow();
updateEntityBeingEaten();
if (sprite){
sprite.update();
};
if (firstFrameAlive){
updateIntersectionShapes();
firstFrameAlive = false;
};
}
public function getHeight():Number{
return (height);
}
public function setShadow(aHasShadow:Boolean, aShadowX:int, aShadowY:int):void{
hasShadow = aHasShadow;
shadowX = aShadowX;
shadowY = aShadowY;
}
public function getLivedFor():Number{
return (livedFor);
}
public function setNewtonTravel(aNewtonTravel:Boolean):void{
newtonTravel = aNewtonTravel;
}
public function damageEntity(entity:Entity):void{
entity.takeDamage(this);
}
public function isSpecial():Boolean{
return (special);
}
public function setAbsDamage(anAbsDamage:Number):void{
absDamage = anAbsDamage;
}
public function regularEntityUpdate():void{
var growRate:Number;
var newArea:Number;
var highestPriority:Number;
var highestPriorityController:EntityController;
var i:int;
var priority:Number;
var velAngle:Number;
var middleWobbleAngle:Number;
var wobbleSize:Number;
var moveRightDiff:Number;
var moveLeftDiff:Number;
var ratio:Number;
var leanAmount:Number;
var maxAngle:Number;
var minAngle:Number;
var angleAccelRate:Number;
var dt:Number;
var lastAngularVel:Number;
var t:Number;
var slowDownAccel:Number;
var stopAngle:Number;
var angleDiff:Number;
var frameAngularAccel:Number;
var absAngDiff:Number;
var angDiff:Number;
var frameTurnSpeed:Number;
var volume:Number;
var pan:Number;
updatePhysicsThisFrame = true;
collisionPosReactionThisFrame = true;
livedFor = (livedFor + FlxG.elapsed);
if (((((entityDef.hasLifeLength) && ((livedFor > entityDef.lifeLength)))) && (!(deleteMe)))){
setDeleteMe();
};
updateHelperArrow();
if (((!(beingEaten)) && (!(deleteMe)))){
highestPriority = 0;
highestPriorityController = null;
i = 0;
i = 0;
while (i < controllers.length) {
controllers[i].update(firstController);
priority = controllers[i].getPriority();
if (priority > highestPriority){
highestPriority = priority;
highestPriorityController = controllers[i];
};
i++;
};
activeController = highestPriorityController;
if (activeController){
firstController = activeController.isFirst();
} else {
firstController = false;
};
} else {
activeController = null;
};
if (activeController){
activeController.doControl();
};
updateOutOfBounds();
timeSinceDamage = (timeSinceDamage + FlxG.elapsed);
lastEaten = (lastEaten + FlxG.elapsed);
var desiredArea:Number = actualArea;
var throbTime:Number = 1.15;
if (lastEaten < throbTime){
desiredArea = throbArea;
} else {
throbArea = actualArea;
};
if (displayArea < desiredArea){
growRate = (((desiredArea - displayArea) * 2) + (displayArea * 2));
newArea = (displayArea + (growRate * FlxG.elapsed));
if (newArea > desiredArea){
lastEaten = 1000;
throbArea = actualArea;
};
newArea = Utilities.getClampDouble(newArea, 0, desiredArea);
setDisplayArea(newArea);
};
if (displayArea > desiredArea){
growRate = (((displayArea - desiredArea) * 2) + (displayArea * 2));
newArea = (displayArea - (growRate * FlxG.elapsed));
newArea = Utilities.getClampDouble(newArea, desiredArea, 10000000);
setDisplayArea(newArea);
};
updateEntityBeingEaten();
if (entityDef.wobble){
velAngle = Utilities.angleOfPoint(vel);
middleWobbleAngle = 0;
wobbleSize = 5;
moveRightDiff = Utilities.angleDifference(velAngle, 0);
moveLeftDiff = Utilities.angleDifference(velAngle, 180);
if (Math.abs(moveRightDiff) < Math.abs(moveLeftDiff)){
ratio = (1 - (Math.abs(moveRightDiff) / 90));
ratio = Utilities.getClampDouble(ratio, 0, 1);
leanAmount = 20;
middleWobbleAngle = (middleWobbleAngle - (leanAmount * ratio));
} else {
ratio = (1 - (Math.abs(moveLeftDiff) / 90));
ratio = Utilities.getClampDouble(ratio, 0, 1);
leanAmount = 20;
middleWobbleAngle = (middleWobbleAngle + (leanAmount * ratio));
};
maxAngle = (middleWobbleAngle + wobbleSize);
minAngle = (middleWobbleAngle - wobbleSize);
maxAngle = Utilities.set0To360(maxAngle);
minAngle = Utilities.set0To360(minAngle);
angleAccelRate = 1;
if (wobbleClockwise){
if (Utilities.angleDifference(angle, minAngle) < 0){
wobbleClockwise = false;
};
} else {
if (Utilities.angleDifference(angle, maxAngle) > 0){
wobbleClockwise = true;
};
};
if (wobbleClockwise){
angularVel = (angularVel - angleAccelRate);
} else {
angularVel = (angularVel + angleAccelRate);
};
};
if (updatePhysicsThisFrame){
dt = FlxG.elapsed;
pos.x = (pos.x + (vel.x * dt));
pos.y = (pos.y + (vel.y * dt));
if (hasDestAngle){
if (smoothTurn){
lastAngularVel = angularVel;
t = Math.abs((angularVel / angularAccel));
slowDownAccel = Utilities.changeToSignOf(angularAccel, -(angularVel));
stopAngle = (((((0.5 * slowDownAccel) * t) * t) + (angularVel * t)) + angle);
stopAngle = Utilities.set0To360(stopAngle);
angleDiff = Utilities.angleDifference(destAngle, stopAngle);
frameAngularAccel = (angularAccel * dt);
absAngDiff = Math.abs(Utilities.angleDifference(destAngle, angle));
if (angleDiff < 0){
angularVel = (angularVel - frameAngularAccel);
if ((((((((angularVel < 0)) && ((lastAngularVel >= 0)))) && ((absAngDiff < Math.abs(frameAngularAccel))))) && ((absAngDiff < Math.abs((maxAngularVel * dt)))))){
angularVel = 0;
setAngle(destAngle);
hasDestAngle = false;
};
} else {
angularVel = (angularVel + frameAngularAccel);
if ((((((((angularVel > 0)) && ((lastAngularVel <= 0)))) && ((absAngDiff < Math.abs(frameAngularAccel))))) && ((absAngDiff < Math.abs((maxAngularVel * dt)))))){
angularVel = 0;
setAngle(destAngle);
hasDestAngle = false;
};
};
} else {
angDiff = Utilities.angleDifference(destAngle, angle);
frameTurnSpeed = (maxAngularVel * dt);
if (angDiff > 0){
if (frameTurnSpeed > angDiff){
setAngularVel(0);
setAngle((angle + angDiff));
} else {
setAngularVel(maxAngularVel);
setAngle((angle + frameTurnSpeed));
};
} else {
if (-(frameTurnSpeed) < angDiff){
setAngularVel(0);
setAngle((angle + angDiff));
} else {
setAngularVel(-(maxAngularVel));
setAngle((angle - frameTurnSpeed));
};
};
};
};
angularVel = Utilities.getClampDouble(angularVel, -(maxAngularVel), maxAngularVel);
if (((hasDestAngle) && (!(smoothTurn)))){
} else {
setAngle((angle + (angularVel * dt)));
};
angle = Utilities.set0To360(angle);
if (matchAngleToVel){
setAngle(Utilities.angleOfPoint(vel));
};
if (((directedTravel) && (!(newtonTravel)))){
vel = Point.polar(vel.length, -(Utilities.degToRad(angle)));
};
};
if (((!(beingEaten)) && (!(deleteMe)))){
if (((entityDef) && (entityDef.loopSound))){
volume = 1;
pan = 1;
getVolumePan();
volume = tempVolume;
pan = tempPan;
if (entityDef.firstLoopSound){
if (firstController){
firstLoopingSoundID = entityDef.firstLoopSound.play(volume, pan, firstLoopingSoundID, this);
stopLoopSound();
} else {
loopingSoundID = entityDef.loopSound.play(volume, pan, loopingSoundID, this);
stopFirstLoopSound();
};
} else {
loopingSoundID = entityDef.loopSound.play(volume, pan, loopingSoundID, this);
};
};
};
if (sprite){
sprite.update();
};
updateIntersectionShapes();
firstFrameAlive = false;
}
public function getEater():Entity{
return (eater);
}
public function getAngularVel():Number{
return (angularVel);
}
public function updateOutOfBounds():void{
var maxOutOfBounds:Number;
if (inLevelBounds()){
outOfBoundsFor = 0;
} else {
outOfBoundsFor = (outOfBoundsFor + FlxG.elapsed);
maxOutOfBounds = 1;
if (outOfBoundsFor > maxOutOfBounds){
if (!deleteMe){
setDeleteMe();
};
};
};
}
public function setAngularVel(aAngularVel:Number):void{
angularVel = aAngularVel;
}
public function getAnimationDef():AnimationDef{
if (sprite.getAnimation()){
return (sprite.getAnimation().getAnimationDef());
};
return (null);
}
public function emitEatenParticles():void{
var pe:ParticleEngine;
var areaRoot:Number;
var pWidth:Number;
var speedScale:Number;
var numEatenParticles:int;
var particleIndex:int;
var p:Particle;
var speed:Number;
var eatenByGoo = (eater == gameWindow.getGreyGoo());
emittedEatenDust = true;
if (eatenByGoo){
pe = gameWindow.getParticleEngine();
areaRoot = Math.sqrt(getActualArea());
pWidth = ((areaRoot * 2.5) * 0.719);
speedScale = (areaRoot * 2);
numEatenParticles = 3;
particleIndex = 0;
p = null;
particleIndex = 0;
while (particleIndex < numEatenParticles) {
p = pe.popInactive();
if (p){
p.setCellNum(3);
p.pos = pos.clone();
speed = Utilities.randomDouble((0.5 * speedScale), (1 * speedScale));
p.vel = Point.polar(speed, -(Utilities.degToRad(Utilities.randomDouble(0, 360))));
p.angle = Utilities.randomDouble(0, 360);
p.color.r = effectColor.r;
p.color.g = effectColor.g;
p.color.b = effectColor.b;
p.color.a = effectColor.a;
p.width = pWidth;
p.lifeLength = 1;
pe.pushActive(p);
};
particleIndex++;
};
} else {
emitNonGooEatenParticles();
};
}
public function getSoundSizeMultiplier():Number{
var MIN_WIDTH_SOUND:Number = 20;
var MAX_WIDTH_SOUND:Number = 125;
var MAX_MIN_DIFF:Number = (MAX_WIDTH_SOUND - MIN_WIDTH_SOUND);
var areaWidth:Number = Math.sqrt(actualArea);
var posOnScale:Number = ((areaWidth - MIN_WIDTH_SOUND) / MAX_MIN_DIFF);
posOnScale = Utilities.getClampDouble(posOnScale, 0, 1);
var MIN_SOUND_MULT:Number = 0.4;
var MAX_SOUND_MULT:Number = 1;
var SOUND_MIN_MAX_DIFF:Number = (MAX_SOUND_MULT - MIN_SOUND_MULT);
return ((MIN_SOUND_MULT + (posOnScale * SOUND_MIN_MAX_DIFF)));
}
public function destroySelf():void{
var pWidth:Number;
var speedScale:Number;
var numEatenParticles:int;
var particleIndex:int;
var p:Particle;
var speed:Number;
var colors:Array;
var emitColor:Color;
if (((beingEaten) || (deleteMe))){
return;
};
if (gameWindow.asteroidLevel){
if (entityDef.name == "asteroid2_future1"){
gameWindow.asteroidDestroyed = true;
};
};
if (entityDef.normalDeathSound){
getVolumePan();
entityDef.normalDeathSound.play(tempVolume, tempPan);
};
var pe:ParticleEngine = gameWindow.getParticleEngine();
if (entityDef.normalDeathExplosion){
pWidth = 1;
speedScale = 1;
numEatenParticles = 1;
pWidth = ((getDiameter() * 1) * 0.719);
speedScale = (getDiameter() * 0.5);
numEatenParticles = 5;
speed = 1;
particleIndex = 0;
p = null;
particleIndex = 0;
while (particleIndex < numEatenParticles) {
p = pe.popInactive();
if (p){
p.setCellNum(3);
p.pos = pos.clone();
speed = Utilities.randomDouble((0.2 * speedScale), (1 * speedScale));
p.vel = Point.polar(speed, -(Utilities.degToRad(Utilities.randomDouble(0, 360))));
p.angle = 0;
p.color.r = 0.25;
p.color.g = 0.25;
p.color.b = 0.25;
p.color.a = 1;
p.width = pWidth;
p.lifeLength = Utilities.randomDouble(1, 2);
pe.pushActive(p);
};
particleIndex++;
};
pWidth = (getDiameter() * 0.2);
speedScale = (getDiameter() * 2);
numEatenParticles = 30;
colors = new Array();
colors.push(new Color(1, 0.8, 0.6, 1));
colors.push(new Color(1, 0.5, 0.2, 1));
colors.push(new Color(1, 1, 0.2, 1));
emitColor = null;
particleIndex = 0;
while (particleIndex < numEatenParticles) {
p = pe.popInactive();
if (p){
p.setCellNum(1);
p.pos = pos.clone();
speed = Utilities.randomDouble((0.1 * speedScale), (1 * speedScale));
p.vel = Point.polar(speed, -(Utilities.degToRad(Utilities.randomDouble(0, 360))));
p.angle = 0;
emitColor = colors[Utilities.randomInt(0, colors.length)];
p.color.r = emitColor.r;
p.color.g = emitColor.g;
p.color.b = emitColor.b;
p.color.a = 1;
p.width = Utilities.randomDouble((pWidth * 0.4), pWidth);
p.lifeLength = Utilities.randomDouble(0.3, 0.7);
p.additiveBlend = true;
pe.pushActive(p);
};
particleIndex++;
};
} else {
pe = gameWindow.getParticleEngine();
pWidth = (getDiameter() * 0.2);
speedScale = getDiameter();
numEatenParticles = 5;
particleIndex = 0;
p = null;
particleIndex = 0;
while (particleIndex < numEatenParticles) {
p = pe.popInactive();
if (p){
p.setCellNum(5);
p.pos = pos.clone();
speed = Utilities.randomDouble((0.2 * speedScale), (1 * speedScale));
p.vel = Point.polar(speed, -(Utilities.degToRad(Utilities.randomDouble(0, 360))));
p.angle = Utilities.randomDouble(0, 360);
p.color.r = effectColor.r;
p.color.g = effectColor.g;
p.color.b = effectColor.b;
p.color.a = effectColor.a;
p.width = pWidth;
p.lifeLength = 0.5;
pe.pushActive(p);
};
particleIndex++;
};
};
setDeleteMe();
}
public function getVel():Point{
return (vel);
}
public function setCollisionPosReactionThisFrame(react:Boolean):void{
collisionPosReactionThisFrame = react;
}
public function getVolumePan():void{
var levelCenter:Point = gameWindow.getGooPos();
var centerX:Number = levelCenter.x;
var distFromCenterScreen:Number = pos.subtract(levelCenter).length;
var VOLUME_MAX_AT_DIST:Number = 200;
tempVolume = (VOLUME_MAX_AT_DIST / distFromCenterScreen);
tempVolume = Utilities.getClampDouble(tempVolume, 0, 1);
tempVolume = (tempVolume * getSoundSizeMultiplier());
var distX:Number = (pos.x - centerX);
var PAN_MAX_AT_DIST:Number = 500;
tempPan = (distX / PAN_MAX_AT_DIST);
tempPan = Utilities.getClampDouble(tempPan, -1, 1);
}
public function setSlowAnimSpeed(aSlowAnimSpeed:Number):void{
slowAnimSpeed = aSlowAnimSpeed;
}
public function updateHelperArrow():void{
var fadeRate:Number;
if ((((helperArrowAtUs > 0)) && (!(helperSetThisFrame)))){
fadeRate = 6;
helperArrowAtUs = (helperArrowAtUs - (fadeRate * FlxG.elapsed));
helperArrowAtUs = Utilities.getClampDouble(helperArrowAtUs, 0, 1);
};
helperSetThisFrame = false;
}
public function getEntityDef():EntityDef{
return (entityDef);
}
public function setFastAnimSpeed(aFastAnimSpeed:Number):void{
fastAnimSpeed = aFastAnimSpeed;
}
public function getOutOfBoundsFor():Number{
return (outOfBoundsFor);
}
public function getDirectedTravel():Boolean{
return (directedTravel);
}
public function bounce(entity:Entity):void{
var velNormDiff:Number;
var dampening:Number;
if (collisionPosReactionThisFrame == false){
return;
};
var normAngle:Number = 0;
if (correctIntersection(entity)){
normAngle = tempNormalIntersect;
velNormDiff = Utilities.angleDifference(normAngle, Utilities.angleOfPoint(vel));
if (Math.abs(velNormDiff) < 90){
return;
};
vel = Point.polar(vel.length, -(Utilities.degToRad((Utilities.angleOfPoint(vel) - normAngle))));
vel.x = -(vel.x);
vel = Point.polar(vel.length, -(Utilities.degToRad((Utilities.angleOfPoint(vel) + normAngle))));
dampening = 0.8;
vel.x = (vel.x * dampening);
vel.y = (vel.y * dampening);
};
}
public function setDirectedTravel(aDirectedTravel:Boolean):void{
directedTravel = aDirectedTravel;
}
public function getBeingEaten():Boolean{
return (beingEaten);
}
public function loopSoundStopped(soundEffectOwner:DingoSoundEffectLoop):void{
if (soundEffectOwner == entityDef.firstLoopSound){
firstLoopingSoundID = -1;
};
if (soundEffectOwner == entityDef.loopSound){
loopingSoundID = -1;
};
}
public function setPos(aPos:Point):void{
pos.x = aPos.x;
pos.y = aPos.y;
}
public function finish():void{
stopFirstLoopSound();
stopLoopSound();
}
public function stopFirstLoopSound():void{
if (((entityDef.firstLoopSound) && ((firstLoopingSoundID >= 0)))){
entityDef.firstLoopSound.stop(firstLoopingSoundID);
};
}
public function setBeingEaten(anEater:Entity):void{
eater = anEater;
beingEaten = true;
eatingTime = 0;
beforeEatenPos = pos;
beforeEatenPosRel = pos.subtract(anEater.getPos());
beforeEatenArea = getDisplayArea();
playEatenSound();
stopFirstLoopSound();
stopLoopSound();
}
public function removeTargeter(entity:Entity):void{
var i:int;
i = 0;
while (i < targeters.length) {
if (entity == targeters[i]){
targeters.splice(i, 1);
return;
};
i++;
};
assert(false);
}
public function setEmitter(anEmitter:EntityEmitter):void{
emitter = anEmitter;
}
public function getInitialArea():Number{
return (initialArea);
}
public function setDisplayArea(anArea:Number, setSpriteSourceSize:Boolean=true):void{
displayArea = anArea;
var imageArea:Number = (displayArea / areaCoverage);
width = Math.sqrt((imageArea / aspectRatio));
height = (width * aspectRatio);
biggerDim = Math.max(width, height);
if (entityDef.specialDiameterMult > 0){
diameter = (width * entityDef.specialDiameterMult);
} else {
diameter = Math.sqrt(((width * width) + (height * height)));
};
radius = (diameter * 0.5);
if (sprite){
sprite.setWidth(width);
if (setSpriteSourceSize){
sprite.setSourceWidth(width);
};
};
}
public function setPosComp(x:Number, y:Number):void{
pos.x = x;
pos.y = y;
}
public function setAspectRatio(anAspectRatio:Number):void{
aspectRatio = anAspectRatio;
}
public function takeDamage(damager:Entity):void{
var damageAmount:Number;
var newArea:Number;
var minDamageInterval:Number = 1.5;
if (timeSinceDamage > minDamageInterval){
playDamageSound();
timeSinceDamage = 0;
damageAmount = getDamageAmount(damager, getActualArea());
newArea = (getActualArea() - damageAmount);
newArea = Utilities.getClampDouble(newArea, initialArea, 10000000);
setActualArea(newArea);
emitDamageParticles(damager, damageAmount);
};
}
public function stopMovement(accel:Number, maxSpeed:Number):void{
var newSpeed:Number;
var speed:Number = vel.length;
if (speed > 1E-5){
if (speed > maxSpeed){
speed = maxSpeed;
};
newSpeed = (speed - (accel * FlxG.elapsed));
if (newSpeed < 0){
newSpeed = 0;
};
vel.normalize(newSpeed);
};
}
public function centerCameraOnMe():void{
gameWindow.camera.setDesiredCenter(pos.clone());
}
public function update():void{
if (staticEntity){
staticEntityUpdate();
} else {
regularEntityUpdate();
};
}
public function setFracDamageMin(aFracDamageMin:Number):void{
fracDamageMin = aFracDamageMin;
}
public function getNonHarmfulGooArea():Number{
return (nonHarmfulGooArea);
}
public function setUpdatePhysicsThisFrame(aUpdate:Boolean):void{
updatePhysicsThisFrame = aUpdate;
}
public function stopLoopSound():void{
if (((entityDef.loopSound) && ((loopingSoundID >= 0)))){
entityDef.loopSound.stop(loopingSoundID);
};
}
public function setMatchAngleToVel(match:Boolean):void{
matchAngleToVel = match;
}
public function getFracDamage(victimArea:Number):Number{
var ratioOfDamageRange:Number;
var DEADLY_DAMAGE_MULT:Number;
var fracDamageMaxAtAreaRatio:Number = 1;
var fracDamageMinAtAreaRatio:Number = 1;
var damagerArea:Number = getActualArea();
var damagerAreaRatio:Number = (damagerArea / victimArea);
var fracDamageRange:Number = (fracDamageMax - fracDamageMin);
var fracDamageAreaRatioRange:Number = (fracDamageMaxAtAreaRatio - fracDamageMinAtAreaRatio);
var fracDamage:Number = 0.1;
if (Math.abs(fracDamageAreaRatioRange) < 1E-8){
fracDamage = fracDamageMin;
} else {
ratioOfDamageRange = ((damagerAreaRatio - fracDamageMinAtAreaRatio) / fracDamageAreaRatioRange);
if (ratioOfDamageRange < 0){
ratioOfDamageRange = 0;
} else {
if (ratioOfDamageRange > 1){
ratioOfDamageRange = 1;
};
};
fracDamage = (fracDamageMin + (fracDamageRange * ratioOfDamageRange));
};
if (((gameWindow) && (gameWindow.getDeadly()))){
DEADLY_DAMAGE_MULT = 5;
return ((DEADLY_DAMAGE_MULT * fracDamage));
};
return (fracDamage);
}
public function inLevelBounds():Boolean{
var entityDiameter:Number = getDiameter();
var entityLeft:Number = (pos.x - (entityDiameter / 2));
var entityRight:Number = (pos.x + (entityDiameter / 2));
var entityTop:Number = (pos.y - (entityDiameter / 2));
var entityBottom:Number = (pos.y + (entityDiameter / 2));
if ((((((((entityRight < gameWindow.getLevelLeft())) || ((entityLeft > gameWindow.getLevelRight())))) || ((entityBottom < gameWindow.getLevelTop())))) || ((entityTop > gameWindow.getLevelBottom())))){
return (false);
};
return (true);
}
public function getBiggerDim():Number{
return (biggerDim);
}
public function setHelperArrowAtUs(amount:Number):void{
helperArrowAtUs = amount;
helperSetThisFrame = true;
}
public function init(aGameWindow:GameWindow):void{
gameWindow = aGameWindow;
sprite = null;
activeController = null;
entityDef = null;
pos = new Point(0, 0);
vel = new Point(0, 0);
angle = 0;
angularVel = 0;
maxAngularVel = 360;
smoothTurn = false;
reactShape = EntityDef.CIRCLE;
gooReactionOnly = false;
isGoo = false;
slowAnimSpeed = 0;
fastAnimSpeed = 0;
wobbleClockwise = false;
absDamage = 0;
fracDamageMin = 0;
fracDamageMax = 0;
updatePhysicsThisFrame = true;
collisionPosReactionThisFrame = true;
hasDestAngle = false;
angularAccel = 1;
destAngle = 0;
directedTravel = false;
newtonTravel = false;
moveToTurn = false;
matchAngleToVel = false;
turnRadius = 1;
moveToTurnExtra = 0;
effectColor = new Color(1, 1, 1, 1);
hasShadow = false;
shadowX = 0;
shadowY = 0;
helperSetThisFrame = false;
helperArrowAtUs = 0;
actualArea = 0;
displayArea = 0;
initialArea = -1;
throbArea = actualArea;
lastEaten = 1000;
aspectRatio = 0;
areaCoverage = 0;
width = 0;
height = 0;
biggerDim = 0;
diameter = 0;
radius = 0;
nonDeadlyGooArea = 0;
nonHarmfulGooArea = 0;
edibleGooArea = 10;
beingEaten = false;
deleteMe = false;
eater = null;
eatingTime = 0;
emittedEatenDust = false;
beforeEatenPos = new Point(0, 0);
beforeEatenArea = 10;
emitter = null;
outOfBoundsFor = 0;
timeSinceDamage = 100;
livedFor = 0;
firstFrameAlive = true;
firstController = false;
}
public function setAreaCoverage(anAreaCoverage:Number):void{
areaCoverage = anAreaCoverage;
}
public function playDamageSound():void{
var volume:Number;
var pan:Number;
if (entityDef.damageSound){
volume = 1;
pan = 0;
getVolumePan();
volume = tempVolume;
pan = tempPan;
entityDef.damageSound.play(volume, pan);
};
}
public function getEffectColor():Color{
return (effectColor);
}
public function addController(aController:EntityController):void{
aController.setEntity(this);
controllers.push(aController);
if (aController.isFirst()){
activeController = aController;
firstController = true;
};
}
public function getNewtonTravel():Boolean{
return (newtonTravel);
}
public function getPos():Point{
return (pos);
}
public function getAngle():Number{
return (angle);
}
public function getCollisionEffect(otherEntity:Entity):int{
var reaction:Reaction;
var defaultEffect:int = Reaction.NONE;
var effect = -1;
var i:int;
i = 0;
while (i < entityDef.reactions.length) {
reaction = entityDef.reactions[i];
if (reaction.entityDef == otherEntity.getEntityDef()){
if (Condition.conditionMet(reaction.condition, this, otherEntity)){
effect = reaction.effect;
break;
};
} else {
if (reaction.entityDef == null){
if (Condition.conditionMet(reaction.condition, this, otherEntity)){
defaultEffect = reaction.effect;
};
};
};
i++;
};
if (effect == -1){
effect = defaultEffect;
};
return (effect);
}
public function getActualArea():Number{
return (actualArea);
}
public function getNonDeadlyGooArea():Number{
return (nonDeadlyGooArea);
}
public function setDeleteMe():void{
var entity:Entity;
stopFirstLoopSound();
stopLoopSound();
if (eater){
eater.removeEatee(this);
};
if (emitter){
emitter.emittedEntityDeleted();
};
var i:int;
i = 0;
while (i < eatees.length) {
eatees[i].removeEater(this);
i++;
};
var entityCount:EntityCount;
while (targets.length > 0) {
entityCount = targets[(targets.length - 1)];
entityCount.entity.removeTargeter(this);
entityCount = null;
targets.splice((targets.length - 1), 1);
};
while (targeters.length > 0) {
entity = targeters[(targeters.length - 1)];
entity.targetDeleted(this);
};
deleteMe = true;
EntityEngine.deleteMeExists = true;
}
public function getDamageAmount(damager:Entity, victimArea:Number):Number{
return ((victimArea * damager.getFracDamage(victimArea)));
}
public function removeTarget(entity:Entity):void{
if (entity == null){
return;
};
var i:int;
var entityCount:EntityCount;
i = 0;
while (i < targets.length) {
entityCount = targets[i];
if (entity == entityCount.entity){
entityCount.count--;
if (entityCount.count <= 0){
entityCount = null;
targets.splice(i, 1);
entity.removeTargeter(this);
};
return;
};
i++;
};
assert(false);
}
public function setActualArea(anArea:Number):void{
actualArea = anArea;
if (initialArea < 0){
initialArea = actualArea;
};
}
public function animationDone():Boolean{
if (sprite.getAnimation()){
return (sprite.getAnimation().isDone());
};
return (false);
}
public function emitNonGooEatenParticles():void{
var speed:Number;
var pe:ParticleEngine = gameWindow.getParticleEngine();
var areaRoot:Number = Math.sqrt(getActualArea());
var pWidth:Number = (areaRoot * 0.1667);
var speedScale:Number = (areaRoot * 2);
var numEatenParticles = 10;
var p:Particle;
var particleIndex:int;
while (particleIndex < numEatenParticles) {
p = pe.popInactive();
if (p){
p.setCellNum(5);
p.pos = pos.clone();
speed = Utilities.randomDouble((0.2 * speedScale), (1 * speedScale));
p.vel = Point.polar(speed, -(Utilities.degToRad(Utilities.randomDouble(0, 360))));
p.angle = Utilities.randomDouble(0, 360);
p.color.r = effectColor.r;
p.color.g = effectColor.g;
p.color.b = effectColor.b;
p.color.a = effectColor.a;
p.width = pWidth;
p.lifeLength = 0.5;
pe.pushActive(p);
};
particleIndex++;
};
}
public function draw(camera:Camera):void{
var additiveAmount:Number;
var spriteColor:Color;
var i:int;
var onScreen:Boolean;
if (((((((((pos.x + radius) < camera.spriteLeft)) || (((pos.x - radius) > camera.spriteRight)))) || (((pos.y + radius) < camera.spriteTop)))) || (((pos.y - radius) > camera.spriteBottom)))){
onScreen = false;
};
var entity:Entity;
i = 0;
while (i < eatees.length) {
entity = eatees[i];
entity.draw(camera);
i++;
};
if (((sprite) && (onScreen))){
sprite.setShadow(hasShadow, shadowX, shadowY);
setNormalBlitColour();
sprite.setAdditiveColour(false);
sprite.setPosSep(pos.x, pos.y);
sprite.setAngle(angle);
sprite.setOverrideNonCopyDraw(beingEaten);
sprite.draw();
if (helperArrowAtUs > 0){
additiveAmount = 0.2;
sprite.setShadow(false, shadowX, shadowY);
spriteColor = entityDef.color.clone();
spriteColor.a = (spriteColor.a * (helperArrowAtUs * additiveAmount));
sprite.setAdditiveColour(true);
sprite.draw();
};
};
}
public function getEdibleGooArea():Number{
return (edibleGooArea);
}
public function targetDeleted(entity:Entity):void{
if (entity == null){
return;
};
var i:int;
var j:int;
var entityCount:EntityCount;
i = 0;
while (i < targets.length) {
entityCount = targets[i];
if (entity == entityCount.entity){
entityCount = null;
targets.splice(i, 1);
entity.removeTargeter(this);
j = 0;
while (j < controllers.length) {
controllers[j].targetDeleted(entity);
j++;
};
return;
};
i++;
};
assert(false);
}
public function setBiggerDim(aBiggerDim:Number):void{
biggerDim = aBiggerDim;
}
public function getDisplayArea():Number{
return (displayArea);
}
public function limitMaxSpeedSmooth(maxSpeed:Number):Boolean{
var speedDiff:Number;
var newSpeed:Number;
var slowDownRate:Number = 5;
var speed:Number = vel.length;
if (speed > (maxSpeed * 1.01)){
speedDiff = (speed - maxSpeed);
newSpeed = (speed - (((speedDiff + maxSpeed) * slowDownRate) * FlxG.elapsed));
if (newSpeed < maxSpeed){
newSpeed = maxSpeed;
};
vel.normalize(newSpeed);
return (true);
};
return (false);
}
public function eatEntity(entity:Entity):void{
var growAmount:Number;
var newArea:Number;
var newThrobArea:Number;
var earthArea:Number;
var timeMachineArea:Number;
if (((((((beingEaten) || (deleteMe))) || (entity.beingEaten))) || (entity.deleteMe))){
return;
};
if (gameWindow.asteroidLevel){
if (entity.entityDef.name == "asteroid2_future1"){
gameWindow.ateAsteroid = true;
gameWindow.playVictoryEffect(0);
};
if (entity.entityDef.name == "earth_future1"){
gameWindow.ateEarth = true;
};
} else {
if (gameWindow.timeMachineLevel){
if (entity.entityDef.name == "timemachine"){
gameWindow.ateTimeMachine = true;
};
};
};
entity.setBeingEaten(this);
eatees.push(entity);
if (entityDef.growEat){
growAmount = gameWindow.getGrowthRate();
newArea = (getActualArea() + (entity.getActualArea() * growAmount));
if (gameWindow.asteroidLevel){
if (entity.entityDef.name == "moon_future1"){
growAmount = 0.1;
};
};
newArea = (getActualArea() + (entity.getActualArea() * growAmount));
if (gameWindow.asteroidLevel){
earthArea = 45000;
if (newArea > earthArea){
newArea = earthArea;
};
} else {
if (gameWindow.timeMachineLevel){
timeMachineArea = 17000;
if (newArea > timeMachineArea){
newArea = timeMachineArea;
};
};
};
setActualArea(newArea);
newThrobArea = (getActualArea() + (entity.getActualArea() * 0.5));
if (newThrobArea > throbArea){
throbArea = newThrobArea;
};
};
lastEaten = 0;
}
public function getMatchAngleToVel():Boolean{
return (matchAngleToVel);
}
public function getRadius():Number{
return (radius);
}
public function updateIntersectionShapes():void{
var i:int;
var shape:DingoShape;
i = 0;
while (i < intersectionShapes.length) {
shape = intersectionShapes[i];
shape.setWorldPos(pos);
shape.setScale(width);
shape.setAngle(angle);
shape.computeAbs();
i++;
};
}
public function setVelComp(aVelX:Number, aVelY:Number):void{
vel.x = aVelX;
vel.y = aVelY;
}
public function collisionReaction(otherEntity:Entity):void{
if ((((((entityDef == null)) || (beingEaten))) || (deleteMe))){
return;
};
var effect:int = getCollisionEffect(otherEntity);
if (effect == Reaction.NONE){
} else {
if (effect == Reaction.EAT){
eatEntity(otherEntity);
} else {
if (effect == Reaction.BOUNCE){
bounce(otherEntity);
} else {
if (effect == Reaction.SLIDE){
slide(otherEntity);
} else {
if (effect == Reaction.DAMAGE){
damageEntity(otherEntity);
} else {
if (effect == Reaction.DESTROY_SELF){
destroySelf();
} else {
if (effect == Reaction.DAMAGE_DESTROY_SELF){
damageEntity(otherEntity);
destroySelf();
} else {
assert(false);
};
};
};
};
};
};
};
}
public function getController(i:int):EntityController{
return (controllers[i]);
}
public function addTarget(entity:Entity):void{
if (entity == null){
return;
};
var i:int;
var entityCount:EntityCount;
i = 0;
while (i < targets.length) {
entityCount = targets[i];
if (entity == entityCount.entity){
entityCount.count++;
return;
};
i++;
};
entityCount = new EntityCount();
entityCount.entity = entity;
entityCount.count = 1;
targets.push(entityCount);
entity.addTargeter(this);
}
public function setAngle(anAngle:Number):void{
var oldCenter:Point;
var newCenter:Point;
if (entityDef.hasCenterOffsetX){
oldCenter = Point.polar((entityDef.centerOffsetX * width), -(Utilities.degToRad(angle)));
newCenter = Point.polar((entityDef.centerOffsetX * width), -(Utilities.degToRad(anAngle)));
pos.x = (pos.x - (newCenter.x - oldCenter.x));
pos.y = (pos.y - (newCenter.y - oldCenter.y));
};
angle = anAngle;
}
public function emitDamageParticles(damager:Entity, damageAmount:Number):void{
var speed:Number;
var color:Color;
var damagerDir:Point = new Point();
damagerDir.x = (damager.pos.x - pos.x);
damagerDir.y = (damager.pos.y - pos.y);
var emitDir:Number = Utilities.angleOfPoint(damagerDir);
damagerDir.normalize((width * 0.4));
var emitPoint:Point = pos.add(damagerDir);
var pe:ParticleEngine = gameWindow.getParticleEngine();
var particleSizeScale:Number = 7;
var DAMAGE_SCALE:Number = 2;
var pWidth:Number = ((Math.sqrt((damageAmount * DAMAGE_SCALE)) * particleSizeScale) * 0.2);
var speedScale:Number = (Math.sqrt((damageAmount * DAMAGE_SCALE)) * particleSizeScale);
var numEatenParticles = 10;
var p:Particle;
var particleIndex:int;
while (particleIndex < numEatenParticles) {
p = pe.popInactive();
if (p){
p.setCellNum(5);
p.pos = emitPoint.clone();
speed = Utilities.randomDouble((0.2 * speedScale), (1 * speedScale));
p.vel = Point.polar(speed, -(Utilities.degToRad(Utilities.randomAngle(emitDir, 45))));
p.angle = Utilities.randomDouble(0, 360);
color = getDamageParticleColour();
p.color.r = color.r;
p.color.g = color.g;
p.color.b = color.b;
p.color.a = color.a;
p.width = pWidth;
p.lifeLength = 0.5;
pe.pushActive(p);
};
particleIndex++;
};
}
public function checkIntersection(otherEntity:Entity):Boolean{
if (((((((beingEaten) || (deleteMe))) || (otherEntity.getBeingEaten()))) || (otherEntity.getDeleteMe()))){
return (false);
};
var dist:Number = pos.subtract(otherEntity.pos).length;
var totalIntersectRadius:Number = (radius + otherEntity.getRadius());
if (dist > totalIntersectRadius){
return (false);
};
var i:int;
var j:int;
var iShape:DingoShape;
var jShape:DingoShape;
i = 0;
while (i < intersectionShapes.length) {
iShape = intersectionShapes[i];
j = 0;
while (j < otherEntity.intersectionShapes.length) {
jShape = otherEntity.intersectionShapes[j];
if (iShape.intersect(jShape)){
return (true);
};
j++;
};
i++;
};
return (false);
}
public function getDamageParticleColour():Color{
return (effectColor);
}
public function slide(entity:Entity):void{
var otherVel:Point;
if (collisionPosReactionThisFrame == false){
return;
};
var cancelVecAngle:Number = 0;
if (correctIntersection(entity)){
cancelVecAngle = tempNormalIntersect;
otherVel = entity.vel.clone();
vel = Point.polar(vel.length, -(Utilities.degToRad((Utilities.angleOfPoint(vel) - cancelVecAngle))));
otherVel = Point.polar(otherVel.length, -(Utilities.degToRad((Utilities.angleOfPoint(otherVel) - cancelVecAngle))));
if (vel.x < otherVel.x){
vel.x = otherVel.x;
};
vel = Point.polar(vel.length, -(Utilities.degToRad((Utilities.angleOfPoint(vel) + cancelVecAngle))));
};
}
public function getSprite():DingoSprite{
return (sprite);
}
public function addTargeter(entity:Entity):void{
if (entity == null){
return;
};
targeters.push(entity);
}
public function checkRoughIntersection(otherEntity:Entity):Boolean{
var dist:Number = pos.subtract(otherEntity.pos).length;
var totalIntersectRadius:Number = (radius + otherEntity.getRadius());
if (dist > totalIntersectRadius){
return (false);
};
return (true);
}
public function setSprite(aSprite:DingoSprite):void{
sprite = null;
sprite = aSprite;
}
public function updateEntityBeingEaten():void{
var eatTime:Number;
var ratioEaten:Number;
var ratioUneaten:Number;
var eatenDustAfter:Number;
if (((beingEaten) && (!(deleteMe)))){
eatingTime = (eatingTime + FlxG.elapsed);
eatTime = 0.5;
ratioEaten = (eatingTime / eatTime);
ratioEaten = Utilities.getClampDouble(ratioEaten, 0.0001, 0.9999);
ratioUneaten = (1 - ratioEaten);
setActualArea((beforeEatenArea * ratioUneaten));
setDisplayArea((beforeEatenArea * ratioUneaten), false);
if (eater){
pos = eater.pos.add(new Point((beforeEatenPosRel.x * ratioUneaten), (beforeEatenPosRel.y * ratioUneaten)));
};
eatenDustAfter = 0.3;
if ((((ratioEaten > eatenDustAfter)) && (!(emittedEatenDust)))){
emitEatenParticles();
};
if (eatingTime >= eatTime){
setDeleteMe();
};
};
}
public function removeEatee(anEatee:Entity):void{
var i:int;
var entity:Entity;
i = 0;
while (i < eatees.length) {
entity = eatees[i];
if (anEatee == entity){
eatees.splice(i, 1);
return;
};
i++;
};
}
public function goToPos(dest:Point, maxSpeed:Number, accelMag:Number):void{
var newVel:Point;
var accel:Point;
var angDiff:Number;
var spriteTurnRadius:Number;
var speed:Number;
var turnSpeed:Number;
dest.x = (dest.x - pos.x);
dest.y = (dest.y - pos.y);
var dt:Number = FlxG.elapsed;
var speedLimited:Boolean = limitMaxSpeedSmooth(maxSpeed);
if (getDirectedTravel()){
angDiff = Utilities.angleDifference(Utilities.angleOfPoint(dest), getAngle());
if (moveToTurn){
spriteTurnRadius = (turnRadius * height);
speed = vel.length;
turnSpeed = ((360 * speed) / ((2 * 3.14) * spriteTurnRadius));
turnSpeed = (turnSpeed + moveToTurnExtra);
turnToAngle(Utilities.angleOfPoint(dest), 1000, turnSpeed);
accel = vel.clone();
accel.normalize(accelMag);
newVel = vel.add(new Point((accel.x * dt), (accel.y * dt)));
if (newVel.length > maxSpeed){
newVel.normalize(maxSpeed);
};
setVel(newVel);
} else {
turnToAngle(Utilities.angleOfPoint(dest), 500, maxAngularVel);
if (Math.abs(angDiff) < 25){
accel = Point.polar(accelMag, -(Utilities.degToRad(destAngle)));
newVel = vel.add(new Point((accel.x * dt), (accel.y * dt)));
if (((!(speedLimited)) && ((newVel.length > maxSpeed)))){
newVel.normalize(maxSpeed);
};
setVel(newVel);
} else {
if (Math.abs(angDiff) < 120){
accel = Point.polar((accelMag * 0.3), -(Utilities.degToRad(destAngle)));
newVel = vel.add(new Point((accel.x * dt), (accel.y * dt)));
if (((!(speedLimited)) && ((newVel.length > (maxSpeed * 0.3))))){
newVel.normalize((maxSpeed * 0.3));
};
setVel(newVel);
} else {
if (((!(speedLimited)) && ((vel.length > maxSpeed)))){
vel.normalize(maxSpeed);
};
};
};
};
} else {
dest.normalize(1);
newVel = vel.add(new Point(((dest.x * accelMag) * dt), ((dest.y * accelMag) * dt)));
if (newVel.length > maxSpeed){
newVel.normalize(maxSpeed);
};
setVel(newVel);
};
}
public function setVel(aVel:Point):void{
vel = aVel;
}
public function removeEater(anEater:Entity):void{
eater = null;
}
public function playEatenSound():void{
var volume:Number;
var pan:Number;
if (entityDef.eatenSound){
volume = 1;
pan = 1;
getVolumePan();
volume = tempVolume;
pan = tempPan;
entityDef.eatenSound.play(volume, pan);
};
}
public function setFracDamageMax(aFracDamageMax:Number):void{
fracDamageMax = aFracDamageMax;
}
public function setNormalBlitColour():void{
sprite.setBlitColour(entityDef.color);
}
public function turnToAngle(aDestAngle:Number, anAngularAccel:Number, aMaxAngularVel:Number):void{
hasDestAngle = true;
destAngle = aDestAngle;
angularAccel = anAngularAccel;
maxAngularVel = aMaxAngularVel;
}
public function setSpecial(aSpecial:Boolean):void{
special = aSpecial;
}
public function getSlowAnimSpeed():Number{
return (slowAnimSpeed);
}
}
}//package
Section 180
//EntityController (EntityController)
package {
import org.flixel.*;
public class EntityController {
public var gameWindow:GameWindow;// = null
public var entityEngine:EntityEngine;// = null
public var firstControllerActive:Boolean;// = false
public var priority:Number;// = 0
public var firstAffectDist:Number;// = 0
public var first:Boolean;// = false
public var affectDist:Number;// = 0
public var entity:Entity;// = null
public var dontAffectEntities:Array;
public var accel:Number;// = 0
public var updatePeriod:Number;// = 0
public var firstPriority:Number;// = 0
public var controllerType:int;// = -1
public var affectEntities:Array;
public var lastUpdate:Number;// = 0
public function EntityController(aGameWindow:GameWindow, anEntityEngine:EntityEngine){
affectEntities = new Array();
dontAffectEntities = new Array();
super();
gameWindow = aGameWindow;
entityEngine = anEntityEngine;
}
public function getControllerType():int{
return (controllerType);
}
public function getEntityEngine():EntityEngine{
return (entityEngine);
}
public function addAffectEntity(affectEntity:AffectEntity):void{
affectEntities.push(affectEntity);
}
public function getPriority():Number{
return (priority);
}
public function setAccel(anAccel:Number):void{
accel = anAccel;
}
public function setPriority(aPriority:Number):void{
if (aPriority >= 0){
priority = aPriority;
};
}
public function setFirstPriority(aFirstPriority:Number):void{
if (aFirstPriority >= 0){
firstPriority = aFirstPriority;
};
}
public function updateSelf():void{
}
public function playIdleAnimation():void{
var idleAnimationExists = !((entity.getEntityDef().animationDef == null));
var currentAnimIsIdle:Boolean = (((entity.getAnimationDef() == entity.getEntityDef().animationDef)) && (!((entity.getAnimationDef() == null))));
if (currentAnimIsIdle){
return;
};
if (idleAnimationExists){
entity.getSprite().playAnimation(entity.getEntityDef().animationDef);
} else {
entity.getSprite().removeCurrentAnimation();
};
}
public function isFirst():Boolean{
return (first);
}
public function getEffectivePriority():Number{
if (firstControllerActive){
return (firstPriority);
};
return (priority);
}
public function update(aFirstControllerActive:Boolean):void{
firstControllerActive = aFirstControllerActive;
if (((((firstControllerActive) && (!(first)))) && ((firstPriority <= 0)))){
return;
};
lastUpdate = (lastUpdate + FlxG.elapsed);
if (lastUpdate >= updatePeriod){
lastUpdate = 0;
updateSelf();
};
}
public function addDontAffectEntity(dontAffectEntity:AffectEntity):void{
dontAffectEntities.push(dontAffectEntity);
}
public function targetDeleted(deletedTarget:Entity):void{
}
public function doControl():void{
var slowSpeed:Number;
var fastSpeed:Number;
var speed:Number;
if (((!(entity.animationDone())) && ((entity.getAnimationDef() == entity.getEntityDef().attackAnimationDef)))){
} else {
slowSpeed = entity.getSlowAnimSpeed();
fastSpeed = entity.getFastAnimSpeed();
speed = entity.vel.length;
if (speed < slowSpeed){
playIdleAnimation();
} else {
if (speed < fastSpeed){
playSlowMoveAnimation();
} else {
playFastMoveAnimation();
};
};
};
}
public function affectEntity(affEntity:Entity):Boolean{
var ae:AffectEntity;
var dae:AffectEntity;
var affect:Boolean;
var i:int;
i = 0;
while (i < affectEntities.length) {
ae = affectEntities[i];
if (ae.affect(entity, affEntity)){
affect = true;
break;
};
i++;
};
if (affect){
i = 0;
while (i < dontAffectEntities.length) {
dae = dontAffectEntities[i];
if (dae.affect(entity, affEntity)){
affect = false;
break;
};
i++;
};
};
return (affect);
}
public function getEntity():Entity{
return (entity);
}
public function setAffectDist(anAffectDist:Number):void{
if (anAffectDist >= 0){
affectDist = anAffectDist;
};
}
public function playSlowMoveAnimation():void{
var idleAnimationExists = !((entity.getEntityDef().animationDef == null));
var slowAnimationExists = !((entity.getEntityDef().moveSlowAnimationDef == null));
var currentAnimIsIdle:Boolean = (((entity.getAnimationDef() == entity.getEntityDef().animationDef)) && (!((entity.getAnimationDef() == null))));
var currentAnimIsSlow:Boolean = (((entity.getAnimationDef() == entity.getEntityDef().moveSlowAnimationDef)) && (!((entity.getAnimationDef() == null))));
if (slowAnimationExists){
if (currentAnimIsSlow){
return;
};
entity.getSprite().playAnimation(entity.getEntityDef().moveSlowAnimationDef);
} else {
if (idleAnimationExists){
if (currentAnimIsIdle){
return;
};
entity.getSprite().playAnimation(entity.getEntityDef().animationDef);
} else {
entity.getSprite().removeCurrentAnimation();
};
};
}
public function setEntity(anEntity:Entity):void{
entity = anEntity;
}
public function setFirstAffectDist(aFirstAffectDist:Number):void{
if (aFirstAffectDist >= 0){
firstAffectDist = aFirstAffectDist;
};
}
public function setUpdatePeriod(anUpdatePeriod:Number):void{
updatePeriod = anUpdatePeriod;
lastUpdate = updatePeriod;
}
public function setFirst(aFirst:Boolean):void{
first = aFirst;
}
public function playFastMoveAnimation():void{
var idleAnimationExists = !((entity.getEntityDef().animationDef == null));
var slowAnimationExists = !((entity.getEntityDef().moveSlowAnimationDef == null));
var fastAnimationExists = !((entity.getEntityDef().moveFastAnimationDef == null));
var currentAnimIsIdle:Boolean = (((entity.getAnimationDef() == entity.getEntityDef().animationDef)) && (!((entity.getAnimationDef() == null))));
var currentAnimIsSlow:Boolean = (((entity.getAnimationDef() == entity.getEntityDef().moveSlowAnimationDef)) && (!((entity.getAnimationDef() == null))));
var currentAnimIsFast:Boolean = (((entity.getAnimationDef() == entity.getEntityDef().moveFastAnimationDef)) && (!((entity.getAnimationDef() == null))));
if (fastAnimationExists){
if (currentAnimIsFast){
return;
};
entity.getSprite().playAnimation(entity.getEntityDef().moveFastAnimationDef);
} else {
if (slowAnimationExists){
if (currentAnimIsSlow){
return;
};
entity.getSprite().playAnimation(entity.getEntityDef().moveSlowAnimationDef);
} else {
if (idleAnimationExists){
if (currentAnimIsIdle){
return;
};
entity.getSprite().playAnimation(entity.getEntityDef().animationDef);
} else {
entity.getSprite().removeCurrentAnimation();
};
};
};
}
public function getEffectiveAffectDistance():Number{
if (firstControllerActive){
return (firstAffectDist);
};
return (affectDist);
}
}
}//package
Section 181
//EntityCount (EntityCount)
package {
public class EntityCount {
public var entity:Entity;// = null
public var count:int;// = 0
public function EntityCount(){
super();
}
}
}//package
Section 182
//EntityDef (EntityDef)
package {
import flash.display.*;
import flash.geom.*;
import org.flixel.*;
public final class EntityDef {
public var deadly:Boolean;// = false
public var directedTravel:Boolean;// = false
public var lifeLength:Number;// = 0
public var eatenSound:DingoSoundEffect;// = null
public var centerOffsetX:Number;// = 0
public var wobble:Boolean;// = false
public var name:String;// = "none"
public var aspectRatio:Number;// = 1
public var areaCoverage:Number;// = 1
public var hasCenterOffsetX:Boolean;// = false
public var attackSound:DingoSoundEffect;// = null
public var eatOnDeadly:Boolean;// = false
public var dingoImage:DingoImage;// = null
public var drawUsingFloat:Boolean;// = true
public var newtonTravel:Boolean;// = false
public var matchAngleToVel:Boolean;// = false
public var specialDiameterMult:Number;// = -1
public var displayImage:BitmapData;// = null
public var hasLifeLength:Boolean;// = false
public var growEat:Boolean;// = false
public var moveToTurnExtra:Number;// = 0
public var normalDeathExplosion:Boolean;// = false
public var attackAnimationDef:AnimationDef;// = null
public var loopSound:DingoSoundEffectLoop;// = null
public var moveFastAnimationDef:AnimationDef;// = null
public var moveToTurn:Boolean;// = false
public var normalDeathSound:DingoSoundEffect;// = null
public var smoothTurn:Boolean;// = false
public var effectColor:Color;
public var intersectionShapes:Array;
public var maxAngularVel:Number;// = 360
public var damageSound:DingoSoundEffect;// = null
public var color:Color;
public var animationDef:AnimationDef;// = null
public var reactShape:int;
public var reactions:Array;
public var displayName:String;// = "none"
public var gooReactionOnly:Boolean;// = false
public var staticEntity:Boolean;// = false
public var moveSlowAnimationDef:AnimationDef;// = null
public var gooHelperArrow:Boolean;// = true
public var firstLoopSound:DingoSoundEffectLoop;// = null
public var turnRadius:Number;// = 1
public static var CIRCLE:int = 0;
public static var RECT:int = 1;
public function EntityDef():void{
reactShape = CIRCLE;
color = new Color(1, 1, 1, 1);
effectColor = new Color(1, 1, 1, 1);
intersectionShapes = new Array();
reactions = new Array();
super();
}
public function createNewEntity(gameWindow:GameWindow):Entity{
return (new Entity(this, gameWindow));
}
public function switchToDeadly(aDeadly:Boolean):void{
var i:int;
var reaction:Reaction;
if (aDeadly != deadly){
deadly = aDeadly;
if (eatOnDeadly){
i = 0;
while (i < reactions.length) {
reaction = reactions[i];
if (reaction.entityDefString == "greygoo"){
if (deadly){
if (reaction.effect == Reaction.DAMAGE){
reaction.effect = Reaction.EAT;
};
} else {
if (reaction.effect == Reaction.EAT){
reaction.effect = Reaction.DAMAGE;
};
};
};
i++;
};
};
};
}
public function readXML(entityDefXML:XML):void{
var next:XML;
var nextValue:String;
var nextShape:XML;
var shapeName:String;
var posx:Number;
var posy:Number;
var radius:Number;
var circle:DingoCircle;
var x1:Number;
var y1:Number;
var x2:Number;
var y2:Number;
var aaRect:DingoAARect;
var width:Number;
var height:Number;
var angle:Number;
var rect:DingoRotRect;
var reaction:Reaction;
name = entityDefXML.attribute("name");
displayName = entityDefXML.attribute("displayname");
var displayImageName:String = entityDefXML.attribute("dispimage");
if (displayImageName != ""){
displayImage = ResourceManager.getInstance().getBitmapDataMasked(displayImageName);
};
var imageName:String = entityDefXML.attribute("imagemap");
if (imageName != ""){
dingoImage = ResourceManager.getInstance().getDingoImage(imageName);
};
var animationDefName:String = entityDefXML.attribute("animationdef");
if (animationDefName != ""){
animationDef = AnimationDefs.getInstance().get(animationDefName);
};
var moveSlowAnimationDefName:String = entityDefXML.attribute("moveslowanimation");
if (moveSlowAnimationDefName != ""){
moveSlowAnimationDef = AnimationDefs.getInstance().get(moveSlowAnimationDefName);
};
var moveFastAnimationDefName:String = entityDefXML.attribute("movefastanimation");
if (moveFastAnimationDefName != ""){
moveFastAnimationDef = AnimationDefs.getInstance().get(moveFastAnimationDefName);
};
var attackAnimationDefName:String = entityDefXML.attribute("attackanimation");
if (attackAnimationDefName != ""){
attackAnimationDef = AnimationDefs.getInstance().get(attackAnimationDefName);
};
var eatenSoundName:String = entityDefXML.attribute("eatensound");
if (eatenSoundName != ""){
eatenSound = SoundEffectSystem.getInstance().getSoundEffect(eatenSoundName);
};
var attackSoundName:String = entityDefXML.attribute("attacksound");
if (attackSoundName != ""){
attackSound = SoundEffectSystem.getInstance().getSoundEffect(attackSoundName);
};
var damageSoundName:String = entityDefXML.attribute("damagesound");
if (damageSoundName != ""){
damageSound = SoundEffectSystem.getInstance().getSoundEffect(damageSoundName);
};
var loopSoundName:String = entityDefXML.attribute("loopsound");
if (loopSoundName != ""){
loopSound = SoundEffectSystem.getInstance().getSoundEffectLoop(loopSoundName);
};
var firstLoopSoundName:String = entityDefXML.attribute("firstloopsound");
if (firstLoopSoundName != ""){
firstLoopSound = SoundEffectSystem.getInstance().getSoundEffectLoop(firstLoopSoundName);
};
if (entityDefXML.attribute("groweat") != undefined){
growEat = Utilities.XMLListToBoolean(entityDefXML.attribute("groweat"));
};
if (entityDefXML.attribute("wobble") != undefined){
wobble = Utilities.XMLListToBoolean(entityDefXML.attribute("wobble"));
};
if (entityDefXML.attribute("aspectratio") != undefined){
aspectRatio = entityDefXML.attribute("aspectratio");
};
if (entityDefXML.attribute("areacoverage") != undefined){
areaCoverage = entityDefXML.attribute("areacoverage");
};
if (entityDefXML.attribute("static") != undefined){
staticEntity = entityDefXML.attribute("static");
};
if (entityDefXML.attribute("specialdiam") != undefined){
specialDiameterMult = entityDefXML.attribute("specialdiam");
};
if (entityDefXML.attribute("lifelength") != undefined){
lifeLength = entityDefXML.attribute("lifelength");
};
if (entityDefXML.attribute("directedtravel") != undefined){
directedTravel = Utilities.XMLListToBoolean(entityDefXML.attribute("directedtravel"));
};
if (entityDefXML.attribute("newtontravel") != undefined){
newtonTravel = Utilities.XMLListToBoolean(entityDefXML.attribute("newtontravel"));
};
if (entityDefXML.attribute("movetoturn") != undefined){
moveToTurn = Utilities.XMLListToBoolean(entityDefXML.attribute("movetoturn"));
};
if (entityDefXML.attribute("matchangletovel") != undefined){
matchAngleToVel = Utilities.XMLListToBoolean(entityDefXML.attribute("matchangletovel"));
};
var reactShapeString:String = entityDefXML.attribute("reactshape");
if (reactShapeString == "circle"){
reactShape = CIRCLE;
} else {
if (reactShapeString == "rect"){
reactShape = RECT;
};
};
if (entityDefXML.attribute("centeroffsetx") != undefined){
centerOffsetX = entityDefXML.attribute("centeroffsetx");
hasCenterOffsetX = true;
};
if (entityDefXML.attribute("drawfloat") != undefined){
drawUsingFloat = entityDefXML.attribute("drawfloat");
};
if (entityDefXML.attribute("turnradius") != undefined){
turnRadius = entityDefXML.attribute("turnradius");
};
if (entityDefXML.attribute("movetoturnextra") != undefined){
moveToTurnExtra = entityDefXML.attribute("movetoturnextra");
};
if (entityDefXML.attribute("maxangularvel") != undefined){
maxAngularVel = entityDefXML.attribute("maxangularvel");
};
if (entityDefXML.attribute("smoothturn") != undefined){
smoothTurn = Utilities.XMLListToBoolean(entityDefXML.attribute("smoothturn"));
};
if (entityDefXML.attribute("normaldeathexplosion") != undefined){
normalDeathExplosion = Utilities.XMLListToBoolean(entityDefXML.attribute("normaldeathexplosion"));
};
if (entityDefXML.attribute("eatondeadly") != undefined){
eatOnDeadly = Utilities.XMLListToBoolean(entityDefXML.attribute("eatondeadly"));
};
if (entityDefXML.attribute("r") != undefined){
color.r = entityDefXML.attribute("r");
};
if (entityDefXML.attribute("g") != undefined){
color.g = entityDefXML.attribute("g");
};
if (entityDefXML.attribute("b") != undefined){
color.b = entityDefXML.attribute("b");
};
if (entityDefXML.attribute("a") != undefined){
color.a = entityDefXML.attribute("a");
};
if (entityDefXML.attribute("effectr") != undefined){
effectColor.r = entityDefXML.attribute("effectr");
};
if (entityDefXML.attribute("effectg") != undefined){
effectColor.g = entityDefXML.attribute("effectg");
};
if (entityDefXML.attribute("effectb") != undefined){
effectColor.b = entityDefXML.attribute("effectb");
};
if (entityDefXML.attribute("effecta") != undefined){
effectColor.a = entityDefXML.attribute("effecta");
};
if (entityDefXML.attribute("gooreactiononly") != undefined){
gooReactionOnly = Utilities.XMLListToBoolean(entityDefXML.attribute("gooreactiononly"));
};
var normalDeathSoundName:String = "";
if (normalDeathExplosion){
normalDeathSoundName = "explosion";
} else {
normalDeathSoundName = eatenSoundName;
};
if (normalDeathSoundName != ""){
normalDeathSound = SoundEffectSystem.getInstance().getSoundEffect(normalDeathSoundName);
};
for each (next in entityDefXML.children()) {
nextValue = next.name();
if (nextValue == "intersectionshapes"){
for each (nextShape in next.children()) {
shapeName = nextShape.name();
posx = 1;
posy = 1;
if (shapeName == "circle"){
posx = 0;
posy = 0;
radius = 0.5;
if (nextShape.attribute("posx") != undefined){
posx = nextShape.attribute("posx");
};
if (nextShape.attribute("posy") != undefined){
posy = nextShape.attribute("posy");
};
if (nextShape.attribute("radius") != undefined){
radius = nextShape.attribute("radius");
};
circle = new DingoCircle(new Point(posx, posy), radius);
intersectionShapes.push(circle);
} else {
if (shapeName == "aarect"){
posx = 1;
posy = 1;
x1 = -0.5;
y1 = -0.5;
x2 = 0.5;
y2 = 0.5;
if (nextShape.attribute("posx") != undefined){
posx = nextShape.attribute("posx");
};
if (nextShape.attribute("posy") != undefined){
posy = nextShape.attribute("posy");
};
if (nextShape.attribute("x1") != undefined){
x1 = nextShape.attribute("x1");
};
if (nextShape.attribute("y1") != undefined){
y1 = nextShape.attribute("y1");
};
if (nextShape.attribute("x2") != undefined){
x2 = nextShape.attribute("x2");
};
if (nextShape.attribute("y2") != undefined){
y2 = nextShape.attribute("y2");
};
aaRect = new DingoAARect(new Point(posx, posy), x1, y1, x2, y2);
intersectionShapes.push(aaRect);
} else {
if (shapeName == "rotrect"){
posx = 0;
posy = 0;
width = 1;
height = 1;
angle = 0;
if (nextShape.attribute("posx") != undefined){
posx = nextShape.attribute("posx");
};
if (nextShape.attribute("posy") != undefined){
posy = nextShape.attribute("posy");
};
if (nextShape.attribute("width") != undefined){
width = nextShape.attribute("width");
};
if (nextShape.attribute("height") != undefined){
height = nextShape.attribute("height");
};
if (nextShape.attribute("angle") != undefined){
angle = nextShape.attribute("angle");
};
rect = new DingoRotRect(new Point(posx, posy), width, height, angle);
intersectionShapes.push(rect);
};
};
};
};
} else {
if (nextValue == "reaction"){
reaction = new Reaction();
reaction.readXML(next);
reactions.push(reaction);
};
};
};
}
}
}//package
Section 183
//EntityDefs (EntityDefs)
package {
import flash.display.*;
import flash.utils.*;
public final class EntityDefs {
protected const entityDefsXML:Class;
public var deadly:Boolean;// = false
public var entityDefs:Array;
private static var instance:EntityDefs;
public function EntityDefs():void{
entityDefs = new Array();
entityDefsXML = EntityDefs_entityDefsXML;
super();
readXML();
switchToDeadly(Utilities.hardModeOn);
}
public function switchToDeadly(aDeadly:Boolean):void{
var entityDef:EntityDef;
if (aDeadly != deadly){
deadly = aDeadly;
for each (entityDef in entityDefs) {
entityDef.switchToDeadly(deadly);
};
};
}
public function getEntityDef(entityDefName:String):EntityDef{
return (entityDefs[entityDefName]);
}
public function readXML():void{
var entityDef:EntityDef;
var reaction:Reaction;
var entityDefXML:XML;
var gooDef:EntityDef;
var j:int;
var file:ByteArray = new entityDefsXML();
var str:String = file.readUTFBytes(file.length);
var xml:XML = new XML(str);
for each (entityDefXML in xml.children()) {
entityDef = new EntityDef();
entityDef.readXML(entityDefXML);
entityDefs[entityDef.name] = entityDef;
};
for each (entityDef in entityDefs) {
gooDef = entityDefs["greygoo"];
j = 0;
j = 0;
while (j < entityDef.reactions.length) {
reaction = entityDef.reactions[j];
reaction.setEntityDefFromString(entityDefs);
if (entityDef == gooDef){
if (reaction.entityDef){
if ((((((reaction.condition == Condition.ALL)) || ((reaction.condition == Condition.SMALLER)))) || ((reaction.condition == Condition.SMALLER_EQUAL)))){
if (reaction.effect != Reaction.EAT){
reaction.entityDef.gooHelperArrow = false;
};
};
};
};
j++;
};
};
}
public static function instanceExists():Boolean{
if (instance == null){
return (false);
};
return (true);
}
public static function getInstance():EntityDefs{
if (instance == null){
instance = new (EntityDefs);
};
return (instance);
}
}
}//package
Section 184
//EntityDefs_entityDefsXML (EntityDefs_entityDefsXML)
package {
import mx.core.*;
public class EntityDefs_entityDefsXML extends ByteArrayAsset {
}
}//package
Section 185
//EntityEmitter (EntityEmitter)
package {
import org.flixel.*;
public class EntityEmitter {
public var absDamage:Number;// = 0
public var entityEngine:EntityEngine;// = null
public var minArea:Number;// = 0
public var controllerVarsVec:Array;
public var maxArea:Number;// = 0
public var fracDamageMin:Number;// = 0
public var timeSinceLastEmit:Number;// = 1000
public var scheduledTimes:Array;
public var scheduledEmit:Boolean;// = false
public var angleVelPosOrNeg:Boolean;// = false
public var fracDamageMax:Number;// = 0
public var entityDef:EntityDef;// = null
public var slowAnimSpeed:Number;
public var shadowX:int;// = 0
public var special:Boolean;// = false
public var fastAnimSpeed:Number;
public var randomEmit:Boolean;// = false
public var shadowY:int;// = 0
public var time:Number;// = 0
public var emitsPerSecond:Number;// = 0
public var angle:Number;// = 0
public var drawEntity:Entity;// = null
public var randDirections:int;// = 0
public var hasShadow:Boolean;// = false
public var angularVel:Number;// = 0
public var nextEmitTime:Number;// = 1000
public var angleVariance:Number;// = 0
public var minEmitPeriod:Number;// = 0
public var shotEmitNum:int;// = -1
public var angularVelVariance:Number;// = 0
public var maxLive:int;// = 200
public var maxEmitPeriod:Number;// = 0
public var totalLiveEmitted:int;// = 0
public function EntityEmitter(anEntityEngine:EntityEngine):void{
controllerVarsVec = new Array();
slowAnimSpeed = Utilities.scaleDist(5);
fastAnimSpeed = Utilities.scaleDist(75);
scheduledTimes = new Array();
super();
entityEngine = anEntityEngine;
}
public function isRandomEmit():Boolean{
return (randomEmit);
}
public function setEntitySize(aMinArea:Number, aMaxArea:Number):void{
minArea = aMinArea;
maxArea = aMaxArea;
}
public function getScheduledEmitsLeft():int{
return (scheduledTimes.length);
}
protected function createEntityAndController():Entity{
var entity:Entity = createEntity();
createControllers(entity);
entityEngine.addEntity(entity);
return (entity);
}
protected function createEntity():Entity{
var singleDirectionAngle:Number;
var entity:Entity;
entity = entityDef.createNewEntity(entityEngine.gameWindow);
var randSize:Number = Utilities.randomDouble(minArea, maxArea);
entity.setActualArea(randSize);
entity.setDisplayArea(randSize);
entity.setSlowAnimSpeed(slowAnimSpeed);
entity.setFastAnimSpeed(fastAnimSpeed);
entity.setAbsDamage(absDamage);
entity.setFracDamageMin(fracDamageMin);
entity.setFracDamageMax(fracDamageMax);
entity.setSpecial(special);
var randAngle:Number = Utilities.randomDouble((angle - angleVariance), (angle + angleVariance));
entity.setAngle(randAngle);
var randAngleVel:Number = Utilities.randomDouble((angularVel - angularVelVariance), (angularVel + angularVelVariance));
if (((angleVelPosOrNeg) && (Utilities.randomBoolean()))){
randAngleVel = -(randAngleVel);
};
entity.setAngularVel(randAngleVel);
if (randDirections > 1){
singleDirectionAngle = (360 / randDirections);
randAngle = Utilities.randomInt(0, randDirections);
randAngle = (randAngle * singleDirectionAngle);
entity.setAngle(randAngle);
};
entity.setShadow(hasShadow, shadowX, shadowY);
totalLiveEmitted++;
entity.setEmitter(this);
return (entity);
}
public function readXML(timeAttack:Boolean, emitterEl:XML):void{
var emitChildEl:XML;
var value:String;
var rate:Number;
var scheduledEl:XML;
var emitTime:Number;
var pathPos:Number;
var controllerVars:ControllerVars;
var controllerTypeS:String;
var contChildEl:XML;
var contChildValue:String;
var ae:AffectEntity;
var path:Path;
var pairEl:XML;
var splinePair:SplinePair;
var entityDefS:String = emitterEl.attribute("entitydef");
entityDef = EntityDefs.getInstance().getEntityDef(entityDefS);
if (Level.hasLevelAttribute(timeAttack, emitterEl, "minarea")){
minArea = Number(Level.queryLevelAttribute(timeAttack, emitterEl, "minarea"));
minArea = Utilities.scaleArea(minArea);
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "maxarea")){
maxArea = Number(Level.queryLevelAttribute(timeAttack, emitterEl, "maxarea"));
maxArea = Utilities.scaleArea(maxArea);
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "slowanimspeed")){
slowAnimSpeed = Number(Level.queryLevelAttribute(timeAttack, emitterEl, "slowanimspeed"));
slowAnimSpeed = Utilities.scaleDist(slowAnimSpeed);
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "fastanimspeed")){
fastAnimSpeed = Number(Level.queryLevelAttribute(timeAttack, emitterEl, "fastanimspeed"));
fastAnimSpeed = Utilities.scaleDist(fastAnimSpeed);
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "angle")){
angle = Number(Level.queryLevelAttribute(timeAttack, emitterEl, "angle"));
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "anglevariance")){
angleVariance = Number(Level.queryLevelAttribute(timeAttack, emitterEl, "anglevariance"));
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "anglevelposorneg")){
angleVelPosOrNeg = Utilities.XMLListToBoolean(Level.queryLevelAttribute(timeAttack, emitterEl, "anglevelposorneg"));
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "randdirections")){
randDirections = Number(Level.queryLevelAttribute(timeAttack, emitterEl, "randdirections"));
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "angularvel")){
angularVel = Number(Level.queryLevelAttribute(timeAttack, emitterEl, "angularvel"));
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "angularvelvariance")){
angularVelVariance = Number(Level.queryLevelAttribute(timeAttack, emitterEl, "angularvelvariance"));
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "maxlive")){
maxLive = int(Level.queryLevelAttribute(timeAttack, emitterEl, "maxlive"));
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "minemitperiod")){
minEmitPeriod = Number(Level.queryLevelAttribute(timeAttack, emitterEl, "minemitperiod"));
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "maxemitperiod")){
maxEmitPeriod = Number(Level.queryLevelAttribute(timeAttack, emitterEl, "maxemitperiod"));
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "shadowx")){
shadowX = int(Level.queryLevelAttribute(timeAttack, emitterEl, "shadowx"));
shadowX = Utilities.scaleDistRound(shadowX);
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "shadowy")){
shadowY = int(Level.queryLevelAttribute(timeAttack, emitterEl, "shadowy"));
shadowY = Utilities.scaleDistRound(shadowY);
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "absdamage")){
absDamage = Number(Level.queryLevelAttribute(timeAttack, emitterEl, "absdamage"));
absDamage = Utilities.scaleArea(absDamage);
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "fracdamagemin")){
fracDamageMin = Number(Level.queryLevelAttribute(timeAttack, emitterEl, "fracdamagemin"));
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "fracdamagemax")){
fracDamageMax = Number(Level.queryLevelAttribute(timeAttack, emitterEl, "fracdamagemax"));
};
if (Level.hasLevelAttribute(timeAttack, emitterEl, "special")){
special = Utilities.XMLListToBoolean(Level.queryLevelAttribute(timeAttack, emitterEl, "special"));
};
if (((!((shadowX == 0))) || (!((shadowY == 0))))){
hasShadow = true;
};
for each (emitChildEl in emitterEl.children()) {
value = emitChildEl.name();
if (value == "randomemit"){
rate = 0;
if (Level.hasLevelAttribute(timeAttack, emitChildEl, "rate")){
rate = Number(Level.queryLevelAttribute(timeAttack, emitChildEl, "rate"));
};
setRandomEmit(rate);
timeSinceLastEmit = 0;
calcNextEmitTime();
} else {
if (value == "scheduledemit"){
scheduledEmit = true;
for each (scheduledEl in emitChildEl.children()) {
if (scheduledEl.name() == "emit"){
emitTime = 0;
pathPos = 0;
if (Level.hasLevelAttribute(timeAttack, scheduledEl, "time")){
emitTime = Number(Level.queryLevelAttribute(timeAttack, scheduledEl, "time"));
};
if (Level.hasLevelAttribute(timeAttack, scheduledEl, "pathpos")){
pathPos = Number(Level.queryLevelAttribute(timeAttack, scheduledEl, "pathpos"));
};
scheduledTimes.splice(0, 0, new ScheduledEmitVars(emitTime, pathPos));
};
};
} else {
if (value == "controller"){
controllerVars = new ControllerVars();
controllerTypeS = "";
controllerTypeS = emitChildEl.attribute("type");
controllerVars.controllerType = ControllerTypes.stringToIntController(controllerTypeS);
if (emitChildEl.attribute("updateperiod") != undefined){
controllerVars.updatePeriod = emitChildEl.attribute("updateperiod");
};
if (emitChildEl.attribute("direction") != undefined){
controllerVars.direction = emitChildEl.attribute("direction");
};
if (emitChildEl.attribute("directionvariance") != undefined){
controllerVars.directionVariance = emitChildEl.attribute("directionvariance");
};
if (emitChildEl.attribute("directionvaryaccel") != undefined){
controllerVars.directionVaryAccel = emitChildEl.attribute("directionvaryaccel");
};
if (emitChildEl.attribute("speed") != undefined){
controllerVars.speed = emitChildEl.attribute("speed");
controllerVars.speed = Utilities.scaleDist(controllerVars.speed);
};
if (emitChildEl.attribute("speedvariance") != undefined){
controllerVars.speedVariance = emitChildEl.attribute("speedvariance");
controllerVars.speedVariance = Utilities.scaleDist(controllerVars.speedVariance);
};
if (emitChildEl.attribute("speedvaryaccel") != undefined){
controllerVars.speedVaryAccel = emitChildEl.attribute("speedvaryaccel");
controllerVars.speedVaryAccel = Utilities.scaleDist(controllerVars.speedVaryAccel);
};
if (emitChildEl.attribute("accel") != undefined){
controllerVars.accel = emitChildEl.attribute("accel");
controllerVars.accel = Utilities.scaleDist(controllerVars.accel);
};
if (emitChildEl.attribute("priority") != undefined){
controllerVars.priority = emitChildEl.attribute("priority");
};
if (emitChildEl.attribute("firstpriority") != undefined){
controllerVars.firstPriority = emitChildEl.attribute("firstpriority");
};
if (emitChildEl.attribute("affectdist") != undefined){
controllerVars.affectDist = emitChildEl.attribute("affectdist");
controllerVars.affectDist = Utilities.scaleDist(controllerVars.affectDist);
};
if (emitChildEl.attribute("firstaffectdist") != undefined){
controllerVars.firstAffectDist = emitChildEl.attribute("firstaffectdist");
controllerVars.firstAffectDist = Utilities.scaleDist(controllerVars.firstAffectDist);
};
if (emitChildEl.attribute("initpathpos") != undefined){
controllerVars.initPathPos = emitChildEl.attribute("initpathpos");
};
if (emitChildEl.attribute("loop") != undefined){
controllerVars.loop = Utilities.XMLListToBoolean(emitChildEl.attribute("loop"));
};
if (emitChildEl.attribute("first") != undefined){
controllerVars.first = emitChildEl.attribute("first");
};
for each (contChildEl in emitChildEl.children()) {
contChildValue = contChildEl.name();
ae = null;
if (contChildValue == "affect"){
ae = new AffectEntity();
ae.readXML(timeAttack, contChildEl);
controllerVars.affectEntities.push(ae);
} else {
if (contChildValue == "dontaffect"){
ae = new AffectEntity();
ae.readXML(timeAttack, contChildEl);
controllerVars.dontAffectEntities.push(ae);
};
};
};
if (controllerVars.controllerType == ControllerTypes.PATH_FOLLOW){
path = new Path();
for each (pairEl in emitChildEl.children()) {
if (pairEl.name() == "pair"){
splinePair = new SplinePair();
splinePair.x1 = pairEl.attribute("x1");
splinePair.x1 = Utilities.scaleDist(splinePair.x1);
splinePair.y1 = pairEl.attribute("y1");
splinePair.y1 = Utilities.scaleDist(splinePair.y1);
splinePair.coefx1 = pairEl.attribute("coefx1");
splinePair.coefx1 = Utilities.scaleDist(splinePair.coefx1);
splinePair.coefy1 = pairEl.attribute("coefy1");
splinePair.coefy1 = Utilities.scaleDist(splinePair.coefy1);
splinePair.x2 = pairEl.attribute("x2");
splinePair.x2 = Utilities.scaleDist(splinePair.x2);
splinePair.y2 = pairEl.attribute("y2");
splinePair.y2 = Utilities.scaleDist(splinePair.y2);
splinePair.coefx2 = pairEl.attribute("coefx2");
splinePair.coefx2 = Utilities.scaleDist(splinePair.coefx2);
splinePair.coefy2 = pairEl.attribute("coefy2");
splinePair.coefy2 = Utilities.scaleDist(splinePair.coefy2);
path.addPair(splinePair);
};
};
path.segmentPath();
controllerVars.path = path;
};
if (controllerVars.controllerType == ControllerTypes.ATTACK){
if (emitChildEl.attribute("shot") != undefined){
controllerVars.shot = int(emitChildEl.attribute("shot"));
};
if (emitChildEl.attribute("shotx") != undefined){
controllerVars.shotX = Number(emitChildEl.attribute("shotx"));
controllerVars.shotX = Utilities.scaleDist(controllerVars.shotX);
};
if (emitChildEl.attribute("shoty") != undefined){
controllerVars.shotY = Number(emitChildEl.attribute("shoty"));
controllerVars.shotY = Utilities.scaleDist(controllerVars.shotY);
};
if (emitChildEl.attribute("shotperiod") != undefined){
controllerVars.shotPeriod = Number(emitChildEl.attribute("shotperiod"));
};
};
if (controllerVars.controllerType == ControllerTypes.LEAVE_LEVEL){
if (emitChildEl.attribute("leavesize") != undefined){
controllerVars.leaveSize = emitChildEl.attribute("leavesize");
};
if (emitChildEl.attribute("leavetime") != undefined){
controllerVars.leaveTime = emitChildEl.attribute("leavetime");
};
};
controllerVarsVec.push(controllerVars);
};
};
};
};
}
protected function createControllers(entity:Entity):void{
var contVars:ControllerVars;
var controller:EntityController;
var controllerType:int;
var aController:Object;
var j:int;
var ae:AffectEntity;
var i:int;
i = 0;
while (i < controllerVarsVec.length) {
contVars = controllerVarsVec[i];
controller = null;
controllerType = contVars.controllerType;
aController = null;
if (controllerType == ControllerTypes.MOVE_DIRECTION){
aController = new ControllerMoveDirection(entityEngine.gameWindow, entityEngine);
aController.setDirection(contVars.direction);
aController.setDirectionVariance(contVars.directionVariance);
aController.setDirectionVaryAccel(contVars.directionVaryAccel);
aController.setSpeed(contVars.speed);
aController.setSpeedVariance(contVars.speedVariance);
aController.setSpeedVaryAccel(contVars.speedVaryAccel);
} else {
if (controllerType == ControllerTypes.PATH_FOLLOW){
aController = new ControllerPathFollow(contVars.path, entityEngine.gameWindow, entityEngine);
aController.setLoop(contVars.loop);
aController.setSpeed(contVars.speed);
aController.setInitPathPos(contVars.initPathPos);
} else {
if (controllerType == ControllerTypes.ATTACK){
aController = new ControllerAttack(entityEngine.gameWindow, entityEngine);
aController.setSpeed(contVars.speed);
aController.setShot(contVars.shot);
aController.setShotPos(contVars.shotX, contVars.shotY);
aController.setShotPeriod(contVars.shotPeriod);
} else {
if (controllerType == ControllerTypes.EVADE){
aController = new ControllerEvade(entityEngine.gameWindow, entityEngine);
aController.setSpeed(contVars.speed);
} else {
if (controllerType == ControllerTypes.STAY_IN_LEVEL){
aController = new ControllerStayInLevel(entityEngine.gameWindow, entityEngine);
aController.setSpeed(contVars.speed);
} else {
if (controllerType == ControllerTypes.LEAVE_LEVEL){
aController = new ControllerLeaveLevel(entityEngine.gameWindow, entityEngine);
aController.setSpeed(contVars.speed);
aController.setLeaveSize(contVars.leaveSize);
aController.setLeaveTime(contVars.leaveTime);
} else {
if (controllerType == ControllerTypes.STATIONARY){
aController = new ControllerStationary(entityEngine.gameWindow, entityEngine);
} else {
if (controllerType == ControllerTypes.AVOID){
aController = new ControllerAvoid(entityEngine.gameWindow, entityEngine);
aController.setSpeed(contVars.speed);
} else {
if (controllerType == ControllerTypes.STOP){
aController = new ControllerStop(entityEngine.gameWindow, entityEngine);
aController.setAccel(contVars.accel);
aController.maxSpeed = contVars.speed;
};
};
};
};
};
};
};
};
};
controller = EntityController(aController);
controller.setAccel(contVars.accel);
controller.setUpdatePeriod(contVars.updatePeriod);
controller.setPriority(contVars.priority);
controller.setFirstPriority(contVars.firstPriority);
controller.setAffectDist(contVars.affectDist);
controller.setFirstAffectDist(contVars.firstAffectDist);
controller.setFirst(contVars.first);
j = 0;
ae = null;
j = 0;
while (j < contVars.affectEntities.length) {
ae = contVars.affectEntities[j].clone();
controller.addAffectEntity(ae);
j++;
};
j = 0;
while (j < contVars.dontAffectEntities.length) {
ae = contVars.dontAffectEntities[j].clone();
controller.addDontAffectEntity(ae);
j++;
};
entity.addController(controller);
i++;
};
}
public function setRandomEmit(anEmitsPerSecond:Number):void{
randomEmit = true;
emitsPerSecond = anEmitsPerSecond;
}
public function getShotEmitNum():int{
return (shotEmitNum);
}
public function getMinArea():Number{
return (minArea);
}
public function draw(camera:Camera):void{
}
public function calcNextEmitTime():void{
nextEmitTime = Utilities.randomDouble(minEmitPeriod, maxEmitPeriod);
}
public function update():void{
var pathPos:Number;
var i:int;
var dt:Number = FlxG.elapsed;
time = (time + dt);
timeSinceLastEmit = (timeSinceLastEmit + dt);
if (randomEmit){
if (timeSinceLastEmit >= nextEmitTime){
if (lessThanMaxEmitted()){
timeSinceLastEmit = 0;
calcNextEmitTime();
emit();
};
};
};
if (scheduledEmit){
while ((((scheduledTimes.length > 0)) && ((time >= scheduledTimes[(scheduledTimes.length - 1)].time)))) {
pathPos = scheduledTimes[(scheduledTimes.length - 1)].pathPos;
if (pathPos != 0){
i = 0;
i = 0;
while (i < controllerVarsVec.length) {
controllerVarsVec[i].initPathPos = pathPos;
i++;
};
};
scheduledTimes.splice((scheduledTimes.length - 1));
emit();
};
};
}
protected function lessThanMaxEmitted():Boolean{
return ((totalLiveEmitted < maxLive));
}
public function emittedEntityDeleted():void{
totalLiveEmitted--;
}
protected function emit():void{
}
public function setEntityDef(anEntityDef:EntityDef):void{
entityDef = anEntityDef;
}
}
}//package
Section 186
//EntityEngine (EntityEngine)
package {
import flash.geom.*;
public class EntityEngine {
public var entities:Array;
public var gameWindow:GameWindow;// = null
public var partitionLayers:Array;
public static var deleteMeExists:Boolean = false;
public function EntityEngine(aGameWindow:GameWindow):void{
entities = new Array();
partitionLayers = new Array();
super();
gameWindow = aGameWindow;
}
public function setGreyGooLayers():void{
var layerIndex:int;
while (layerIndex < partitionLayers.length) {
partitionLayers[layerIndex].setGreyGoo(gameWindow.getGreyGoo());
layerIndex++;
};
}
public function draw(camera:Camera):void{
var entity:Entity;
var i:int;
var greyGoo:Entity;
i = 0;
while (i < entities.length) {
entity = entities[i];
if (entity == gameWindow.getGreyGoo()){
greyGoo = entity;
} else {
if (!entity.getEater()){
entity.draw(camera);
};
};
i++;
};
if (greyGoo){
if (!greyGoo.getEater()){
greyGoo.draw(camera);
};
};
}
public function removeDeleteMes():void{
var pl:PartitionLayer;
var j:int;
j = 0;
while (j < partitionLayers.length) {
pl = partitionLayers[j];
pl.removeDeleteMes();
j++;
};
}
public function update():void{
updateEntities();
clearEntitiesFromLayers();
addEntitiesToLayers();
setGreyGooLayers();
checkIntersections();
if (deleteMeExists){
removeDeleteMes();
removeEatenEntities();
deleteMeExists = false;
};
}
public function intersectFuture(entityController:EntityController, time:Number):Entity{
var entityLeft:Number;
var entityRight:Number;
var entityTop:Number;
var entityBottom:Number;
var pl:PartitionLayer;
var entity:Entity = entityController.getEntity();
var intersectEntity:Entity;
var speed:Number = entity.vel.length;
var stepSize:Number = entity.getRadius();
var timeSteps:int = Utilities.roundUpToInt(((speed * time) / stepSize));
if (timeSteps <= 0){
return (null);
};
stepSize = ((speed * time) / timeSteps);
var origPos:Point = entity.pos.clone();
var pos:Point = origPos.clone();
var origDisplayArea:Number = entity.getDisplayArea();
var scaleAmount:Number = 2;
entity.setDisplayArea((origDisplayArea * scaleAmount));
var step:Point = entity.vel.clone();
step.normalize(stepSize);
var i:int;
var j:int;
i = 0;
while (i < timeSteps) {
entity.setPos(pos);
entity.updateIntersectionShapes();
entityLeft = (pos.x - entity.getRadius());
entityRight = (pos.x + entity.getRadius());
entityTop = (pos.y - entity.getRadius());
entityBottom = (pos.y + entity.getRadius());
j = 0;
while (j < partitionLayers.length) {
pl = partitionLayers[j];
intersectEntity = pl.findIntersectingEntity(entity, entityController, entityLeft, entityRight, entityTop, entityBottom);
if (intersectEntity){
entity.setPos(origPos);
entity.setDisplayArea(origDisplayArea);
entity.updateIntersectionShapes();
return (intersectEntity);
};
j++;
};
pos.x = (pos.x + step.x);
pos.y = (pos.y + step.y);
i++;
};
entity.setPos(origPos);
entity.setDisplayArea(origDisplayArea);
entity.updateIntersectionShapes();
return (null);
}
public function clearEntitiesFromLayers():void{
var layerIndex:int;
layerIndex = 0;
while (layerIndex < partitionLayers.length) {
partitionLayers[layerIndex].clearEntities();
layerIndex++;
};
}
public function smallerEqualEntityExists(entity:Entity):Boolean{
var pl:PartitionLayer;
var size:Number = entity.getActualArea();
var i:int;
i = 0;
while (i < partitionLayers.length) {
pl = partitionLayers[i];
if (pl.smallerEqualEntityExists(entity)){
return (true);
};
i++;
};
return (false);
}
public function finish():void{
var i:int;
while (i < partitionLayers.length) {
partitionLayers[i].clearEntities();
partitionLayers[i] = null;
i++;
};
partitionLayers = null;
i = 0;
while (i < entities.length) {
entities[i].finish();
entities[i] = null;
i++;
};
entities = null;
}
public function addEntity(entity:Entity):void{
entities.push(entity);
}
public function getClosestEntity(entityController:EntityController, withinRadius:Number):Entity{
var pl:PartitionLayer;
var entity:Entity = entityController.getEntity();
var closestEnt:Entity;
var closestDist:Number = 10000000;
var entityLeft:Number = ((entity.pos.x - entity.getRadius()) - withinRadius);
var entityRight:Number = ((entity.pos.x + entity.getRadius()) + withinRadius);
var entityTop:Number = ((entity.pos.y - entity.getRadius()) - withinRadius);
var entityBottom:Number = ((entity.pos.y + entity.getRadius()) + withinRadius);
var i:int;
while (i < partitionLayers.length) {
pl = partitionLayers[i];
pl.closestEnt = closestEnt;
pl.closestDist = closestDist;
pl.getClosestEntity(entity, entityController, withinRadius, entityLeft, entityRight, entityTop, entityBottom);
closestEnt = pl.closestEnt;
closestDist = pl.closestDist;
i++;
};
return (closestEnt);
}
public function checkIntersections():void{
var layerIndex:int;
while (layerIndex < partitionLayers.length) {
partitionLayers[layerIndex].checkIntersections();
layerIndex++;
};
}
public function updateEntities():void{
var i:int;
i = 0;
while (i < entities.length) {
entities[i].update();
i++;
};
}
public function createPartitionLayers(levelLeft:Number, levelTop:Number, levelRight:Number, levelBottom:Number):void{
var levelWidth:Number = (levelRight - levelLeft);
var levelHeight:Number = (levelBottom - levelTop);
var maxSize:Number = Math.max(levelWidth, levelHeight);
maxSize = (maxSize / 32);
maxSize = Utilities.roundUpToInt(maxSize);
var cellSize:Number = (maxSize * 32);
partitionLayers.push(new PartitionLayer(levelWidth, levelHeight, levelLeft, levelTop, (cellSize / 1)));
partitionLayers.push(new PartitionLayer(levelWidth, levelHeight, levelLeft, levelTop, (cellSize / 2)));
partitionLayers.push(new PartitionLayer(levelWidth, levelHeight, levelLeft, levelTop, (cellSize / 4)));
partitionLayers.push(new PartitionLayer(levelWidth, levelHeight, levelLeft, levelTop, (cellSize / 8)));
partitionLayers.push(new PartitionLayer(levelWidth, levelHeight, levelLeft, levelTop, (cellSize / 16)));
partitionLayers.push(new PartitionLayer(levelWidth, levelHeight, levelLeft, levelTop, (cellSize / 32)));
var i:int;
i = 0;
while (i < partitionLayers.length) {
if (i < (partitionLayers.length - 1)){
partitionLayers[i].setSmallerLayer(partitionLayers[(i + 1)]);
};
i++;
};
}
public function getNumEntities():int{
return (entities.length);
}
public function getGameWindow():GameWindow{
return (gameWindow);
}
public function getClosestEntityWithArea(entityController:EntityController, withinRadius:Number, minArea:Number, maxArea:Number):Entity{
var pl:PartitionLayer;
var entity:Entity = entityController.getEntity();
var closestEnt:Entity;
var closestDist:Number = 100000000;
var entityLeft:Number = ((entity.pos.x - entity.getRadius()) - withinRadius);
var entityRight:Number = ((entity.pos.x + entity.getRadius()) + withinRadius);
var entityTop:Number = ((entity.pos.y - entity.getRadius()) - withinRadius);
var entityBottom:Number = ((entity.pos.y + entity.getRadius()) + withinRadius);
var i:int;
while (i < partitionLayers.length) {
pl = partitionLayers[i];
pl.closestEnt = closestEnt;
pl.closestDist = closestDist;
pl.getClosestEntityWithArea(entity, entityController, withinRadius, entityLeft, entityRight, entityTop, entityBottom, minArea, maxArea);
closestEnt = pl.closestEnt;
closestDist = pl.closestDist;
i++;
};
return (closestEnt);
}
public function findEntity(name:String):Entity{
var pl:PartitionLayer;
var entity:Entity;
var i:int;
i = 0;
while (i < partitionLayers.length) {
pl = partitionLayers[i];
entity = pl.findEntity(name);
if (entity != null){
return (entity);
};
i++;
};
return (null);
}
public function removeEatenEntities():void{
var entity:Entity;
var i:int;
while (i < entities.length) {
entity = entities[i];
if (entity.getDeleteMe()){
entity.finish();
entity = null;
entities.splice(i, 1);
} else {
i++;
};
};
}
public function addEntitiesToLayers():void{
var entity:Entity;
var layerIndex:int;
var i:int;
while (i < entities.length) {
entity = entities[i];
layerIndex = 0;
layerIndex = (partitionLayers.length - 1);
while (layerIndex >= 0) {
if (partitionLayers[layerIndex].addEntity(entity)){
break;
};
layerIndex--;
};
i++;
};
}
}
}//package
Section 187
//GameTrackerSingleton (GameTrackerSingleton)
package {
import FGL.GameTracker.*;
public class GameTrackerSingleton {
public var gameTracker:GameTracker;// = null
public static var instance:GameTrackerSingleton = null;
public function GameTrackerSingleton():void{
super();
gameTracker = new GameTracker();
}
public static function getInstance():GameTrackerSingleton{
if (instance == null){
instance = new (GameTrackerSingleton);
};
return (instance);
}
}
}//package
Section 188
//GameWindow (GameWindow)
package {
import flash.geom.*;
import org.flixel.*;
import flash.ui.*;
public class GameWindow extends Listener {
public var entityEngine:EntityEngine;// = null
public var timeSinceFailed:Number;// = 0
public var camera:Camera;// = null
public var greyGoo:GreyGoo;// = null
public var paused:Boolean;// = false
public var levelTop:Number;// = 0
public var failureString:String;// = ""
public var updating:Boolean;// = false
public var failedLevel:Boolean;// = false
public var levelMode:int;
public var gooPos:Point;
public var victoryAchieved:Boolean;// = false
public var ateAsteroid:Boolean;// = false
public var particleEngine:ParticleEngine;// = null
public var levelTime:Number;// = 0
public var smallerEntityCheckPeriod:Number;// = 5
public var timeLeft:Number;// = 0
public var eatenDisplay:EatenDisplay;// = null
public var level:Level;// = null
public var lastSmallerEntityCheck:Number;// = 0
public var asteroidLevel:Boolean;// = false
public var tileEngine:TileEngine;// = null
public var levelStatus:LevelStatus;// = null
public var specialEntitiesEaten:int;// = 0
public var levelWidth:Number;// = 0
public var levelLeft:Number;// = 0
public var asteroidDestroyed:Boolean;// = false
public var updatedFirstFrame:Boolean;// = false
public var notGreyGooFor:Number;// = 0
public var timerDisplay:TimerDisplay;// = null
public var timeSinceAteAsteroid:Number;// = 0
public var playState:PlayState;// = null
public var levelHeight:Number;// = 0
public var emitters:Array;
public var levelBottom:Number;// = 0
public var ateTimeMachine:Boolean;// = false
public var ateEarth:Boolean;// = false
public var numEntitiesEaten:int;// = 0
public var bigAsteroid:Entity;// = null
public var timeSinceVictory:Number;// = 0
public var timeMachineLevel:Boolean;// = false
public var showedAsteroidTip:Boolean;// = false
public var levelRight:Number;// = 0
public function GameWindow(aPlayState:PlayState):void{
gooPos = new Point();
levelMode = LevelProgress.LEVEL_NORMAL;
emitters = new Array();
super();
playState = aPlayState;
camera = new Camera(640, 480);
particleEngine = new ParticleEngine(this, 100);
eatenDisplay = new EatenDisplay(this);
levelStatus = new LevelStatus(this);
timerDisplay = new TimerDisplay(this);
}
public function setLevelHeight(aLevelHeight:Number):void{
levelHeight = aLevelHeight;
}
public function setLevelBottom(aLevelBottom:Number):void{
levelBottom = aLevelBottom;
}
protected function setAsteroidTip():void{
playState.setAsteroidTip();
}
public function shoot(aShotEmitNum:int, pos:Point, direction:Number):void{
var em:EntityEmitter;
var emShot:EmitterShot;
var i:int;
while (i < emitters.length) {
em = emitters[i];
if (aShotEmitNum == em.getShotEmitNum()){
emShot = EmitterShot(em);
emShot.emitShot(pos, direction);
};
i++;
};
}
override public function animationDone(animation:Animation):void{
}
public function setPauseTransition():void{
}
public function setLevelTime(aTime:Number):void{
levelTime = aTime;
}
protected function setEndGameWindowTransition():void{
stopAllLoopSounds();
}
public function setPaused(isPaused:Boolean):void{
paused = isPaused;
}
public function getGrowthRate():Number{
return (level.growthRate);
}
public function loadLevel(fileName:String, aLevelMode:int):void{
if (entityEngine != null){
entityEngine.finish();
entityEngine = null;
};
tileEngine = null;
levelMode = aLevelMode;
specialEntitiesEaten = 0;
levelTime = 0;
timeLeft = 0;
notGreyGooFor = 0;
victoryAchieved = false;
timeSinceVictory = 0;
failedLevel = false;
timeSinceFailed = 0;
lastSmallerEntityCheck = 0;
particleEngine.clearActive();
levelStatus.clear();
eatenDisplay.clear();
entityEngine = new EntityEngine(this);
tileEngine = new TileEngine(this);
emitters.splice(0);
level = null;
level = new Level(tileEngine, entityEngine, levelMode, emitters);
level.readXML(fileName);
asteroidLevel = (fileName == "asteroid1LevelXML");
ateAsteroid = false;
ateEarth = false;
asteroidDestroyed = false;
bigAsteroid = null;
timeSinceAteAsteroid = 0;
showedAsteroidTip = false;
timeMachineLevel = (fileName == "lab1cLevelXML");
ateTimeMachine = false;
setLevelWidth(level.levelWidth);
setLevelHeight(level.levelHeight);
setLevelLeft(level.levelLeft);
setLevelTop(level.levelTop);
setLevelRight(level.levelRight);
setLevelBottom(level.levelBottom);
camera.setLevelEdge(level.levelLeft, level.levelTop, level.levelRight, level.levelBottom);
tileEngine.setLevelDim(getLevelLeft(), getLevelTop(), getLevelRight(), getLevelBottom());
if (level.hasTimeLimit){
timerDisplay.setTimerVisible(true);
timerDisplay.setTimeCountUp(0);
} else {
timerDisplay.setTimerVisible(false);
};
levelStatus.setUnitMultiplier(level.unitMultiplier);
levelStatus.setVictoryBySize(level.victoryBySize, level.victorySize);
levelStatus.setGooActualSize(level.gooStartArea, level.gooStartArea);
greyGoo = new GreyGoo(EntityDefs.getInstance().getEntityDef("greygoo"), this);
greyGoo.setPosComp(level.gooStartX, level.gooStartY);
greyGoo.setDisplayArea(level.gooStartArea);
greyGoo.setActualArea(level.gooStartArea);
greyGoo.setShadow(false, 0, 0);
entityEngine.addEntity(greyGoo);
if (((greyGoo) && (!(greyGoo.getBeingEaten())))){
greyGoo.centerCameraOnMe();
};
numEntitiesEaten = 0;
updatedFirstFrame = false;
GameTrackerSingleton.getInstance().gameTracker.beginLevel(PlayState.levelFilenameToNumber(level.fileName));
}
public function checkFailedLevel():Boolean{
var timeBuffer:Number = 0;
var maxNoGreyGooTime:Number = 0.15;
if (notGreyGooFor > maxNoGreyGooTime){
failureString = "You were destroyed. Avoid anything that is larger than yourself.";
GameTrackerSingleton.getInstance().gameTracker.endLevel(PlayState.levelFilenameToNumber(level.fileName), "Destroyed");
return (true);
};
if (checkSmallerEntityFailed()){
failureString = "There is nothing left for you to eat. Try to avoid anything that is larger than yourself.";
GameTrackerSingleton.getInstance().gameTracker.endLevel(PlayState.levelFilenameToNumber(level.fileName), "Nothing Left");
return (true);
};
if (asteroidLevel){
if (asteroidDestroyed){
failureString = "The asteroid hit the earth and the dinosaurs are now extinct. You must eat that asteroid!";
GameTrackerSingleton.getInstance().gameTracker.endLevel(PlayState.levelFilenameToNumber(level.fileName), "Asteroid Hit Earth");
return (true);
};
};
return (false);
}
public function getGooPos():Point{
return (gooPos);
}
public function draw():void{
tileEngine.draw(camera);
entityEngine.draw(camera);
particleEngine.draw();
eatenDisplay.draw();
timerDisplay.draw();
levelStatus.draw();
}
public function checkVictoryAchieved():Boolean{
var minTimeInLevel:Number = 2;
if (((greyGoo) && ((levelTime >= minTimeInLevel)))){
if (((level.victoryBySize) && (levelStatus.isAreaBiggerThanNeeded()))){
return (true);
};
if (((level.victorySpecialEntities) && ((specialEntitiesEaten >= level.numSpecialEntities)))){
return (true);
};
if (((level.victoryEatEverything) && ((entityEngine.getNumEntities() == 1)))){
return (true);
};
if (((asteroidLevel) && (ateEarth))){
return (true);
};
if (((timeMachineLevel) && (ateTimeMachine))){
return (true);
};
};
return (false);
}
public function setFailureWindowTransition(failureString:String):void{
stopAllLoopSounds();
playState.setFailureWindow(failureString);
}
public function setGooPos(aGooPos:Point):void{
gooPos = aGooPos;
}
public function gooAteEntity(entity:Entity):void{
eatenDisplay.setEatenEntity(entity.entityDef);
numEntitiesEaten++;
if (entity.isSpecial()){
addSpecialEntityEaten();
};
resetLastSmallerEntityCheck();
}
protected function playBuzzerSound():void{
var se:DingoSoundEffect = SoundEffectSystem.getInstance().getSoundEffect("buzz");
se.play(1, 0);
}
protected function timeLeftTickSound(newTimeLeft:Number, lastTimeLeft:Number):void{
if (((victoryAchieved) || (failedLevel))){
return;
};
var x:Number = 0;
x = 10;
while (x > 0.5) {
if ((((newTimeLeft <= x)) && ((lastTimeLeft > x)))){
playTickSound();
};
x--;
};
if ((((newTimeLeft <= 0)) && ((lastTimeLeft > 0)))){
playBuzzerSound();
};
}
public function setGreyGoo(aGreyGoo:GreyGoo):void{
greyGoo = aGreyGoo;
}
public function setLevelLeft(aLevelLeft:Number):void{
levelLeft = aLevelLeft;
}
public function getEntityEngine():EntityEngine{
return (entityEngine);
}
public function playVictoryEffect(speed:Number):void{
var p:Particle;
var gamePartEmitPos:Point;
var emitDir:Number;
var gooScreenPos:Point;
var gooRootWinPos:Point;
var randPosOffset:Number;
var offsetVector:Point;
var pe:ParticleEngine = particleEngine;
var pWidth:Number = 50;
var speedScale:Number = 800;
var numEatenParticles = 50;
var particleIndex:int;
particleIndex = 0;
while (particleIndex < numEatenParticles) {
p = pe.popInactive();
if (p){
p.setCellNum(2);
gamePartEmitPos = getGooPos();
emitDir = Utilities.randomDouble(0, 360);
if (greyGoo){
randPosOffset = Utilities.randomDouble(0, (greyGoo.getWidth() * 0.5));
offsetVector = Point.polar(randPosOffset, -(Utilities.degToRad(emitDir)));
gamePartEmitPos = gamePartEmitPos.add(offsetVector);
};
gooScreenPos = new Point(camera.spriteToScreenX(gamePartEmitPos.x), camera.spriteToScreenY(gamePartEmitPos.y));
gooRootWinPos = new Point(camera.screenToSpriteX(gooScreenPos.x), camera.screenToSpriteY(gooScreenPos.y));
p.pos = gooRootWinPos.clone();
speed = Utilities.randomDouble((0.5 * speedScale), (1 * speedScale));
p.vel = Point.polar(speed, -(Utilities.degToRad(emitDir)));
p.angle = Utilities.randomDouble(0, 360);
p.color.r = 1;
p.color.g = 1;
Utilities.randomDouble(0.3, 1);
p.color.b = 1;
Utilities.randomDouble(0.3, 1);
p.color.a = 1;
p.width = Utilities.randomDouble((1.2 * pWidth), (1.4 * pWidth));
p.lifeLength = Utilities.randomDouble(0.5, 2);
p.additiveBlend = true;
pe.pushActive(p);
};
particleIndex++;
};
var levelCompleteSound:DingoSoundEffect = SoundEffectSystem.getInstance().getSoundEffect("levelcomplete");
levelCompleteSound.play(1, 0);
}
public function getTileEngine():TileEngine{
return (tileEngine);
}
public function getParticleEngine():ParticleEngine{
return (particleEngine);
}
public function getLevelHeight():Number{
return (levelHeight);
}
public function getLevelWidth():Number{
return (levelWidth);
}
public function getLevelBottom():Number{
return (levelBottom);
}
protected function playTickSound():void{
var se:DingoSoundEffect = SoundEffectSystem.getInstance().getSoundEffect("clock");
se.play(1, 0);
}
public function setLevelWidth(aLevelWidth:Number):void{
levelWidth = aLevelWidth;
}
public function getLevelTop():Number{
return (levelTop);
}
public function isUpdating():Boolean{
return (updating);
}
public function stopAllLoopSounds():void{
SoundEffectSystem.getInstance().stopLoopSounds();
}
public function setLevelTop(aLevelTop:Number):void{
levelTop = aLevelTop;
}
public function updateSelf():void{
var transitionAfterVictory:Number;
var transitionAfterFailed:Number;
var pathController:ControllerPathFollow;
var asteroidArea:Number;
var gooArea:Number;
var ratioToEnd:Number;
var justBeforeEarth:Number;
var startPos:Number;
var distance:Number;
var maxTime:Number;
var minSpeed:Number;
var minTime:Number;
var maxSpeed:Number;
var speedRange:Number;
var timeFromEndToCollision:Number;
var distanceEndToCollision:Number;
var endPos:Number;
var totalDiff:Number;
var sizeBasedPosition:Number;
var speed:Number;
var dt:Number;
var posDiff:Number;
var maxSpeedAtDiff:Number;
var maxSpeedRatio:Number;
var i:int;
SoundEffectSystem.getInstance().update();
particleEngine.update();
if (updating){
if (!victoryAchieved){
levelTime = (levelTime + FlxG.elapsed);
};
if (asteroidLevel){
if (ateAsteroid){
level.growthRate = 1.3;
timeSinceAteAsteroid = (timeSinceAteAsteroid + FlxG.elapsed);
if (((!(showedAsteroidTip)) && ((timeSinceAteAsteroid > 0.5)))){
setAsteroidTip();
showedAsteroidTip = true;
};
};
if (bigAsteroid == null){
bigAsteroid = entityEngine.findEntity("asteroid2_future1");
};
if (bigAsteroid){
if (bigAsteroid.activeController){
if (bigAsteroid.activeController.getControllerType() == ControllerTypes.PATH_FOLLOW){
pathController = ControllerPathFollow(bigAsteroid.activeController);
asteroidArea = bigAsteroid.getActualArea();
gooArea = greyGoo.getActualArea();
ratioToEnd = (gooArea / asteroidArea);
if (ratioToEnd > 1){
ratioToEnd = 1;
};
justBeforeEarth = 0.764;
startPos = 0.1;
distance = (justBeforeEarth - startPos);
maxTime = (25 * 60);
minSpeed = (distance / maxTime);
minTime = 60;
maxSpeed = (distance / minTime);
speedRange = (maxSpeed - minSpeed);
timeFromEndToCollision = 23;
distanceEndToCollision = (minSpeed * timeFromEndToCollision);
endPos = (justBeforeEarth - distanceEndToCollision);
totalDiff = (endPos - startPos);
sizeBasedPosition = (startPos + (totalDiff * ratioToEnd));
speed = minSpeed;
if (pathController.posOnPath < sizeBasedPosition){
posDiff = (sizeBasedPosition - pathController.posOnPath);
maxSpeedAtDiff = 0.05;
maxSpeedRatio = (posDiff / maxSpeedAtDiff);
if (maxSpeedRatio > 1){
maxSpeedRatio = 1;
};
speed = (minSpeed + (maxSpeedRatio * speedRange));
};
dt = FlxG.elapsed;
pathController.posOnPath = (pathController.posOnPath + (speed * dt));
};
};
};
};
tileEngine.update();
i = 0;
while (i < emitters.length) {
emitters[i].update();
i++;
};
entityEngine.update();
eatenDisplay.update();
if (((greyGoo) && (!(greyGoo.getBeingEaten())))){
greyGoo.centerCameraOnMe();
};
if (!greyGoo){
notGreyGooFor = (notGreyGooFor + FlxG.elapsed);
};
if (greyGoo){
levelStatus.setGooActualSize(greyGoo.getActualArea(), greyGoo.getInitialArea());
} else {
levelStatus.setGooActualSize(0, 10);
};
levelStatus.update();
if (level.hasTimeLimit){
timerDisplay.setTimeCountUp(levelTime);
};
timerDisplay.update();
if (!victoryAchieved){
victoryAchieved = checkVictoryAchieved();
if (victoryAchieved){
failedLevel = false;
timeSinceFailed = 0;
GameTrackerSingleton.getInstance().gameTracker.endLevel(PlayState.levelFilenameToNumber(level.fileName), "Victory");
if (greyGoo){
};
playVictoryEffect(speed);
};
} else {
timeSinceVictory = (timeSinceVictory + FlxG.elapsed);
};
if (!victoryAchieved){
if (!failedLevel){
failedLevel = checkFailedLevel();
} else {
timeSinceFailed = (timeSinceFailed + FlxG.elapsed);
};
};
transitionAfterVictory = 0.5;
transitionAfterFailed = 0.5;
if (timeSinceVictory > transitionAfterVictory){
if (level.end){
setVictoryWindowTransition();
} else {
setVictoryWindowTransition();
};
};
if (timeSinceFailed > transitionAfterFailed){
setFailureWindowTransition(failureString);
};
};
}
public function getLevelTime():Number{
return (levelTime);
}
public function resetLastSmallerEntityCheck():void{
lastSmallerEntityCheck = 0;
}
public function getLevel():Level{
return (level);
}
protected function setVictoryWindowTransition():void{
var currentLevelTime:int;
stopAllLoopSounds();
var intLevelTime:int = int(levelTime);
if (!LevelProgress.getInstance().levelTimeExists(level.fileName)){
LevelProgress.getInstance().setLevelTime(level.fileName, intLevelTime);
} else {
currentLevelTime = LevelProgress.getInstance().getLevelTime(level.fileName);
if (intLevelTime < currentLevelTime){
LevelProgress.getInstance().setLevelTime(level.fileName, intLevelTime);
};
};
playState.setVictoryWindow(intLevelTime);
}
public function setUpdating(anUpdating:Boolean):void{
if (((updating) && (!(anUpdating)))){
updating = anUpdating;
stopAllLoopSounds();
Mouse.show();
} else {
if (((!(updating)) && (anUpdating))){
updating = anUpdating;
Mouse.hide();
};
};
}
public function addSpecialEntityEaten():void{
specialEntitiesEaten++;
}
public function getDeadly():Boolean{
return (Utilities.hardModeOn);
}
protected function checkSmallerEntityFailed():Boolean{
var i:int;
var em:EntityEmitter;
if (level.smallerEntityCheck){
lastSmallerEntityCheck = (lastSmallerEntityCheck + FlxG.elapsed);
if (lastSmallerEntityCheck >= smallerEntityCheckPeriod){
lastSmallerEntityCheck = 0;
if (greyGoo){
if (greyGoo.getActualArea() >= level.smallestRandomEmit){
} else {
if (entityEngine.smallerEqualEntityExists(greyGoo)){
} else {
i = 0;
i = 0;
while (i < emitters.length) {
em = emitters[i];
if ((((em.getScheduledEmitsLeft() > 0)) && ((em.getMinArea() <= greyGoo.getActualArea())))){
} else {
return (true);
};
i++;
};
};
};
};
};
};
return (false);
}
public function getLevelRight():Number{
return (levelRight);
}
public function getGreyGoo():GreyGoo{
return (greyGoo);
}
public function getLevelLeft():Number{
return (levelLeft);
}
public function setLevelRight(aLevelRight:Number):void{
levelRight = aLevelRight;
}
public function getLevelFilename():String{
return (level.fileName);
}
public function isPaused():Boolean{
return (paused);
}
}
}//package
Section 189
//GreyGoo (GreyGoo)
package {
import flash.geom.*;
import org.flixel.*;
public class GreyGoo extends Entity {
public var arrowPointsToClosest:Boolean;
public var lastYumYum:Number;
public var blinkAnimation:AnimationDef;// = null
public var puffSound:DingoSoundEffect;
public var arrowEntAngleVel:Number;
public var rightEyeBall:DingoSprite;// = null
public var reticleSprite:DingoSprite;// = null
public var leftEyelid:DingoSprite;// = null
public var eyeBallTarget:Point;
public var arrowActualArea:Number;
public var arrowFadeOpacity:Number;
public var leftPupil:DingoSprite;// = null
public var arrowEntVel:Point;
public var pupilChangeTime:Number;
public var timeSinceRandPupilChange:Number;
public var yumYumSound:DingoSoundEffect;
public var rightPupil:DingoSprite;// = null
public var randPupilTarget:Point;
public var rainbowHValue:Number;
public var blinkInterval:Number;
public var arrowClosestRadius:Number;
public var leftEyeBall:DingoSprite;// = null
public var arrowEntWidth:Number;
public var arrowEntAngle:Number;
public var recentAreaEaten:Number;
public var arrowColor:Color;
public var arrowEntity:Entity;// = null
public var arrowPointTo:Point;
public var color:Color;
public var arrowClosenessOpacity:Number;
public var currentPupilTarget:Point;
public var arrowFadingIn:Boolean;
public var arrowEntHeight:Number;
public var eatenColours:Array;
public var arrowFadingOut:Boolean;
public var timeSinceBlink:Number;
public var rightEyelid:DingoSprite;// = null
public var particleColor:Color;
public function GreyGoo(anEntityDef:EntityDef, aGameWindow:GameWindow):void{
currentPupilTarget = new Point();
randPupilTarget = new Point();
color = new Color();
eatenColours = new Array();
particleColor = new Color();
arrowPointTo = new Point();
arrowColor = new Color();
arrowEntVel = new Point();
eyeBallTarget = new Point();
super(anEntityDef, aGameWindow);
setAngularVel(0);
leftEyeBall = new DingoSprite(gameWindow);
leftEyeBall.setDingoImageName("eyeball");
rightEyeBall = new DingoSprite(gameWindow);
rightEyeBall.setDingoImageName("eyeball");
leftPupil = new DingoSprite(gameWindow);
leftPupil.setDingoImageName("pupil");
rightPupil = new DingoSprite(gameWindow);
rightPupil.setDingoImageName("pupil");
leftEyelid = new DingoSprite(gameWindow);
rightEyelid = new DingoSprite(gameWindow);
blinkAnimation = AnimationDefs.getInstance().get("eyeblink");
var reticleImage:DingoImage = ResourceManager.getInstance().getDingoImage("reticle");
reticleSprite = new DingoSprite(gameWindow);
reticleSprite.setDingoImage(reticleImage);
pupilChangeTime = 1;
timeSinceRandPupilChange = 0;
timeSinceBlink = 0;
blinkInterval = getRandomBlinkInterval();
puffSound = SoundEffectSystem.getInstance().getSoundEffect("puff");
color.r = 0.5;
color.g = 0.5;
color.b = 0.5;
color.a = 1;
particleColor.r = 0.5;
particleColor.g = 0.5;
particleColor.b = 0.5;
particleColor.a = 0.5;
addController(new ControllerGreyGoo(gameWindow, null));
arrowEntity = null;
arrowActualArea = 0;
arrowClosestRadius = 0;
arrowColor.r = 1;
arrowColor.g = 1;
arrowColor.b = 1;
arrowColor.a = 1;
arrowEntWidth = 10;
arrowEntHeight = 10;
arrowEntAngle = 0;
arrowEntAngleVel = 0;
arrowFadingOut = false;
arrowFadingIn = false;
arrowFadeOpacity = 0;
arrowClosenessOpacity = 0;
arrowPointsToClosest = false;
rainbowHValue = 0;
yumYumSound = SoundEffectSystem.getInstance().getSoundEffect("yumyum");
lastYumYum = 1000;
recentAreaEaten = 0;
isGoo = true;
}
public function getYumYumSound():DingoSoundEffect{
return (yumYumSound);
}
override public function playDamageSound():void{
var levelCompleteSound:DingoSoundEffect = SoundEffectSystem.getInstance().getSoundEffect("levelcomplete");
super.playDamageSound();
}
public function arrowEntityEaten():void{
arrowEntity = null;
arrowFadingIn = false;
arrowFadingOut = false;
arrowFadeOpacity = 0;
}
override public function draw(camera:Camera):void{
super.draw(camera);
var eyeDistance:Number = 0.232;
var horOffset:Number = -0.002;
var leftEyeCenter:Number = (horOffset - (eyeDistance * 0.5));
var rightEyeCenter:Number = (horOffset + (eyeDistance * 0.5));
var EYE_CENTER_Y:Number = 0.02;
var eyeBallSize:Number = 0.27;
var pupilSize:Number = (eyeBallSize * 0.4);
var leftEyeBallCenter:Point = pos.add(new Point((getWidth() * leftEyeCenter), (getHeight() * EYE_CENTER_Y)));
var rightEyeBallCenter:Point = pos.add(new Point((getWidth() * rightEyeCenter), (getHeight() * EYE_CENTER_Y)));
leftEyeBall.setWidth((getWidth() * eyeBallSize));
leftEyeBall.setPos(leftEyeBallCenter);
leftEyeBall.draw();
rightEyeBall.setWidth((getWidth() * eyeBallSize));
rightEyeBall.setPos(rightEyeBallCenter);
rightEyeBall.draw();
leftPupil.setWidth((getWidth() * pupilSize));
var leftPupilPos:Point = getPupilPos(leftEyeBallCenter);
leftPupilPos.x = ((leftPupilPos.x + 1) * 0.5);
leftPupilPos.y = ((leftPupilPos.y + 1) * 0.5);
var leftPupilLeftMost:Number = (leftEyeCenter - (pupilSize * 0.5));
var leftPupilRightMost:Number = (leftEyeCenter + (pupilSize * 0.5));
var leftPupilHorRange:Number = (leftPupilRightMost - leftPupilLeftMost);
var leftPupilTopMost:Number = (EYE_CENTER_Y - (pupilSize * 0.5));
var leftPupilBottomMost:Number = (EYE_CENTER_Y + (pupilSize * 0.5));
var leftPupilVertRange:Number = (leftPupilBottomMost - leftPupilTopMost);
leftPupilPos.x = (leftPupilLeftMost + (leftPupilPos.x * leftPupilHorRange));
leftPupilPos.y = (leftPupilTopMost + (leftPupilPos.y * leftPupilVertRange));
leftPupil.setPos(pos.add(new Point((leftPupilPos.x * getWidth()), (leftPupilPos.y * getWidth()))));
leftPupil.draw();
rightPupil.setWidth((getWidth() * pupilSize));
var rightPupilPos:Point = getPupilPos(rightEyeBallCenter);
rightPupilPos.x = ((rightPupilPos.x + 1) * 0.5);
rightPupilPos.y = ((rightPupilPos.y + 1) * 0.5);
var rightPupilLeftMost:Number = (rightEyeCenter - (pupilSize * 0.5));
var rightPupilRightMost:Number = (rightEyeCenter + (pupilSize * 0.5));
var rightPupilHorRange:Number = (rightPupilRightMost - rightPupilLeftMost);
var rightPupilTopMost:Number = (EYE_CENTER_Y - (pupilSize * 0.5));
var rightPupilBottomMost:Number = (EYE_CENTER_Y + (pupilSize * 0.5));
var rightPupilVertRange:Number = (rightPupilBottomMost - rightPupilTopMost);
rightPupilPos.x = (rightPupilLeftMost + (rightPupilPos.x * rightPupilHorRange));
rightPupilPos.y = (rightPupilTopMost + (rightPupilPos.y * rightPupilVertRange));
rightPupil.setPos(pos.add(new Point((rightPupilPos.x * getWidth()), (rightPupilPos.y * getWidth()))));
rightPupil.draw();
leftEyelid.setBlitColour(color);
leftEyelid.setWidth((getWidth() * eyeBallSize));
leftEyelid.setPos(leftEyeBallCenter);
leftEyelid.draw();
rightEyelid.setBlitColour(color);
rightEyelid.setWidth((getWidth() * eyeBallSize));
rightEyelid.setPos(rightEyeBallCenter);
rightEyelid.draw();
drawHelperArrows();
}
override public function setNormalBlitColour():void{
sprite.setBlitColour(color);
}
override public function finish():void{
gameWindow.setGreyGoo(null);
super.finish();
}
public function limitToLevelHard():void{
var levelLeft:Number = gameWindow.getLevelLeft();
var levelTop:Number = gameWindow.getLevelTop();
var levelRight:Number = gameWindow.getLevelRight();
var levelBottom:Number = gameWindow.getLevelBottom();
var gooPosX:Number = pos.x;
if ((gooPosX - (width / 2)) < levelLeft){
gooPosX = (levelLeft + (width / 2));
vel.x = 0;
};
if ((gooPosX + (width / 2)) > levelRight){
gooPosX = (levelRight - (width / 2));
vel.x = 0;
};
var gooPosY:Number = pos.y;
if ((gooPosY - (height / 2)) < levelTop){
gooPosY = (levelTop + (height / 2));
vel.y = 0;
};
if ((gooPosY + (height / 2)) > levelBottom){
gooPosY = (levelBottom - (height / 2));
vel.y = 0;
};
setPosComp(gooPosX, gooPosY);
}
override public function eatEntity(entity:Entity):void{
var ec:EatenColor = new EatenColor();
ec.r = entity.effectColor.r;
ec.g = entity.effectColor.g;
ec.b = entity.effectColor.b;
ec.time = 0;
var sizeRatioMultiplier:Number = 3;
ec.sizeRatio = (sizeRatioMultiplier * (entity.getActualArea() / getActualArea()));
eatenColours.push(ec);
var volume:Number = 1;
var pan:Number = 0;
entity.getVolumePan();
volume = tempVolume;
pan = tempPan;
puffSound.play(volume, pan);
recentAreaEaten = (recentAreaEaten + entity.getActualArea());
gameWindow.gooAteEntity(entity);
if (arrowEntity == entity){
arrowEntityEaten();
};
super.eatEntity(entity);
}
public function getRandomBlinkInterval():Number{
var MIN_BLINK_INTERVAL:Number = 0.5;
var MAX_BLINK_INTERVAL:Number = 3;
return (Utilities.randomDouble(MIN_BLINK_INTERVAL, MAX_BLINK_INTERVAL));
}
override public function getDamageParticleColour():Color{
return (particleColor);
}
public function drawHelperArrows():void{
var diff:Point;
var arrowAngle:Number;
var distanceToEntity:Number;
var arrow:DingoImage;
var arrowBack:DingoImage;
var gooWidth:Number;
var closestWidth:Number;
var widthRatio:Number;
var minArrowSize:Number;
var minArrowSizeAtRatio:Number;
var maxArrowSize:Number;
var arrowWidth:Number;
var gooStopAtRadius:Number;
var actualGooRadius:Number;
var centerDist:Number;
var arrowRelToGoo:Point;
var arrowSpritePos:Point;
var totalRadius:Number;
var drawPosCenterX:int;
var drawPosCenterY:int;
var drawPosX:int;
var drawPosY:int;
var naturalWidth:Number;
var zoom:Number;
var backOpacity:Number;
if (!activeController){
return;
};
updateHelperArrows();
if (arrowEntity){
diff = arrowPointTo.subtract(pos);
arrowAngle = Utilities.angleOfPoint(diff);
distanceToEntity = diff.length;
arrow = ResourceManager.getInstance().getDingoImage("helperarrow");
arrow.setBlitColour(arrowColor.clone());
arrowBack = ResourceManager.getInstance().getDingoImage("helperarrowback");
gooWidth = Math.sqrt(getActualArea());
closestWidth = Math.sqrt(arrowActualArea);
widthRatio = (closestWidth / gooWidth);
minArrowSize = 15;
minArrowSizeAtRatio = 0.4;
maxArrowSize = 36;
widthRatio = (widthRatio - minArrowSizeAtRatio);
widthRatio = Utilities.getClampDouble(widthRatio, 0, 1);
widthRatio = (widthRatio / (1 - minArrowSizeAtRatio));
arrowWidth = (minArrowSize + (widthRatio * (maxArrowSize - minArrowSize)));
gooStopAtRadius = 0.75;
actualGooRadius = (getRadius() * gooStopAtRadius);
centerDist = (actualGooRadius + (arrowWidth * 0.5));
arrowRelToGoo = Point.polar(centerDist, -(Utilities.degToRad(arrowAngle)));
arrowSpritePos = pos.add(arrowRelToGoo);
totalRadius = actualGooRadius;
arrowClosenessOpacity = ((distanceToEntity - totalRadius) / (arrowWidth * 2));
arrowClosenessOpacity = Utilities.getClampDouble(arrowClosenessOpacity, 0, 1);
drawPosCenterX = gameWindow.camera.spriteToScreenX(arrowSpritePos.x);
drawPosCenterY = gameWindow.camera.spriteToScreenY(arrowSpritePos.y);
drawPosX = (drawPosCenterX - (arrow.getWidth() / 2));
drawPosY = (drawPosCenterY - (arrow.getHeight() / 2));
naturalWidth = arrow.getWidth();
zoom = (arrowWidth / naturalWidth);
backOpacity = 0.15;
arrowBack.blitAlphaRectFxCenter(zoom, drawPosCenterX, drawPosCenterY, arrowAngle, zoom, ((arrowClosenessOpacity * arrowFadeOpacity) * backOpacity));
arrow.blitAlphaRectFxCenter(zoom, drawPosCenterX, drawPosCenterY, arrowAngle, zoom, (arrowClosenessOpacity * arrowFadeOpacity));
drawReticle((arrowClosenessOpacity * arrowFadeOpacity));
};
}
override public function emitNonGooEatenParticles():void{
var speed:Number;
var emitColor:Color;
var pe:ParticleEngine = gameWindow.getParticleEngine();
var areaRoot:Number = Math.sqrt(getActualArea());
var pWidth:Number = ((areaRoot * 2.5) * 0.719);
var speedScale:Number = (areaRoot * 5);
var numEatenParticles = 20;
var p:Particle;
var particleIndex:int;
while (particleIndex < numEatenParticles) {
p = pe.popInactive();
if (p){
p.setCellNum(3);
p.pos = pos.clone();
speed = Utilities.randomDouble((0.3 * speedScale), (1 * speedScale));
p.vel = Point.polar(speed, -(Utilities.degToRad(Utilities.randomDouble(0, 360))));
p.angle = Utilities.randomDouble(0, 360);
emitColor = getDamageParticleColour();
p.color.r = emitColor.r;
p.color.g = emitColor.g;
p.color.b = emitColor.b;
p.color.a = emitColor.a;
p.width = pWidth;
p.lifeLength = 1;
pe.pushActive(p);
};
particleIndex++;
};
}
public function updateHelperArrows():void{
if (!activeController){
return;
};
var entityEngine:EntityEngine = gameWindow.getEntityEngine();
var minArea:Number = (getActualArea() * 0.5);
var maxArea:Number = getActualArea();
var closest:Entity = entityEngine.getClosestEntityWithArea(activeController, (getRadius() + Utilities.scaleDist(300)), minArea, maxArea);
if (arrowEntity){
if (arrowFadingOut){
if (closest == arrowEntity){
arrowFadingIn = true;
arrowFadingOut = false;
};
} else {
if (arrowFadingIn){
if (closest != arrowEntity){
arrowFadingIn = false;
arrowFadingOut = true;
};
} else {
if (closest != arrowEntity){
arrowFadingIn = false;
arrowFadingOut = true;
} else {
arrowFadingIn = true;
arrowFadingOut = false;
};
};
};
} else {
if (closest){
arrowEntity = closest;
arrowFadingIn = true;
arrowFadingOut = false;
};
};
if ((((closest == arrowEntity)) && (arrowEntity))){
arrowPointTo = arrowEntity.pos.clone();
arrowActualArea = arrowEntity.getActualArea();
arrowClosestRadius = arrowEntity.getRadius();
arrowColor = arrowEntity.getEffectColor().clone();
arrowEntWidth = arrowEntity.getWidth();
arrowEntHeight = arrowEntity.getHeight();
arrowEntAngle = arrowEntity.getAngle();
arrowEntVel = arrowEntity.getVel();
arrowEntAngleVel = arrowEntity.getAngularVel();
} else {
arrowPointTo.x = (arrowPointTo.x + (arrowEntVel.x * FlxG.elapsed));
arrowPointTo.y = (arrowPointTo.y + (arrowEntVel.y * FlxG.elapsed));
arrowEntAngle = (arrowEntAngle + (arrowEntAngleVel * FlxG.elapsed));
};
var fadeRate:Number = 6;
if (arrowFadingIn){
arrowFadeOpacity = (arrowFadeOpacity + (fadeRate * FlxG.elapsed));
if (arrowFadeOpacity >= 1){
arrowFadeOpacity = 1;
arrowFadingIn = false;
};
};
if (arrowFadingOut){
arrowFadeOpacity = (arrowFadeOpacity - (fadeRate * FlxG.elapsed));
if (arrowFadeOpacity <= 0){
arrowFadeOpacity = 0;
arrowFadingOut = false;
if (closest){
arrowEntity = closest;
arrowFadingIn = true;
};
};
};
if (closest == arrowEntity){
arrowPointsToClosest = true;
} else {
arrowPointsToClosest = false;
};
if (closest){
eyeBallTarget = closest.pos.clone();
} else {
eyeBallTarget = randPupilTarget.clone();
};
}
public function drawReticle(reticleOpacity:Number):void{
reticleSprite.setBlitColour(new Color(arrowColor.r, arrowColor.g, arrowColor.b, (arrowColor.a * reticleOpacity)));
reticleSprite.setShadow(false, 0, 0);
var MIN_RET_WIDTH:Number = 12;
var MAX_RET_WIDTH:Number = 16;
var RET_RANGE:Number = (MAX_RET_WIDTH - MIN_RET_WIDTH);
var MIN_AT_DIAM:Number = 30;
var MAX_AT_DIAM:Number = 100;
var DIAM_RANGE:Number = (MAX_AT_DIAM - MIN_AT_DIAM);
var ratioOfRange:Number = (((arrowClosestRadius * 2) - MIN_AT_DIAM) / DIAM_RANGE);
var retWidth:Number = (MIN_RET_WIDTH + (RET_RANGE * ratioOfRange));
retWidth = Utilities.getClampDouble(retWidth, MIN_RET_WIDTH, MAX_RET_WIDTH);
reticleSprite.setWidth(retWidth);
reticleSprite.setDrawUsingFloat(true);
var topLeft:Point = new Point((-(arrowEntWidth) * 0.5), (-(arrowEntHeight) * 0.5));
var topRight:Point = new Point((arrowEntWidth * 0.5), (-(arrowEntHeight) * 0.5));
var bottomRight:Point = new Point((arrowEntWidth * 0.5), (arrowEntHeight * 0.5));
var bottomLeft:Point = new Point((-(arrowEntWidth) * 0.5), (arrowEntHeight * 0.5));
topLeft = Point.polar(topLeft.length, -(Utilities.degToRad((Utilities.angleOfPoint(topLeft) + arrowEntAngle))));
topRight = Point.polar(topRight.length, -(Utilities.degToRad((Utilities.angleOfPoint(topRight) + arrowEntAngle))));
bottomRight = Point.polar(bottomRight.length, -(Utilities.degToRad((Utilities.angleOfPoint(bottomRight) + arrowEntAngle))));
bottomLeft = Point.polar(bottomLeft.length, -(Utilities.degToRad((Utilities.angleOfPoint(bottomLeft) + arrowEntAngle))));
topLeft.x = (topLeft.x + arrowPointTo.x);
topLeft.y = (topLeft.y + arrowPointTo.y);
topRight.x = (topRight.x + arrowPointTo.x);
topRight.y = (topRight.y + arrowPointTo.y);
bottomRight.x = (bottomRight.x + arrowPointTo.x);
bottomRight.y = (bottomRight.y + arrowPointTo.y);
bottomLeft.x = (bottomLeft.x + arrowPointTo.x);
bottomLeft.y = (bottomLeft.y + arrowPointTo.y);
topLeft.x = Utilities.roundToInt(topLeft.x);
topLeft.y = Utilities.roundToInt(topLeft.y);
topRight.x = Utilities.roundToInt(topRight.x);
topRight.y = Utilities.roundToInt(topRight.y);
bottomRight.x = Utilities.roundToInt(bottomRight.x);
bottomRight.y = Utilities.roundToInt(bottomRight.y);
bottomLeft.x = Utilities.roundToInt(bottomLeft.x);
bottomLeft.y = Utilities.roundToInt(bottomLeft.y);
reticleSprite.setPos(topLeft);
reticleSprite.setAngle(arrowEntAngle);
reticleSprite.draw();
reticleSprite.setPos(topRight);
reticleSprite.setAngle((arrowEntAngle + 270));
reticleSprite.draw();
reticleSprite.setPos(bottomRight);
reticleSprite.setAngle((arrowEntAngle + 180));
reticleSprite.draw();
reticleSprite.setPos(bottomLeft);
reticleSprite.setAngle((arrowEntAngle + 90));
reticleSprite.draw();
}
override public function takeDamage(damager:Entity):void{
super.takeDamage(damager);
}
public function limitToLevelSoft():void{
var levelLeft:Number = gameWindow.getLevelLeft();
var levelTop:Number = gameWindow.getLevelTop();
var levelRight:Number = gameWindow.getLevelRight();
var levelBottom:Number = gameWindow.getLevelBottom();
var velSlowRate:Number = 3;
var gooPosX:Number = pos.x;
if ((gooPosX - (width / 2)) < levelLeft){
gooPosX = (levelLeft + (width / 2));
if (vel.x < 0){
vel.x = ((vel.x * velSlowRate) * FlxG.elapsed);
};
};
if ((gooPosX + (width / 2)) > levelRight){
gooPosX = (levelRight - (width / 2));
if (vel.x > 0){
vel.x = ((vel.x * velSlowRate) * FlxG.elapsed);
};
};
var gooPosY:Number = pos.y;
if ((gooPosY - (height / 2)) < levelTop){
gooPosY = (levelTop + (height / 2));
if (vel.y < 0){
vel.y = ((vel.y * velSlowRate) * FlxG.elapsed);
};
};
if ((gooPosY + (height / 2)) > levelBottom){
gooPosY = (levelBottom - (height / 2));
if (vel.y > 0){
vel.y = ((vel.y * velSlowRate) * FlxG.elapsed);
};
};
var posChangeRate:Number = 100;
var gooDiffX:Number = (pos.x - gooPosX);
var gooReturnX:Number = ((gooDiffX * posChangeRate) / width);
var newGooPosX:Number = (pos.x - (gooReturnX * FlxG.elapsed));
var gooDiffY:Number = (pos.y - gooPosY);
var gooReturnY:Number = ((gooDiffY * posChangeRate) / height);
var newGooPosY:Number = (pos.y - (gooReturnY * FlxG.elapsed));
setPosComp(newGooPosX, newGooPosY);
}
override public function update():void{
var RAND_AMOUNT:Number;
var randomVector:Point;
var MIN_PUPIL_CHANGE_TIME:Number;
var MAX_PUPIL_CHANGE_TIME:Number;
var fullEffStartTime:Number;
var fullEffEndTime:Number;
var effTotalTime:Number;
var effect:Number;
var lastLength:Number;
var timeInLast:Number;
super.update();
limitToLevelSoft();
gameWindow.setGooPos(pos);
var dt:Number = FlxG.elapsed;
leftEyeBall.update();
rightEyeBall.update();
leftPupil.update();
rightPupil.update();
leftEyelid.update();
rightEyelid.update();
timeSinceRandPupilChange = (timeSinceRandPupilChange + dt);
if (timeSinceRandPupilChange > pupilChangeTime){
RAND_AMOUNT = 200;
randomVector = new Point(Utilities.randomDouble(-(RAND_AMOUNT), RAND_AMOUNT), Utilities.randomDouble(-(RAND_AMOUNT), RAND_AMOUNT));
randPupilTarget = pos.add(randomVector);
timeSinceRandPupilChange = 0;
MIN_PUPIL_CHANGE_TIME = 0.5;
MAX_PUPIL_CHANGE_TIME = 2.5;
pupilChangeTime = Utilities.randomDouble(MIN_PUPIL_CHANGE_TIME, MAX_PUPIL_CHANGE_TIME);
};
var targetDiff:Point = eyeBallTarget.subtract(currentPupilTarget);
var origPupilTarget:Point = currentPupilTarget;
var TARGET_AQUIRE_TIME:Number = 0.25;
targetDiff.x = (targetDiff.x / TARGET_AQUIRE_TIME);
targetDiff.y = (targetDiff.y / TARGET_AQUIRE_TIME);
Utilities.boundR(targetDiff, 1000, 50000);
currentPupilTarget.x = (currentPupilTarget.x + (targetDiff.x * dt));
currentPupilTarget.y = (currentPupilTarget.y + (targetDiff.y * dt));
var newTargetDiff:Point = eyeBallTarget.subtract(currentPupilTarget);
var eyeDiffChangedX:Boolean = (((((targetDiff.x > 0)) && ((newTargetDiff.x < 0)))) || ((((targetDiff.x < 0)) && ((newTargetDiff.x > 0)))));
var eyeDiffChangedY:Boolean = (((((targetDiff.y > 0)) && ((newTargetDiff.y < 0)))) || ((((targetDiff.y < 0)) && ((newTargetDiff.y > 0)))));
if (eyeDiffChangedX){
currentPupilTarget.x = eyeBallTarget.x;
};
if (eyeDiffChangedY){
currentPupilTarget.y = eyeBallTarget.y;
};
timeSinceBlink = (timeSinceBlink + dt);
if (timeSinceBlink > blinkInterval){
leftEyelid.playAnimation(blinkAnimation);
rightEyelid.playAnimation(blinkAnimation);
timeSinceBlink = 0;
blinkInterval = getRandomBlinkInterval();
};
if (((leftEyelid.getAnimation()) && (leftEyelid.getAnimation().isDone()))){
leftEyelid.removeCurrentAnimation();
};
if (((rightEyelid.getAnimation()) && (rightEyelid.getAnimation().isDone()))){
rightEyelid.removeCurrentAnimation();
};
updateYumYum();
color.r = 0.7;
color.g = 0.7;
color.b = 0.7;
var eatenR:Number = 0;
var eatenG:Number = 0;
var eatenB:Number = 0;
var eatenTotalEffect:Number = 0;
var i:int;
var ec:EatenColor;
while (i < eatenColours.length) {
ec = eatenColours[i];
ec.time = (ec.time + dt);
fullEffStartTime = 0.15;
fullEffEndTime = 1.5;
effTotalTime = 2.5;
effect = 0;
if (ec.time > effTotalTime){
ec = null;
eatenColours.splice(i, 1);
} else {
if (ec.time < fullEffStartTime){
effect = (ec.time / fullEffStartTime);
} else {
if (ec.time < fullEffEndTime){
effect = 1;
} else {
if (ec.time < effTotalTime){
lastLength = (effTotalTime - fullEffEndTime);
timeInLast = (ec.time - fullEffEndTime);
effect = (1 - (timeInLast / lastLength));
} else {
effect = 0;
};
};
};
effect = Utilities.getClampDouble(effect, 0, 1);
eatenTotalEffect = (eatenTotalEffect + (effect * ec.sizeRatio));
eatenR = (eatenR + ((ec.r * effect) * ec.sizeRatio));
eatenG = (eatenG + ((ec.g * effect) * ec.sizeRatio));
eatenB = (eatenB + ((ec.b * effect) * ec.sizeRatio));
i++;
};
};
if (eatenTotalEffect > 0){
eatenR = (eatenR / eatenTotalEffect);
eatenG = (eatenG / eatenTotalEffect);
eatenB = (eatenB / eatenTotalEffect);
eatenTotalEffect = Utilities.getClampDouble(eatenTotalEffect, 0, 1);
color.r = ((color.r * (1 - eatenTotalEffect)) + (eatenR * eatenTotalEffect));
color.g = ((color.g * (1 - eatenTotalEffect)) + (eatenG * eatenTotalEffect));
color.b = ((color.b * (1 - eatenTotalEffect)) + (eatenB * eatenTotalEffect));
};
}
override public function getSoundSizeMultiplier():Number{
return (1);
}
public function updateYumYum():void{
var levelCompleteSound:DingoSoundEffect;
var volume:Number;
var pan:Number;
var dt:Number = FlxG.elapsed;
var MIN_YUM_YUM_PERIOD:Number = 10;
var RECENT_AREA_REDUCTION_RATE:Number = 0.55;
var YUM_YUM_AT:Number = 1.5;
lastYumYum = (lastYumYum + dt);
var recentAreaBigEnough = (recentAreaEaten > (YUM_YUM_AT * actualArea));
var waitedLongEnough = (lastYumYum > MIN_YUM_YUM_PERIOD);
if (((((recentAreaBigEnough) && (!(beingEaten)))) && (!(deleteMe)))){
if (waitedLongEnough){
lastYumYum = 0;
recentAreaEaten = 0;
levelCompleteSound = SoundEffectSystem.getInstance().getSoundEffect("levelcomplete");
volume = 1;
pan = 1;
getVolumePan();
volume = tempVolume;
pan = tempPan;
yumYumSound.play(volume, pan);
} else {
recentAreaEaten = (YUM_YUM_AT * actualArea);
};
};
recentAreaEaten = (recentAreaEaten - ((RECENT_AREA_REDUCTION_RATE * actualArea) * dt));
recentAreaEaten = Utilities.getClampDouble(recentAreaEaten, 0, 10000000);
}
override public function playEatenSound():void{
super.playEatenSound();
}
override public function collisionReaction(otherEntity:Entity):void{
super.collisionReaction(otherEntity);
}
public function getPupilPos(eyeBallCenter:Point):Point{
var diff:Point = currentPupilTarget.subtract(eyeBallCenter);
var eyeBallMaxDist:Number = (50 + getWidth());
diff.x = (diff.x * (1 / eyeBallMaxDist));
diff.y = (diff.y * (1 / eyeBallMaxDist));
Utilities.boundR(diff, 0, 1);
return (diff);
}
}
}//package
Section 190
//Level (Level)
package {
import flash.utils.*;
import org.flixel.*;
public class Level {
protected const dino3LevelXML:Class;
protected const dino4LevelXML:Class;
protected const dino6LevelXML:Class;
protected const dinotrex1aLevelXML:Class;
protected const lab1bLevelXML:Class;
protected const lab1cLevelXML:Class;
protected const lab2aLevelXML:Class;
protected const asteroid1LevelXML:Class;
public var entityEngine:EntityEngine;// = null
public var areaLevelNum:int;// = 0
public var fileName:String;// = ""
public var victorySpecialEntities:Boolean;// = false
public var levelTop:Number;// = 0
public var victorySize:Number;// = 0
public var numSpecialEntities:int;// = 0
public var victoryEatEverything:Boolean;// = false
public var levelMode:int;// = -1
public var gooStartArea:Number;// = 250
public var goldTime:int;// = 0
public var smallerEntityCheck:Boolean;// = false
public var growthRate:Number;// = 0.1
public var unitMultiplier:Number;// = 1
public var areaType:String;// = ""
public var tipText:String;// = ""
public var hasTimeLimit:Boolean;// = false
public var timeAttack:Boolean;// = false
public var silverTime:int;// = 0
public var tipTitle:String;// = ""
public var tipImage:String;// = ""
public var bronzeTime:int;// = 0
public var displayLevelName:String;// = ""
public var tileEngine:TileEngine;// = null
public var creditsOnlyEnd:Boolean;// = false
public var gooStartX:Number;// = 0
public var hasTip:Boolean;// = false
public var levelWidth:Number;// = 0
public var victoryBySize:Boolean;// = false
public var levelLeft:Number;// = 0
public var gooStartY:Number;// = 0
public var smallestRandomEmit:Number;// = 0
public var gooShadowX:int;// = 5
public var gooShadowY:int;// = 5
public var emitters:Array;// = null
public var levelHeight:Number;// = 0
public var redCatOnly:Boolean;// = false
public var levelBottom:Number;// = 0
public var end:Boolean;// = false
public var timeLimit:int;// = 0
public var levelRight:Number;// = 0
public function Level(aTileEngine:TileEngine, anEntityEngine:EntityEngine, aLevelMode:int, anEmitters:Array):void{
lab2aLevelXML = Level_lab2aLevelXML;
lab1bLevelXML = Level_lab1bLevelXML;
lab1cLevelXML = Level_lab1cLevelXML;
dino3LevelXML = Level_dino3LevelXML;
dino4LevelXML = Level_dino4LevelXML;
dinotrex1aLevelXML = Level_dinotrex1aLevelXML;
dino6LevelXML = Level_dino6LevelXML;
asteroid1LevelXML = Level_asteroid1LevelXML;
super();
fileName = "";
levelMode = aLevelMode;
timeAttack = true;
tileEngine = aTileEngine;
entityEngine = anEntityEngine;
emitters = anEmitters;
}
public function readGoo(gooEl:XML):void{
if (hasLevelAttribute(timeAttack, gooEl, "x")){
gooStartX = Number(queryLevelAttribute(timeAttack, gooEl, "x"));
gooStartX = Utilities.scaleDist(gooStartX);
};
if (hasLevelAttribute(timeAttack, gooEl, "y")){
gooStartY = Number(queryLevelAttribute(timeAttack, gooEl, "y"));
gooStartY = Utilities.scaleDist(gooStartY);
};
if (hasLevelAttribute(timeAttack, gooEl, "area")){
gooStartArea = Number(queryLevelAttribute(timeAttack, gooEl, "area"));
gooStartArea = Utilities.scaleArea(gooStartArea);
};
if (hasLevelAttribute(timeAttack, gooEl, "shadowx")){
gooShadowX = int(queryLevelAttribute(timeAttack, gooEl, "shadowx"));
gooShadowX = Utilities.scaleDist(gooShadowX);
};
if (hasLevelAttribute(timeAttack, gooEl, "shadowy")){
gooShadowY = int(queryLevelAttribute(timeAttack, gooEl, "shadowy"));
gooShadowY = Utilities.scaleDist(gooShadowY);
};
}
public function readXML(xmlFilename:String):void{
var next:XML;
var nextValue:String;
var i:int;
var em:EntityEmitter;
fileName = xmlFilename;
var file:ByteArray = new (this[fileName]);
var str:String = file.readUTFBytes(file.length);
var root:XML = new XML(str);
if (hasLevelAttribute(timeAttack, root, "width")){
levelWidth = Number(queryLevelAttribute(timeAttack, root, "width"));
levelWidth = Utilities.scaleDist(levelWidth);
};
if (hasLevelAttribute(timeAttack, root, "height")){
levelHeight = Number(queryLevelAttribute(timeAttack, root, "height"));
levelHeight = Utilities.scaleDist(levelHeight);
};
if (hasLevelAttribute(timeAttack, root, "levelboundx1")){
levelLeft = int(queryLevelAttribute(timeAttack, root, "levelboundx1"));
levelLeft = Utilities.scaleDist(levelLeft);
};
if (hasLevelAttribute(timeAttack, root, "levelboundy1")){
levelTop = int(queryLevelAttribute(timeAttack, root, "levelboundy1"));
levelTop = Utilities.scaleDist(levelTop);
};
if (hasLevelAttribute(timeAttack, root, "levelboundx2")){
levelRight = int(queryLevelAttribute(timeAttack, root, "levelboundx2"));
levelRight = Utilities.scaleDist(levelRight);
};
if (hasLevelAttribute(timeAttack, root, "levelboundy2")){
levelBottom = int(queryLevelAttribute(timeAttack, root, "levelboundy2"));
levelBottom = Utilities.scaleDist(levelBottom);
};
levelWidth = (levelRight - levelLeft);
levelHeight = (levelBottom - levelTop);
entityEngine.createPartitionLayers(levelLeft, levelTop, levelRight, levelBottom);
if (hasLevelAttribute(timeAttack, root, "growthrate")){
growthRate = Number(queryLevelAttribute(timeAttack, root, "growthrate"));
};
if (hasLevelAttribute(timeAttack, root, "redcatonly")){
redCatOnly = Utilities.XMLListToBoolean(queryLevelAttribute(timeAttack, root, "redcatonly"));
};
if (hasLevelAttribute(timeAttack, root, "timelimit")){
timeLimit = int(queryLevelAttribute(timeAttack, root, "timelimit"));
};
if (hasLevelAttribute(timeAttack, root, "victorysize")){
victorySize = Number(queryLevelAttribute(timeAttack, root, "victorysize"));
victorySize = Utilities.scaleArea(victorySize);
};
if (hasLevelAttribute(timeAttack, root, "numspecialentities")){
numSpecialEntities = int(queryLevelAttribute(timeAttack, root, "numspecialentities"));
};
if (hasLevelAttribute(timeAttack, root, "victoryeateverything")){
victoryEatEverything = Utilities.XMLListToBoolean(queryLevelAttribute(timeAttack, root, "victoryeateverything"));
};
if (hasLevelAttribute(timeAttack, root, "unitmultiplier")){
unitMultiplier = Number(queryLevelAttribute(timeAttack, root, "unitmultiplier"));
unitMultiplier = Utilities.scaleDist(unitMultiplier);
};
if (hasLevelAttribute(timeAttack, root, "smallerentitycheck")){
smallerEntityCheck = Utilities.XMLListToBoolean(queryLevelAttribute(timeAttack, root, "smallerentitycheck"));
};
if (hasLevelAttribute(timeAttack, root, "goldtime")){
goldTime = int(queryLevelAttribute(timeAttack, root, "goldtime"));
};
if (hasLevelAttribute(timeAttack, root, "silvertime")){
silverTime = int(queryLevelAttribute(timeAttack, root, "silvertime"));
};
if (hasLevelAttribute(timeAttack, root, "bronzetime")){
bronzeTime = int(queryLevelAttribute(timeAttack, root, "bronzetime"));
};
var SILVER_MULTIPLIER:Number = 1.1;
var BRONZE_MULTIPLIER:Number = 1.3;
var LEVEL_TIME_MULTIPLIER:Number = 1.5;
if (((((!((goldTime == 0))) && ((silverTime == 0)))) && ((bronzeTime == 0)))){
silverTime = Utilities.roundToInt((goldTime * SILVER_MULTIPLIER));
bronzeTime = Utilities.roundToInt((goldTime * BRONZE_MULTIPLIER));
timeLimit = Utilities.roundToInt((goldTime * LEVEL_TIME_MULTIPLIER));
};
if (timeLimit > 0){
hasTimeLimit = true;
};
if (victorySize > 0){
victoryBySize = true;
};
if (numSpecialEntities > 0){
victorySpecialEntities = true;
};
if (hasLevelAttribute(timeAttack, root, "area")){
areaType = queryLevelAttribute(timeAttack, root, "area");
};
if (hasLevelAttribute(timeAttack, root, "levelnum")){
areaLevelNum = int(queryLevelAttribute(timeAttack, root, "levelnum"));
};
displayLevelName = "no level name";
for each (next in root.children()) {
nextValue = next.name();
if (nextValue == "emitter"){
readEmitter(next);
} else {
if (nextValue == "goo"){
readGoo(next);
} else {
if (nextValue == "tip"){
} else {
if (nextValue == "comic"){
} else {
if (nextValue == "end"){
} else {
if (nextValue == "tilelayers"){
tileEngine.readXML(next);
};
};
};
};
};
};
};
if (smallerEntityCheck){
smallestRandomEmit = 100000;
i = 0;
i = 0;
while (i < emitters.length) {
em = emitters[i];
if (em.isRandomEmit()){
smallestRandomEmit = Math.min(em.getMinArea(), smallestRandomEmit);
};
i++;
};
};
}
public function setVars(aTileEngine:TileEngine, anEntityEngine:EntityEngine, anEmitters:Array):void{
tileEngine = aTileEngine;
entityEngine = anEntityEngine;
emitters = anEmitters;
}
public function readEmitter(emitterEl:XML):void{
var type:String = emitterEl.attribute("type");
var emitter:EntityEmitter;
if (type == "side"){
emitter = new EmitterSide(entityEngine);
} else {
if (type == "spot"){
emitter = new EmitterSpot(entityEngine);
} else {
if (type == "shot"){
emitter = new EmitterShot(entityEngine);
};
};
};
emitter.readXML(timeAttack, emitterEl);
emitters.push(emitter);
}
public static function queryLevelAttribute(timeAttackLevel:Boolean, xmlEl:XML, name:String):XMLList{
if (timeAttackLevel){
if (xmlEl.attribute(getTimeAttackName(name)) != undefined){
return (xmlEl.attribute(getTimeAttackName(name)));
};
};
return (xmlEl.attribute(name));
}
public static function hasLevelAttribute(timeAttackLevel:Boolean, xmlEl:XML, name:String):Boolean{
if (timeAttackLevel){
if (xmlEl.attribute(getTimeAttackName(name)) != undefined){
return (true);
};
};
if (xmlEl.attribute(name) != undefined){
return (true);
};
return (false);
}
public static function getTimeAttackName(name:String):String{
return ((name + "ta"));
}
}
}//package
Section 191
//Level_asteroid1LevelXML (Level_asteroid1LevelXML)
package {
import mx.core.*;
public class Level_asteroid1LevelXML extends ByteArrayAsset {
}
}//package
Section 192
//Level_dino3LevelXML (Level_dino3LevelXML)
package {
import mx.core.*;
public class Level_dino3LevelXML extends ByteArrayAsset {
}
}//package
Section 193
//Level_dino4LevelXML (Level_dino4LevelXML)
package {
import mx.core.*;
public class Level_dino4LevelXML extends ByteArrayAsset {
}
}//package
Section 194
//Level_dino6LevelXML (Level_dino6LevelXML)
package {
import mx.core.*;
public class Level_dino6LevelXML extends ByteArrayAsset {
}
}//package
Section 195
//Level_dinotrex1aLevelXML (Level_dinotrex1aLevelXML)
package {
import mx.core.*;
public class Level_dinotrex1aLevelXML extends ByteArrayAsset {
}
}//package
Section 196
//Level_lab1bLevelXML (Level_lab1bLevelXML)
package {
import mx.core.*;
public class Level_lab1bLevelXML extends ByteArrayAsset {
}
}//package
Section 197
//Level_lab1cLevelXML (Level_lab1cLevelXML)
package {
import mx.core.*;
public class Level_lab1cLevelXML extends ByteArrayAsset {
}
}//package
Section 198
//Level_lab2aLevelXML (Level_lab2aLevelXML)
package {
import mx.core.*;
public class Level_lab2aLevelXML extends ByteArrayAsset {
}
}//package
Section 199
//LevelProgress (LevelProgress)
package {
import flash.net.*;
public class LevelProgress {
public var sharedObject:SharedObject;// = null
public var medalTimes:Object;
public static var MEDAL_NONE:int = 0;
public static var MEDAL_GOLD:int = 1;
public static var LEVEL_NORMAL:int = 0;
public static var LEVEL_ENDURANCE:int = 2;
private static var instance:LevelProgress = null;
public static var MEDAL_BRONZE:int = 3;
public static var MEDAL_SILVER:int = 2;
public static var LEVEL_TIME_ATTACK:int = 1;
public function LevelProgress():void{
medalTimes = new Object();
super();
sharedObject = SharedObject.getLocal("tastyud");
var medalTime:Object;
medalTime = new Object();
medalTime["goldlimit"] = 45;
medalTime["silverlimit"] = 55;
medalTime["bronzelimit"] = 75;
medalTime["timelimit"] = 120;
medalTimes["lab2aLevelXML"] = medalTime;
medalTime = new Object();
medalTime["goldlimit"] = 40;
medalTime["silverlimit"] = 55;
medalTime["bronzelimit"] = 75;
medalTime["timelimit"] = 100;
medalTimes["lab1bLevelXML"] = medalTime;
medalTime = new Object();
medalTime["goldlimit"] = 45;
medalTime["silverlimit"] = 55;
medalTime["bronzelimit"] = 75;
medalTime["timelimit"] = 130;
medalTimes["lab1cLevelXML"] = medalTime;
medalTime = new Object();
medalTime["goldlimit"] = 70;
medalTime["silverlimit"] = 85;
medalTime["bronzelimit"] = 100;
medalTime["timelimit"] = 140;
medalTimes["dino3LevelXML"] = medalTime;
medalTime = new Object();
medalTime["goldlimit"] = 85;
medalTime["silverlimit"] = 95;
medalTime["bronzelimit"] = 120;
medalTime["timelimit"] = 230;
medalTimes["dino4LevelXML"] = medalTime;
medalTime = new Object();
medalTime["goldlimit"] = 115;
medalTime["silverlimit"] = 130;
medalTime["bronzelimit"] = 150;
medalTime["timelimit"] = 271;
medalTimes["dinotrex1aLevelXML"] = medalTime;
medalTime = new Object();
medalTime["goldlimit"] = 120;
medalTime["silverlimit"] = 135;
medalTime["bronzelimit"] = 155;
medalTime["timelimit"] = 170;
medalTimes["dino6LevelXML"] = medalTime;
medalTime = new Object();
medalTime["goldlimit"] = 155;
medalTime["silverlimit"] = 170;
medalTime["bronzelimit"] = 200;
medalTime["timelimit"] = 230;
medalTimes["asteroid1LevelXML"] = medalTime;
}
public function getSilverMedalTime(levelName:String):int{
return (medalTimes[levelName]["silverlimit"]);
}
public function getMedalType(levelName:String, levelTime:int):int{
if (levelTime <= getGoldMedalTime(levelName)){
return (MEDAL_GOLD);
};
if (levelTime <= getSilverMedalTime(levelName)){
return (MEDAL_SILVER);
};
if (levelTime <= getBronzeMedalTime(levelName)){
return (MEDAL_BRONZE);
};
return (MEDAL_NONE);
}
public function levelTimeExists(levelName:String):Boolean{
if (!sharedObject.data[levelName]){
return (false);
};
return (true);
}
public function getGoldMedalTime(levelName:String):int{
return (medalTimes[levelName]["goldlimit"]);
}
public function setLevelTime(levelName:String, time:Number):void{
sharedObject.data[levelName] = time;
sharedObject.flush();
}
public function getBronzeMedalTime(levelName:String):int{
return (medalTimes[levelName]["bronzelimit"]);
}
public function getTimeLimit(levelName:String):int{
return (medalTimes[levelName]["timelimit"]);
}
public function getLevelTime(levelName:String):Number{
return (sharedObject.data[levelName]);
}
public static function getInstance():LevelProgress{
if (instance == null){
instance = new (LevelProgress);
};
return (instance);
}
}
}//package
Section 200
//LevelStatus (LevelStatus)
package {
import flash.display.*;
import flash.text.*;
import flash.geom.*;
import org.flixel.*;
public class LevelStatus {
public var desiredRatioFull:Number;// = 0
public var barImage:BitmapData;// = null
public var gooActualSize:Number;// = 1
public var sizeTextBitmap:BitmapData;// = null
public var gooInitialSize:Number;// = 1
public var areaNeeded:Number;// = 1000
public var unitMultiplier:Number;// = 1
public var backImage:BitmapData;// = null
public var visibleRatioFull:Number;// = 0
public var sizeLabel:TextField;
public static var SIZE_LABEL_HEIGHT:int = 21;
public static var SIZE_LABEL_WIDTH:int = 152;
public function LevelStatus(aGameWindow:GameWindow):void{
super();
var format:TextFormat = new TextFormat();
format.font = "myarial";
format.color = 0xFFFFFF;
format.size = 12;
format.align = TextFormatAlign.CENTER;
sizeLabel = new TextField();
sizeLabel.embedFonts = true;
sizeLabel.width = SIZE_LABEL_WIDTH;
sizeLabel.height = SIZE_LABEL_HEIGHT;
sizeLabel.autoSize = TextFieldAutoSize.CENTER;
sizeLabel.antiAliasType = AntiAliasType.ADVANCED;
sizeLabel.defaultTextFormat = format;
sizeLabel.text = "";
backImage = ResourceManager.getInstance().getBitmapDataMasked("progressback");
barImage = ResourceManager.getInstance().getBitmapDataMasked("progressbar");
sizeTextBitmap = new BitmapData(SIZE_LABEL_WIDTH, SIZE_LABEL_HEIGHT, true, 0);
}
public function update():void{
var rate:Number = 0.1;
if (visibleRatioFull < desiredRatioFull){
visibleRatioFull = (visibleRatioFull + (rate * FlxG.elapsed));
if (visibleRatioFull > desiredRatioFull){
visibleRatioFull = desiredRatioFull;
};
};
if (visibleRatioFull > desiredRatioFull){
desiredRatioFull = (desiredRatioFull - (rate * FlxG.elapsed));
if (visibleRatioFull < desiredRatioFull){
visibleRatioFull = desiredRatioFull;
};
};
}
public function draw():void{
var padX:int;
var padY:int;
var x:int;
var y:int;
var barOffsetX:int;
var barOffsetY:int;
var visibleWidth:int;
var sourceRect:Rectangle;
var destPoint:Point;
padX = 5;
padY = 5;
x = padX;
y = padY;
FlxG.buffer.copyPixels(backImage, new Rectangle(0, 0, backImage.width, backImage.height), new Point(x, y), null, null, true);
barOffsetX = 7;
barOffsetY = 14;
visibleWidth = Utilities.roundToInt((barImage.width * visibleRatioFull));
x = (padX + barOffsetX);
y = (padY + barOffsetY);
FlxG.buffer.copyPixels(barImage, new Rectangle(0, 0, visibleWidth, barImage.height), new Point(x, y), null, null, true);
if (sizeTextBitmap){
sourceRect = new Rectangle(0, 0, sizeTextBitmap.width, sizeTextBitmap.height);
destPoint = new Point(padX, padY);
FlxG.buffer.copyPixels(sizeTextBitmap, sourceRect, destPoint, null, null, true);
};
}
public function clear():void{
visibleRatioFull = 0;
desiredRatioFull = 0;
}
public function setGooActualSize(aGooActualSize:Number, aGooInitialSize:Number):void{
gooActualSize = aGooActualSize;
gooInitialSize = aGooInitialSize;
var greyGooWidth:Number = Math.sqrt(gooActualSize);
var victoryWidth:Number = Math.sqrt(areaNeeded);
desiredRatioFull = (greyGooWidth / victoryWidth);
desiredRatioFull = Utilities.getClampDouble(desiredRatioFull, 0, 1);
var initialWidth:Number = Math.sqrt(gooInitialSize);
var initialRatioFull:Number = (initialWidth / victoryWidth);
if (initialRatioFull > visibleRatioFull){
visibleRatioFull = initialRatioFull;
};
var gooAreaSquareRoot:Number = Math.sqrt(gooActualSize);
var temp:Number = ((gooAreaSquareRoot * unitMultiplier) / Utilities.scaleArea(1));
var gooSizeString:String = UnitConverter.getInstance().metersToDisplay(temp);
sizeLabel.text = gooSizeString;
var matrix:Matrix = new Matrix();
matrix.tx = 0;
matrix.ty = 0;
sizeTextBitmap.fillRect(new Rectangle(0, 0, SIZE_LABEL_WIDTH, SIZE_LABEL_HEIGHT), 0);
sizeTextBitmap.draw(sizeLabel, matrix);
}
public function isAreaBiggerThanNeeded():Boolean{
if (gooActualSize >= areaNeeded){
desiredRatioFull = 1;
return (true);
};
return (false);
}
public function setUnitMultiplier(aUnitMultiplier:Number):void{
unitMultiplier = aUnitMultiplier;
}
public function setVictoryBySize(aVictoryBySize:Boolean, anAreaNeeded:Number):void{
areaNeeded = anAreaNeeded;
}
}
}//package
Section 201
//Listener (Listener)
package {
public class Listener {
public function Listener():void{
super();
}
public function animationDone(animation:Animation):void{
}
}
}//package
Section 202
//Particle (Particle)
package {
import flash.geom.*;
import org.flixel.*;
public class Particle {
public var imageMap:ParticleImage;// = null
public var gameWindow:GameWindow;// = null
public var width:Number;
public var sizeIndex:int;// = -1
public var opacity:Number;
public var angle:Number;
public var pos:Point;
public var time:Number;
public var vel:Point;
public var color:Color;
public var lifeLength:Number;
public var additiveBlend:Boolean;
public var particleEngine:ParticleEngine;// = null
public var removeMe:Boolean;
public function Particle(aGameWindow:GameWindow, aParticleEngine:ParticleEngine):void{
pos = new Point();
vel = new Point();
color = new Color();
super();
gameWindow = aGameWindow;
particleEngine = aParticleEngine;
init();
}
public function draw():void{
var screenWidth:Number;
if (additiveBlend){
imageMap.setAdditiveBlending();
} else {
imageMap.setNormalBlending();
};
imageMap.setBlitColour(color);
var screenCenterX:Number = gameWindow.camera.spriteToScreenX(pos.x);
var screenCenterY:Number = gameWindow.camera.spriteToScreenY(pos.y);
if (sizeIndex == -1){
screenWidth = gameWindow.camera.spriteToScreenWidth(width);
sizeIndex = imageMap.getSizeIndex(screenWidth);
};
imageMap.blitAlphaRectFxCenter(screenCenterX, screenCenterY, angle, sizeIndex, opacity);
}
public function setCellNum(num:int):void{
imageMap = particleEngine.imageMaps[num];
}
public function init():void{
imageMap = null;
color.r = 1;
color.g = 1;
color.b = 1;
color.a = 1;
opacity = 1;
width = 1;
angle = 1;
time = 0;
lifeLength = 0;
additiveBlend = false;
removeMe = false;
sizeIndex = -1;
}
public function update():void{
var dt:Number = FlxG.elapsed;
time = (time + dt);
if (time > lifeLength){
removeMe = true;
} else {
pos.x = (pos.x + (vel.x * dt));
pos.y = (pos.y + (vel.y * dt));
opacity = (1 - (time / lifeLength));
};
}
}
}//package
Section 203
//ParticleEngine (ParticleEngine)
package {
public class ParticleEngine {
public var gameWindow:GameWindow;
public var active:Array;
public var inactive:Array;
public var imageMaps:Array;
public function ParticleEngine(aGameWindow:GameWindow, maxParticles:int):void{
imageMaps = new Array();
active = new Array();
inactive = new Array();
super();
gameWindow = aGameWindow;
imageMaps.push(ResourceManager.getInstance().getParticleImage("particle0"));
imageMaps.push(ResourceManager.getInstance().getParticleImage("particle1"));
imageMaps.push(ResourceManager.getInstance().getParticleImage("particle2"));
imageMaps.push(ResourceManager.getInstance().getParticleImage("particle3"));
imageMaps.push(ResourceManager.getInstance().getParticleImage("particle4"));
imageMaps.push(ResourceManager.getInstance().getParticleImage("particle5"));
imageMaps.push(ResourceManager.getInstance().getParticleImage("particle6"));
var i:int;
while (i < maxParticles) {
inactive.push(new Particle(gameWindow, this));
i++;
};
}
public function pushActive(particle:Particle):void{
active.push(particle);
}
public function popInactive():Particle{
var particle:Particle;
if (inactive.length == 0){
return (null);
};
particle = inactive.pop();
particle.init();
return (particle);
}
public function update():void{
var i:int;
var particle:Particle;
while (i < active.length) {
particle = active[i];
particle.update();
if (particle.removeMe){
inactive.push(particle);
active.splice(i, 1);
} else {
i++;
};
};
}
public function draw():void{
var i:int;
var particle:Particle;
while (i < active.length) {
particle = active[i];
particle.draw();
i++;
};
}
public function clearActive():void{
var p:Particle;
while (active.length > 0) {
p = active[(active.length - 1)];
inactive.push(p);
active.pop();
};
}
}
}//package
Section 204
//ParticleImage (ParticleImage)
package {
import flash.display.*;
import flash.geom.*;
import org.flixel.*;
public class ParticleImage {
public var baseGraphicClass:Array;
public var color:Color;
public var alphaLevels:int;// = 1
public var sizeColorArray:Array;
public var baseSprites:Array;
public function ParticleImage(){
color = new Color();
baseSprites = new Array();
baseGraphicClass = new Array();
sizeColorArray = new Array();
super();
}
public function getHeight():int{
return (baseSprites[0].height);
}
public function addImageName(name:String):void{
addImage(ResourceManager.getInstance().getImage(name), ResourceManager.getInstance().getImage((name + "mask")));
}
public function setBlitColour(aColor:Color):void{
color = aColor;
}
public function setAlphaLevels(levels:int):void{
alphaLevels = levels;
}
public function getWidth():int{
return (baseSprites[0].width);
}
public function addImage(graphic:Class, maskGraphic:Class):void{
var flxSprite:FlxSprite2 = new FlxSprite2();
var maskBitmap:BitmapData = new (maskGraphic).bitmapData;
var bitmap:BitmapData = new BitmapData(maskBitmap.width, maskBitmap.height, true, 4294967295);
bitmap.copyChannel(maskBitmap, maskBitmap.rect, new Point(), BitmapDataChannel.RED, BitmapDataChannel.ALPHA);
flxSprite.loadGraphic(bitmap);
baseSprites.splice(0, 0, flxSprite);
baseGraphicClass.splice(0, 0, graphic);
sizeColorArray.splice(0, 0, new Object());
}
public function blitAlphaRectFxCenter(centerX:Number, centerY:Number, angle:Number, sizeIndex:int, opacity:Number, flipx:Boolean=false, flipy:Boolean=false, isShadow:Boolean=false):void{
var originalBitmap:BitmapData;
var bitmap:BitmapData;
var x:int;
var y:int;
var alphaMult:Number;
var pixel:uint;
var a:uint;
var r:uint;
var g:uint;
var b:uint;
var colorInt:uint = color.getHex();
var colorArray:Object = sizeColorArray[sizeIndex];
var flxSprite:FlxSprite2;
var alphaArray:Array;
var alphaIndex:int = Utilities.getClampInt(int((opacity * alphaLevels)), 0, (alphaLevels - 1));
var i:int;
if (!(colorInt in colorArray)){
alphaArray = new Array();
i = 0;
while (i < alphaLevels) {
alphaArray.push(null);
i++;
};
colorArray[colorInt] = alphaArray;
} else {
alphaArray = colorArray[colorInt];
};
if (alphaArray[alphaIndex] == null){
flxSprite = new FlxSprite2();
originalBitmap = baseSprites[sizeIndex].pixels;
bitmap = new BitmapData(originalBitmap.width, originalBitmap.height, true);
x = 0;
y = 0;
alphaMult = ((alphaIndex + 1) / alphaLevels);
pixel = 0;
a = 0;
r = 0;
g = 0;
b = 0;
x = 0;
while (x < originalBitmap.width) {
y = 0;
while (y < originalBitmap.height) {
pixel = originalBitmap.getPixel32(x, y);
a = (pixel >>> 24);
a = (a * alphaMult);
r = ((pixel >>> 16) & 0xFF);
g = ((pixel >>> 8) & 0xFF);
b = (pixel & 0xFF);
r = (r * color.r);
g = (g * color.g);
b = (b * color.b);
pixel = ((((a << 24) | (r << 16)) | (g << 8)) | b);
bitmap.setPixel32(x, y, pixel);
y++;
};
x++;
};
flxSprite.pixels = bitmap;
alphaArray[alphaIndex] = flxSprite;
} else {
flxSprite = alphaArray[alphaIndex];
};
var destX:int = (centerX - (flxSprite.width / 2));
var destY:int = (centerY - (flxSprite.height / 2));
flxSprite.x = destX;
flxSprite.y = destY;
flxSprite.update();
flxSprite.render();
}
public function getSizeIndex(width:Number):int{
var diff:int;
var closestIndex = -1;
var closestDiff = 1000000;
var i:int;
while (i < baseSprites.length) {
diff = Math.abs((baseSprites[i].width - width));
if (diff < closestDiff){
closestIndex = i;
closestDiff = diff;
};
i++;
};
return (closestIndex);
}
public function setNormalBlending():void{
}
public function setAdditiveBlending():void{
}
}
}//package
Section 205
//PartitionLayer (PartitionLayer)
package {
import org.flixel.*;
public class PartitionLayer {
public var cellSize:Number;
public var levelHeight:Number;
public var numCellsX:int;
public var numCellsY:int;
public var cells:Array;// = null
public var closestEnt:Entity;// = null
public var closestDist:Number;// = 0
public var greyGoo:GreyGoo;// = null
public var levelWidth:Number;
public var levelLeft:Number;
public var levelTop:Number;
public var smallerLayer:PartitionLayer;// = null
public function PartitionLayer(aLevelWidth:Number, aLevelHeight:Number, aLevelLeft:Number, aLevelTop:Number, aCellSize:Number):void{
var array:Array;
super();
levelWidth = aLevelWidth;
levelHeight = aLevelHeight;
levelLeft = aLevelLeft;
levelTop = aLevelTop;
cellSize = aCellSize;
numCellsX = Math.ceil((levelWidth / cellSize));
numCellsY = Math.ceil((levelHeight / cellSize));
cells = new Array();
var x:int;
var y:int;
x = 0;
while (x < numCellsX) {
array = new Array();
y = 0;
while (y < numCellsY) {
array.push(new Array());
y++;
};
cells.push(array);
x++;
};
}
public function getCellX(posX:Number):int{
var posXOnGrid:Number = (posX - levelLeft);
var cellX:int = int((posXOnGrid / cellSize));
return (Utilities.getClampInt(cellX, 0, (numCellsX - 1)));
}
public function getCellY(posY:Number):int{
var posYOnGrid:Number = (posY - levelTop);
var cellY:int = int((posYOnGrid / cellSize));
return (Utilities.getClampInt(cellY, 0, (numCellsY - 1)));
}
public function removeEntity(entity:Entity):void{
var entityList:Array = cells[entity.inPartitionCellX][entity.inPartitionCellY];
var found:Boolean;
var i:int;
while (i < entityList.length) {
if (entityList[i] == entity){
found = true;
break;
};
i++;
};
if (found){
entityList.splice(i, 1);
} else {
assert(false);
};
}
public function update():void{
var x:int;
var entities:Array;
var i:int;
var y:int;
while (y < numCellsY) {
x = 0;
while (x < numCellsX) {
entities = cells[x][y];
i = 0;
while (i < entities.length) {
entities[i].update();
i++;
};
x++;
};
y++;
};
}
public function removeDeleteMes():void{
var i:int;
var y:int;
var x:int;
var cell:Array;
var entity:Entity;
y = 0;
while (y < numCellsY) {
x = 0;
while (x < numCellsX) {
cell = cells[x][y];
while (i < cell.length) {
entity = cell[i];
if (entity.getDeleteMe()){
cell.splice(i, 1);
} else {
i++;
};
};
x++;
};
y++;
};
}
public function checkIntersections():void{
var entityLeft:Number;
var entityRight:Number;
var entityTop:Number;
var entityBottom:Number;
var entity1:Entity;
var cell:Array;
var y:int;
var x:int;
var i:int;
var j:int;
y = 0;
while (y < numCellsY) {
x = 0;
while (x < numCellsX) {
cell = cells[x][y];
i = 0;
while (i < cell.length) {
entity1 = cell[i];
if (entity1.gooReactionOnly){
if (greyGoo){
if (entity1.checkIntersection(greyGoo)){
greyGoo.collisionReaction(entity1);
entity1.collisionReaction(greyGoo);
};
};
} else {
j = (cell.length - 1);
while (j != i) {
checkIntersectionDoCollision(entity1, cell[j]);
j--;
};
if ((y + 1) < numCellsY){
checkIntersectionsEntity(entity1, x, (y + 1));
};
if ((x + 1) < numCellsX){
if (y > 0){
checkIntersectionsEntity(entity1, (x + 1), (y - 1));
};
checkIntersectionsEntity(entity1, (x + 1), y);
if ((y + 1) < numCellsY){
checkIntersectionsEntity(entity1, (x + 1), (y + 1));
};
};
if (smallerLayer){
entityLeft = (entity1.pos.x - entity1.getRadius());
entityRight = (entity1.pos.x + entity1.getRadius());
entityTop = (entity1.pos.y - entity1.getRadius());
entityBottom = (entity1.pos.y + entity1.getRadius());
smallerLayer.checkIntersectionSmallerLayer(entity1, (entityLeft - levelLeft), (entityRight - levelLeft), (entityTop - levelTop), (entityBottom - levelTop));
};
};
i++;
};
x++;
};
y++;
};
}
public function draw(camera:Camera):void{
var entities:Array;
var i:int;
var x1:int;
var y1:int;
var x2:int;
var y2:int;
var color:uint;
var alpha:Number;
var drawRegionRelPartitionX1:int = (camera.spriteLeft - levelLeft);
var drawRegionRelPartitionY1:int = (camera.spriteTop - levelTop);
var drawRegionRelPartitionX2:int = (camera.spriteRight - levelLeft);
var drawRegionRelPartitionY2:int = (camera.spriteBottom - levelTop);
var startX:int = ((drawRegionRelPartitionX1 / cellSize) - 1);
var endX:int = ((drawRegionRelPartitionX2 / cellSize) + 1);
var startY:int = ((drawRegionRelPartitionY1 / cellSize) - 1);
var endY:int = ((drawRegionRelPartitionY2 / cellSize) + 1);
if (startX < 0){
startX = 0;
};
if (endX >= numCellsX){
endX = (numCellsX - 1);
};
if (startY < 0){
startY = 0;
};
if (endY >= numCellsY){
endY = (numCellsY - 1);
};
var y:int;
var x:int;
y = startY;
while (y <= endY) {
x = startX;
while (x <= endX) {
entities = cells[x][y];
i = 0;
while (i < entities.length) {
entities[i].draw(camera);
i++;
};
x++;
};
y++;
};
y = startY;
while (y <= endY) {
x = startX;
while (x <= endX) {
if (cells[x][y].length > 0){
x1 = (((x * cellSize) + levelLeft) - camera.spriteLeft);
y1 = (((y * cellSize) + levelTop) - camera.spriteTop);
x2 = ((((x + 1) * cellSize) + levelLeft) - camera.spriteLeft);
y2 = ((((y + 1) * cellSize) + levelTop) - camera.spriteTop);
color = 0xFF0000;
alpha = 0.2;
ShapeDrawer.drawLine(x1, y1, x2, y1, color, alpha);
ShapeDrawer.drawLine(x2, y1, x2, y2, color, alpha);
ShapeDrawer.drawLine(x2, y2, x1, y2, color, alpha);
ShapeDrawer.drawLine(x1, y2, x1, y1, color, alpha);
};
x++;
};
y++;
};
}
public function findEntity(name:String):Entity{
var i:int;
var y:int;
var x:int;
var cell:Array;
var entity:Entity;
y = 0;
while (y < numCellsY) {
x = 0;
while (x < numCellsX) {
cell = cells[x][y];
i = 0;
while (i < cell.length) {
entity = cell[i];
if (entity.entityDef.name == name){
return (entity);
};
i++;
};
x++;
};
y++;
};
return (null);
}
public function checkIntersectionSmallerLayer(entity:Entity, entityLeft:Number, entityRight:Number, entityTop:Number, entityBottom:Number):void{
var cellX1:int = (int((entityLeft / cellSize)) - 1);
var cellY1:int = (int((entityTop / cellSize)) - 1);
var cellX2:int = (int((entityRight / cellSize)) + 1);
var cellY2:int = (int((entityBottom / cellSize)) + 1);
cellX1 = Utilities.getClampInt(cellX1, 0, (numCellsX - 1));
cellY1 = Utilities.getClampInt(cellY1, 0, (numCellsY - 1));
cellX2 = Utilities.getClampInt(cellX2, 0, (numCellsX - 1));
cellY2 = Utilities.getClampInt(cellY2, 0, (numCellsY - 1));
var i:int;
var y:int;
var x:int;
var cell:Array;
y = cellY1;
while (y <= cellY2) {
x = cellX1;
while (x <= cellX2) {
cell = cells[x][y];
i = 0;
while (i < cell.length) {
checkIntersectionDoCollision(entity, cell[i]);
i++;
};
x++;
};
y++;
};
if (smallerLayer){
smallerLayer.checkIntersectionSmallerLayer(entity, entityLeft, entityRight, entityTop, entityBottom);
};
}
public function findIntersectingEntity(entity:Entity, entityController:EntityController, entityLeft:Number, entityRight:Number, entityTop:Number, entityBottom:Number):Entity{
entityLeft = (entityLeft - levelLeft);
entityRight = (entityRight - levelLeft);
entityTop = (entityTop - levelTop);
entityBottom = (entityBottom - levelTop);
var cellX1:int = (int((entityLeft / cellSize)) - 1);
var cellY1:int = (int((entityTop / cellSize)) - 1);
var cellX2:int = (int((entityRight / cellSize)) + 1);
var cellY2:int = (int((entityBottom / cellSize)) + 1);
cellX1 = Utilities.getClampInt(cellX1, 0, (numCellsX - 1));
cellY1 = Utilities.getClampInt(cellY1, 0, (numCellsY - 1));
cellX2 = Utilities.getClampInt(cellX2, 0, (numCellsX - 1));
cellY2 = Utilities.getClampInt(cellY2, 0, (numCellsY - 1));
var i:int;
var y:int;
var x:int;
var cell:Array;
var otherEntity:Entity;
y = cellY1;
while (y <= cellY2) {
x = cellX1;
while (x <= cellX2) {
cell = cells[x][y];
i = 0;
while (i < cell.length) {
otherEntity = cell[i];
if (((((!((entity == otherEntity))) && (!(otherEntity.getBeingEaten())))) && (!(otherEntity.getDeleteMe())))){
if (entity.checkRoughIntersection(otherEntity)){
if (entityController.affectEntity(otherEntity)){
if (entity.checkIntersection(otherEntity)){
return (otherEntity);
};
};
};
};
i++;
};
x++;
};
y++;
};
return (null);
}
public function addEntity(entity:Entity):Boolean{
if (entity.getDiameter() > cellSize){
return (false);
};
var posXOnGrid:Number = (entity.pos.x - levelLeft);
var posYOnGrid:Number = (entity.pos.y - levelTop);
var cellX:int = (posXOnGrid / cellSize);
var cellY:int = (posYOnGrid / cellSize);
cellX = Utilities.getClampDouble(cellX, 0, (numCellsX - 1));
cellY = Utilities.getClampDouble(cellY, 0, (numCellsY - 1));
var amountBefore:int = cells[cellX][cellY].length;
cells[cellX][cellY].push(entity);
var amountAfter:int = cells[cellX][cellY].length;
return (true);
}
public function checkIntersectionsEntity(entity:Entity, cellX:int, cellY:int):void{
var i:int;
var cell:Array = cells[cellX][cellY];
var entityB:Entity;
i = 0;
while (i < cell.length) {
checkIntersectionDoCollision(entity, cell[i]);
i++;
};
}
public function setGreyGoo(aGreyGoo:GreyGoo):void{
greyGoo = aGreyGoo;
}
public function getClosestEntity(entity:Entity, entityController:EntityController, withinRadius:Number, entityLeft:Number, entityRight:Number, entityTop:Number, entityBottom:Number):void{
var otherEntity:Entity;
var distance:Number;
entityLeft = (entityLeft - levelLeft);
entityRight = (entityRight - levelLeft);
entityTop = (entityTop - levelTop);
entityBottom = (entityBottom - levelTop);
var cellX1:int = (int((entityLeft / cellSize)) - 1);
var cellY1:int = (int((entityTop / cellSize)) - 1);
var cellX2:int = (int((entityRight / cellSize)) + 1);
var cellY2:int = (int((entityBottom / cellSize)) + 1);
cellX1 = Utilities.getClampInt(cellX1, 0, (numCellsX - 1));
cellY1 = Utilities.getClampInt(cellY1, 0, (numCellsY - 1));
cellX2 = Utilities.getClampInt(cellX2, 0, (numCellsX - 1));
cellY2 = Utilities.getClampInt(cellY2, 0, (numCellsY - 1));
var i:int;
var y:int;
var x:int;
var cell:Array;
y = cellY1;
while (y <= cellY2) {
x = cellX1;
while (x <= cellX2) {
cell = cells[x][y];
i = 0;
while (i < cell.length) {
otherEntity = cell[i];
if (((((!((entity == otherEntity))) && (!(otherEntity.getBeingEaten())))) && (!(otherEntity.getDeleteMe())))){
distance = entity.pos.subtract(otherEntity.pos).length;
distance = (distance - (entity.getRadius() + otherEntity.getRadius()));
if ((((((distance < withinRadius)) && ((distance < closestDist)))) && (entityController.affectEntity(otherEntity)))){
closestDist = distance;
closestEnt = otherEntity;
};
};
i++;
};
x++;
};
y++;
};
}
public function clearEntities():void{
var y:int;
var x:int;
y = 0;
while (y < numCellsY) {
x = 0;
while (x < numCellsX) {
cells[x][y] = null;
cells[x][y] = new Array();
x++;
};
y++;
};
}
public function checkIntersectionDoCollision(entity1:Entity, entity2:Entity):void{
if (((entity1.staticEntity) && (entity2.staticEntity))){
return;
};
if (entity1.checkIntersection(entity2)){
if (entity1 == greyGoo){
entity1.collisionReaction(entity2);
entity2.collisionReaction(entity1);
} else {
entity2.collisionReaction(entity1);
entity1.collisionReaction(entity2);
};
};
}
public function smallerEqualEntityExists(entity:Entity):Boolean{
var i:int;
var y:int;
var x:int;
var cell:Array;
var otherEntity:Entity;
var size:Number = entity.getActualArea();
y = 0;
while (y < numCellsY) {
x = 0;
while (x < numCellsX) {
cell = cells[x][y];
i = 0;
while (i < cell.length) {
otherEntity = cell[i];
if (otherEntity.getActualArea() <= size){
if (otherEntity != entity){
return (true);
};
};
i++;
};
x++;
};
y++;
};
return (false);
}
public function getClosestEntityWithArea(entity:Entity, entityController:EntityController, withinRadius:Number, entityLeft:Number, entityRight:Number, entityTop:Number, entityBottom:Number, minArea:Number, maxArea:Number):void{
var distance:Number;
var areaDiff:Number;
var FAVOUR_AREA:Number;
var priority:Number;
entityLeft = (entityLeft - levelLeft);
entityRight = (entityRight - levelLeft);
entityTop = (entityTop - levelTop);
entityBottom = (entityBottom - levelTop);
var cellX1:int = (int((entityLeft / cellSize)) - 1);
var cellY1:int = (int((entityTop / cellSize)) - 1);
var cellX2:int = (int((entityRight / cellSize)) + 1);
var cellY2:int = (int((entityBottom / cellSize)) + 1);
cellX1 = Utilities.getClampInt(cellX1, 0, (numCellsX - 1));
cellY1 = Utilities.getClampInt(cellY1, 0, (numCellsY - 1));
cellX2 = Utilities.getClampInt(cellX2, 0, (numCellsX - 1));
cellY2 = Utilities.getClampInt(cellY2, 0, (numCellsY - 1));
var i:int;
var y:int;
var x:int;
var cell:Array;
var otherEntity:Entity;
y = cellY1;
while (y <= cellY2) {
x = cellX1;
while (x <= cellX2) {
cell = cells[x][y];
i = 0;
while (i < cell.length) {
otherEntity = cell[i];
if (((((((((!((entity == otherEntity))) && ((otherEntity.getActualArea() < maxArea)))) && (otherEntity.getEntityDef().gooHelperArrow))) && (!(otherEntity.getBeingEaten())))) && (!(otherEntity.getDeleteMe())))){
distance = entity.pos.subtract(otherEntity.pos).length;
distance = (distance - (entity.getRadius() + otherEntity.getRadius()));
areaDiff = (entity.getActualArea() / otherEntity.getActualArea());
FAVOUR_AREA = 100;
priority = (distance + (areaDiff * FAVOUR_AREA));
if ((((((distance < withinRadius)) && ((priority < closestDist)))) && (entityController.affectEntity(otherEntity)))){
if (otherEntity.getOutOfBoundsFor() <= 0){
closestDist = priority;
closestEnt = otherEntity;
};
};
};
i++;
};
x++;
};
y++;
};
}
public function setSmallerLayer(aSmallerLayer:PartitionLayer):void{
smallerLayer = aSmallerLayer;
}
}
}//package
Section 206
//Path (Path)
package {
import flash.geom.*;
public class Path {
public var length:Number;// = 0
public var returnPoint:SplinePoint;
public var splinePairs:Array;
public var spline:Spline;
public var segmentedPath:Array;
public function Path(){
splinePairs = new Array();
segmentedPath = new Array();
returnPoint = new SplinePoint();
spline = new Spline();
super();
}
public function draw(camera:Camera):void{
var pair:SplinePair;
var x1:Number;
var y1:Number;
var x2:Number;
var y2:Number;
var coefx1:Number;
var coefy1:Number;
var coefx2:Number;
var coefy2:Number;
var coefX:Number;
var coefY:Number;
var result:Point;
var i:int;
while (i < splinePairs.length) {
pair = splinePairs[i];
x1 = camera.spriteToScreenX(pair.x1);
y1 = camera.spriteToScreenY(pair.y1);
x2 = camera.spriteToScreenX(pair.x2);
y2 = camera.spriteToScreenY(pair.y2);
coefx1 = camera.spriteToScreenWidth(pair.coefx1);
coefy1 = camera.spriteToScreenWidth(pair.coefy1);
coefx2 = camera.spriteToScreenWidth(pair.coefx2);
coefy2 = camera.spriteToScreenWidth(pair.coefy2);
ShapeDrawer.drawFillRect((x1 - 5), (y1 - 5), (x1 + 5), (y1 + 5), 0xFF0000, 1);
coefX = (x1 + coefx1);
coefY = (y1 + coefy1);
ShapeDrawer.drawLine(x1, y1, coefX, coefY, 0xFF, 1);
ShapeDrawer.drawFillRect((coefX - 5), (coefY - 5), (coefX + 5), (coefY + 5), 0xFF, 1);
coefX = (x2 + coefx2);
coefY = (y2 + coefy2);
ShapeDrawer.drawLine(x2, y2, coefX, coefY, 0xFF, 1);
ShapeDrawer.drawFillRect((coefX - 5), (coefY - 5), (coefX + 5), (coefY + 5), 0xFF, 1);
if (i == (int(splinePairs.length) - 1)){
ShapeDrawer.drawFillRect((pair.x2 - 5), (pair.y2 - 5), (pair.x2 + 5), (pair.y2 + 5), 0xFF0000, 1);
};
i++;
};
var t:Number = 0;
while (t < 1) {
result = getPos(t);
result.x = camera.spriteToScreenX(result.x);
result.y = camera.spriteToScreenY(result.y);
ShapeDrawer.drawFillRect((result.x - 1), (result.y - 1), (result.x + 1), (result.y + 1), 0, 1);
t = (t + 0.01);
};
}
public function segmentPath():void{
var lastTSize:Number;
var lastTPos:Point;
var currentTPos:Point;
var currentSegLength:Number;
var variant:int;
var MAX_VARIANT:int;
var leftT:Number;
var rightT:Number;
var correctLengthFound:Boolean;
var minSegLength:Number = 3;
var maxSegLength:Number = 3.01;
var averageSegLength:Number = ((minSegLength + maxSegLength) * 0.5);
var tPos1:Number = 0;
var tPos2:Number = 0;
var tPos3:Number = 0;
var tPos4:Number = 0;
var tPos5:Number = 0;
var tPos6:Number = 0;
segmentedPath.push(getPoint(0).clone());
var tLength:Number = Number(splinePairs.length);
var currentT:Number = 0;
var lastT:Number = currentT;
while (currentT < tLength) {
lastTSize = (currentT - lastT);
lastT = currentT;
currentT = (currentT + lastTSize);
lastTPos = getPoint(lastT).clone();
currentTPos = getPoint(currentT).clone();
currentSegLength = lastTPos.subtract(currentTPos).length;
variant = 0;
MAX_VARIANT = 20;
while ((((currentSegLength < minSegLength)) && ((variant < MAX_VARIANT)))) {
currentT = (currentT + 0.1);
currentTPos = getPoint(currentT);
currentSegLength = lastTPos.subtract(currentTPos).length;
variant++;
};
leftT = lastT;
rightT = currentT;
correctLengthFound = false;
variant = 0;
while (((!(correctLengthFound)) && ((variant < MAX_VARIANT)))) {
currentT = (leftT + ((rightT - leftT) / 2));
currentTPos = getPoint(currentT);
currentSegLength = lastTPos.subtract(currentTPos).length;
if (currentSegLength < minSegLength){
leftT = currentT;
} else {
if (currentSegLength > maxSegLength){
rightT = currentT;
} else {
correctLengthFound = true;
};
};
variant++;
};
segmentedPath.push(currentTPos);
length = (length + averageSegLength);
tPos1 = tPos2;
tPos2 = tPos3;
tPos3 = tPos4;
tPos4 = tPos5;
tPos5 = tPos6;
tPos6 = currentT;
};
tPos6 = Number(splinePairs.length);
var avgLength:Number = ((tPos6 - tPos1) / 5);
tPos2 = (tPos1 + avgLength);
tPos3 = (tPos2 + avgLength);
tPos4 = (tPos3 + avgLength);
tPos5 = (tPos4 + avgLength);
segmentedPath[(segmentedPath.length - 2)] = getPoint(tPos5);
segmentedPath[(segmentedPath.length - 3)] = getPoint(tPos4);
segmentedPath[(segmentedPath.length - 4)] = getPoint(tPos3);
segmentedPath[(segmentedPath.length - 5)] = getPoint(tPos2);
}
public function getPoint(t:Number):Point{
var index:int = int(t);
index = Utilities.getClampInt(index, 0, (splinePairs.length - 1));
var localT:Number = (t - Number(index));
localT = Math.max(0, Math.min(1, localT));
returnPoint.x = 0;
returnPoint.y = 0;
var pair:SplinePair = splinePairs[index];
spline.getPoint(returnPoint, pair.x1, pair.y1, pair.x2, pair.y2, (pair.x1 + pair.coefx1), (pair.y1 + pair.coefy1), (pair.x2 + pair.coefx2), (pair.y2 + pair.coefy2), localT);
var returnVector:Point = new Point();
returnVector.x = returnPoint.x;
returnVector.y = returnPoint.y;
return (returnVector);
}
public function addPair(pair:SplinePair):void{
splinePairs.push(pair);
}
public function getLength():Number{
return (length);
}
public function getPos(t:Number):Point{
var dIndex:Number = ((segmentedPath.length - 1) * t);
var index1:int = int(dIndex);
var index2:int = (index1 + 1);
var extra:Number = (dIndex - index1);
index1 = Utilities.getClampInt(index1, 0, (segmentedPath.length - 1));
index2 = Utilities.getClampInt(index2, 0, (segmentedPath.length - 1));
var sp1:Point = segmentedPath[index1];
var sp2:Point = segmentedPath[index2];
return (new Point((sp1.x + ((sp2.x - sp1.x) * extra)), (sp1.y + ((sp2.y - sp1.y) * extra))));
}
}
}//package
Section 207
//PlayState (PlayState)
package {
import mx.core.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.system.*;
import org.flixel.*;
import flash.net.*;
public class PlayState extends FlxState {
public var finishedBuyText:String;// = ""
public var victoryTime:int;// = 0
public var level2Button:SimpleButton;// = null
public var hardOnButton:SimpleButton;// = null
public var pausedResumeButton:SimpleButton;// = null
public var levelMusicOnButton:SimpleButton;// = null
public var loader:Loader;
public var iPhoneButton:SimpleButton;// = null
public var finishedBuyURL:String;// = ""
public var showNagScreen:Boolean;// = true
public var music:FlxSound;// = null
public var tipContinueButton:SimpleButton;// = null
public var failedLevelSelectButton:SimpleButton;// = null
public var failureString:String;
public var level7Button:SimpleButton;// = null
public var haveFocus:Boolean;// = true
public var menuLoader:Loader;
public var finishedScreenContinueDelay:Number;// = 0
public var completeContinueButton:SimpleButton;// = null
public var linkUpdaterLoader:URLLoader;// = null
public var level4Button:SimpleButton;// = null
public var gameWindow:GameWindow;// = null
public var inLevel1:Boolean;// = false
public var inLevel2:Boolean;// = false
public var inLevel4:Boolean;// = false
public var inLevel5:Boolean;// = false
public var inLevel6:Boolean;// = false
public var inLevel7:Boolean;// = false
public var inLevel8:Boolean;// = false
public var GAME_STATE_PLAYING:int;// = 1
public var inLevel3:Boolean;// = false
public var winMacBuyURL:String;// = "http://www.dingogames.com/tasty-planet-back-for-seconds/"
public var finishedText:TextField;// = null
public var ExtSwfContainer:MovieClip;// = null
public var level1Button:SimpleButton;// = null
public var SwfMenusMC:MovieClip;// = null
public var levelSelectBuyURL:String;// = ""
public var finishedScreenshotButton:SimpleButton;// = null
public var hardOffButton:SimpleButton;// = null
public var GAME_STATE_MENU:int;// = 0
public var winMacButton:SimpleButton;// = null
public var mainSoundOnButton:SimpleButton;// = null
public var mainScreenBuyURL:String;// = ""
public var mainMusicOffButton:SimpleButton;// = null
public var levelSoundOnButton:SimpleButton;// = null
public var completeiPhone:SimpleButton;// = null
public var failedText:TextField;// = null
public var level6Button:SimpleButton;// = null
public var comic5Button:SimpleButton;// = null
public var iPadBuyURL:String;// = "http://tp2flash.dingogames.com/buyipad.htm"
public var youtubeLoader:Loader;// = null
public var levelSelectBuyText:String;// = ""
public var sceneName:String;// = ""
public var iPadButton:SimpleButton;// = null
public var level3Button:SimpleButton;// = null
public var mainSoundOffButton:SimpleButton;// = null
public var youtubeURL:String;// = "http://www.youtube.com/v/iwqpgJgLlVc"
public var completeBuyText:String;// = ""
public var pausedLevelSelectButton:SimpleButton;// = null
public var failedRetryButton:SimpleButton;// = null
public var levelMusicOffButton:SimpleButton;// = null
public var finishediPhoneButton:SimpleButton;// = null
public var level8Button:SimpleButton;// = null
public var mainScreenBuyText:String;// = ""
public var pausedRestartButton:SimpleButton;// = null
public var tip2ContinueButton:SimpleButton;// = null
public var completeTextEaten:TextField;// = null
public var completeBuyURL:String;// = ""
public var finishedTextString:String;// = ""
private var SwfMenus:Class;
public var levelSelectiPhoneButton:SimpleButton;// = null
public var gameState:int;
public var level5Button:SimpleButton;// = null
public var finishedContinueButton:SimpleButton;// = null
public var tip3ContinueButton:SimpleButton;// = null
public var comic4Button:SimpleButton;// = null
public var levelSoundOffButton:SimpleButton;// = null
public var youtubePlayer:Object;// = null
public var iPhoneBuyURL:String;// = "http://tp2flash.dingogames.com/buyiphone.htm"
public var completeTextTime:TextField;// = null
public var mainMusicOnButton:SimpleButton;// = null
public function PlayState(){
loader = new Loader();
menuLoader = new Loader();
gameState = GAME_STATE_MENU;
SwfMenus = PlayState_SwfMenus;
super();
}
public function iPhoneClick(e:MouseEvent):void{
var useURL:String = iPhoneBuyURL;
if (mainScreenBuyURL != ""){
useURL = mainScreenBuyURL;
};
navigateToURL(new URLRequest(useURL));
GameTrackerSingleton.getInstance().gameTracker.customMsg("iPhoneClick");
}
public function comic5Action():void{
if (showNagScreen){
SwfMenusMC.gotoAndStop(1, "Finished");
SwfMenusMC.visible = true;
assert(!((gameWindow == null)));
gameState = GAME_STATE_MENU;
} else {
SwfMenusMC.gotoAndStop(1, "Level Select");
SwfMenusMC.visible = true;
assert(!((gameWindow == null)));
gameState = GAME_STATE_MENU;
};
}
public function level7Click(e:MouseEvent):void{
loadGameLevel("dino6LevelXML");
}
public function goToLevelSelect():void{
SwfMenusMC.gotoAndStop(1, "Level Select");
SwfMenusMC.visible = true;
assert(!((gameWindow == null)));
gameWindow.setUpdating(false);
gameState = GAME_STATE_MENU;
}
public function setAsteroidTip():void{
gameWindow.setUpdating(false);
SwfMenusMC.visible = true;
SwfMenusMC.gotoAndStop(1, "Comic 4");
}
public function failedLevelSelectClick(e:MouseEvent):void{
SwfMenusMC.gotoAndStop(1, "Level Select");
SwfMenusMC.visible = true;
assert(!((gameWindow == null)));
gameState = GAME_STATE_MENU;
}
public function startLevel1():void{
loadGameLevel("lab2aLevelXML");
gameWindow.setUpdating(false);
SwfMenusMC.visible = true;
SwfMenusMC.gotoAndStop(1, "Tip");
}
public function startLevel2():void{
loadGameLevel("lab1bLevelXML");
gameWindow.setUpdating(false);
SwfMenusMC.visible = true;
SwfMenusMC.gotoAndStop(1, "Tip2");
}
public function startLevel3():void{
loadGameLevel("lab1cLevelXML");
}
public function startLevel4():void{
loadGameLevel("dino3LevelXML");
}
public function startLevel5():void{
loadGameLevel("dino4LevelXML");
}
public function startLevel8():void{
loadGameLevel("asteroid1LevelXML");
gameWindow.setUpdating(false);
SwfMenusMC.visible = true;
SwfMenusMC.gotoAndStop(1, "Tip3");
}
public function level4Click(e:MouseEvent):void{
loadGameLevel("dino3LevelXML");
}
public function startLevel7():void{
loadGameLevel("dino6LevelXML");
}
public function startLevel6():void{
loadGameLevel("dinotrex1aLevelXML");
}
public function tipContinueClick(e:MouseEvent):void{
tipContinueAction();
}
public function onPlayerError(event:Event):void{
trace("player error:", Object(event).data);
}
public function iPadClick(e:MouseEvent):void{
var useURL:String = iPadBuyURL;
navigateToURL(new URLRequest(useURL));
GameTrackerSingleton.getInstance().gameTracker.customMsg("iPadClick");
}
public function mainSoundOffClick(e:MouseEvent):void{
Utilities.soundOn = true;
GameTrackerSingleton.getInstance().gameTracker.customMsg("Main - Turn On Sound Effects");
}
public function finishediPhoneClick(e:MouseEvent):void{
var useURL:String = iPhoneBuyURL;
if (finishedBuyURL != ""){
useURL = finishedBuyURL;
};
navigateToURL(new URLRequest(useURL));
GameTrackerSingleton.getInstance().gameTracker.customMsg("finishediPhoneClick");
}
public function linkUpdaterLoaded(e:Event):void{
var xml:XML;
var useUpdater:String;
var showNagScreenString:String;
var fnd:String;
var rpl:String;
var e = e;
xml = new XML(linkUpdaterLoader.data);
useUpdater = xml.child("useupdater");
if (useUpdater == "true"){
mainScreenBuyText = xml.child("mainscreenbuytext");
mainScreenBuyURL = xml.child("mainscreenbuyurl");
levelSelectBuyText = xml.child("levelselectbuytext");
levelSelectBuyURL = xml.child("levelselectbuyurl");
completeBuyText = xml.child("completebuytext");
completeBuyURL = xml.child("completebuyurl");
finishedBuyText = xml.child("finishedbuytext");
finishedBuyURL = xml.child("finishedbuyurl");
youtubeURL = xml.child("youtubeurl");
finishedTextString = xml.child("finishedtextstring");
if (finishedTextString != ""){
fnd = "\\n";
rpl = "\n";
finishedTextString = finishedTextString.split(fnd).join(rpl);
};
showNagScreenString = xml.child("shownagscreen");
if (showNagScreenString != ""){
if (showNagScreenString == "false"){
showNagScreen = false;
} else {
showNagScreen = true;
};
};
};
//unresolved jump
var _slot1 = e;
trace("error parsing xml");
}
public function level1Click(e:MouseEvent):void{
startLevel1();
}
public function levelSelectiPhoneClick(e:MouseEvent):void{
var useURL:String = iPhoneBuyURL;
if (levelSelectBuyURL != ""){
useURL = levelSelectBuyURL;
};
navigateToURL(new URLRequest(useURL));
GameTrackerSingleton.getInstance().gameTracker.customMsg("levelSelectiPhoneClick");
}
public function levelSoundOffClick(e:MouseEvent):void{
Utilities.soundOn = true;
GameTrackerSingleton.getInstance().gameTracker.customMsg("Level - Turn On Sound Effects");
}
public function loadGameLevel(levelName:String):void{
assert(!((gameWindow == null)));
gameWindow.setUpdating(true);
gameWindow.loadLevel(levelName, LevelProgress.LEVEL_TIME_ATTACK);
gameState = GAME_STATE_PLAYING;
SwfMenusMC.visible = false;
}
public function comic5Click(e:MouseEvent):void{
comic5Action();
}
public function completeContinueClick(e:MouseEvent):void{
completeContinueAction();
}
public function deactivate(event:Event):void{
haveFocus = false;
if (gameState == GAME_STATE_PLAYING){
if (SwfMenusMC.visible == false){
if (gameWindow){
gameWindow.setUpdating(false);
SwfMenusMC.visible = true;
SwfMenusMC.gotoAndStop(1, "Pause");
};
};
};
}
public function comic4ContinueClick(e:MouseEvent):void{
comic4ContinueAction();
}
public function levelSoundOnClick(e:MouseEvent):void{
Utilities.soundOn = false;
GameTrackerSingleton.getInstance().gameTracker.customMsg("Level - Turn Off Sound Effects");
}
public function failedRetryAction():void{
SwfMenusMC.visible = false;
assert(!((gameWindow == null)));
if (gameWindow){
gameWindow.setUpdating(true);
gameWindow.loadLevel(gameWindow.level.fileName, LevelProgress.LEVEL_TIME_ATTACK);
};
}
public function tip2ContinueAction():void{
SwfMenusMC.visible = false;
gameWindow.setUpdating(true);
GameTrackerSingleton.getInstance().gameTracker.customMsg("Tip 2 End");
}
public function checkForOverButton(checkButton:SimpleButton, swfButton:SimpleButton, clickFunction:Function, overFunction:Function):SimpleButton{
if (checkButton != swfButton){
if (checkButton != null){
checkButton.removeEventListener(MouseEvent.CLICK, clickFunction);
checkButton.removeEventListener(MouseEvent.MOUSE_OVER, overFunction);
};
checkButton = swfButton;
if (checkButton != null){
checkButton.addEventListener(MouseEvent.CLICK, clickFunction);
checkButton.addEventListener(MouseEvent.MOUSE_OVER, overFunction);
};
};
return (checkButton);
}
public function levelMusicOnClick(e:MouseEvent):void{
Utilities.musicOn = false;
GameTrackerSingleton.getInstance().gameTracker.customMsg("Level - Turn Off Music");
}
public function level8Click(e:MouseEvent):void{
startLevel8();
}
public function onVideoPlaybackQualityChange(event:Event):void{
trace("video quality:", Object(event).data);
}
override public function update():void{
var scene:Scene;
var newSceneName:String;
var medalType:int;
var statLevelName:String;
var bestTime:int;
super.update();
var timeLimit:int;
if (music != null){
if (FlxG.volume != Utilities.convertToMusicVolume(music.volume)){
music.volume = Utilities.convertToMusicVolume(FlxG.volume);
};
};
if (SwfMenusMC != null){
scene = SwfMenusMC.currentScene;
if (((SwfMenusMC.visible) && (scene))){
newSceneName = scene.name;
if (newSceneName != sceneName){
sceneName = newSceneName;
if (sceneName == "Comic 1"){
GameTrackerSingleton.getInstance().gameTracker.customMsg("Comic 1 Start");
} else {
if (sceneName == "Comic 2"){
GameTrackerSingleton.getInstance().gameTracker.customMsg("Comic 2 Start");
} else {
if (sceneName == "Comic 3"){
GameTrackerSingleton.getInstance().gameTracker.customMsg("Comic 3 Start");
} else {
if (sceneName == "Comic 4"){
GameTrackerSingleton.getInstance().gameTracker.customMsg("Comic 4 Start");
} else {
if (sceneName == "Comic 8"){
GameTrackerSingleton.getInstance().gameTracker.customMsg("Comic 8 Start");
} else {
if (sceneName == "Tip"){
GameTrackerSingleton.getInstance().gameTracker.customMsg("Tip 1 Start");
} else {
if (sceneName == "Tip2"){
GameTrackerSingleton.getInstance().gameTracker.customMsg("Tip 2 Start");
} else {
if (sceneName == "Tip3"){
GameTrackerSingleton.getInstance().gameTracker.customMsg("Tip 3 Start");
};
};
};
};
};
};
};
};
if (sceneName == "Finished"){
finishedScreenContinueDelay = 0;
startYoutubeLoad();
} else {
if (youtubeLoader){
youtubeLoader.content.removeEventListener("onReady", onPlayerReady);
youtubeLoader.content.removeEventListener("onError", onPlayerError);
youtubeLoader.content.removeEventListener("onStateChange", onPlayerStateChange);
youtubeLoader.content.removeEventListener("onPlaybackQualityChange", onVideoPlaybackQualityChange);
if (youtubePlayer){
trace("stop youtube video");
youtubePlayer.stopVideo();
};
trace("removeLoader");
parent.removeChild(youtubeLoader);
youtubePlayer = null;
youtubeLoader = null;
};
if (!music.playing){
music.play();
};
};
};
failedRetryButton = checkForButton(failedRetryButton, SwfMenusMC.failedRetryButton, failedRetryClick);
failedLevelSelectButton = checkForButton(failedLevelSelectButton, SwfMenusMC.failedLevelSelectButton, failedLevelSelectClick);
failedText = checkForText(failedText, SwfMenusMC.failedText);
if (((!((failedText == null))) && (!((failedText.text == failureString))))){
failedText.text = failureString;
};
completeContinueButton = checkForButton(completeContinueButton, SwfMenusMC.completeContinueButton, completeContinueClick);
completeTextTime = checkForText(completeTextTime, SwfMenusMC.completeTextTime);
completeTextEaten = checkForText(completeTextEaten, SwfMenusMC.completeTextEaten);
finishediPhoneButton = checkForButton(finishediPhoneButton, SwfMenusMC.finishediPhoneButton, finishediPhoneClick);
finishedScreenshotButton = checkForButton(finishedScreenshotButton, SwfMenusMC.finishedScreenshotButton, finishediPhoneClick);
finishedText = checkForText(finishedText, SwfMenusMC.finishedText);
finishedContinueButton = checkForButton(finishedContinueButton, SwfMenusMC.finishedContinueButton, finishedContinueAction);
if (((((!((finishedText == null))) && (!((finishedTextString == ""))))) && (!((finishedText.text == finishedTextString))))){
finishedText.text = finishedTextString;
};
iPhoneButton = checkForButton(iPhoneButton, SwfMenusMC.iPhoneButton, iPhoneClick);
levelSelectiPhoneButton = checkForButton(levelSelectiPhoneButton, SwfMenusMC.levelSelectiPhoneButton, levelSelectiPhoneClick);
completeiPhone = checkForButton(completeiPhone, SwfMenusMC.completeiPhone, completeiPhoneClick);
iPadButton = checkForButton(iPadButton, SwfMenusMC.finishediPadButton, iPadClick);
winMacButton = checkForButton(winMacButton, SwfMenusMC.finishedWindowsButton, winMacClick);
hardOnButton = checkForButton(hardOnButton, SwfMenusMC.hardOn, hardOnClick);
hardOffButton = checkForButton(hardOffButton, SwfMenusMC.hardOff, hardOffClick);
mainSoundOffButton = checkForButton(mainSoundOffButton, SwfMenusMC.mainSoundOffButton, mainSoundOffClick);
mainSoundOnButton = checkForButton(mainSoundOnButton, SwfMenusMC.mainSoundOnButton, mainSoundOnClick);
mainMusicOffButton = checkForButton(mainMusicOffButton, SwfMenusMC.mainMusicOffButton, mainMusicOffClick);
mainMusicOnButton = checkForButton(mainMusicOnButton, SwfMenusMC.mainMusicOnButton, mainMusicOnClick);
levelSoundOffButton = checkForButton(levelSoundOffButton, SwfMenusMC.levelSoundOffButton, levelSoundOffClick);
levelSoundOnButton = checkForButton(levelSoundOnButton, SwfMenusMC.levelSoundOnButton, levelSoundOnClick);
levelMusicOffButton = checkForButton(levelMusicOffButton, SwfMenusMC.levelMusicOffButton, levelMusicOffClick);
levelMusicOnButton = checkForButton(levelMusicOnButton, SwfMenusMC.levelMusicOnButton, levelMusicOnClick);
if (((((((!((mainSoundOffButton == null))) && (!((mainSoundOnButton == null))))) && (!((mainMusicOffButton == null))))) && (!((mainMusicOnButton == null))))){
if (Utilities.soundOn){
mainSoundOffButton.visible = false;
mainSoundOnButton.visible = true;
} else {
mainSoundOffButton.visible = true;
mainSoundOnButton.visible = false;
};
if (Utilities.musicOn){
mainMusicOffButton.visible = false;
mainMusicOnButton.visible = true;
} else {
mainMusicOffButton.visible = true;
mainMusicOnButton.visible = false;
};
};
if (((!((hardOnButton == null))) && (!((hardOffButton == null))))){
if (Utilities.hardModeOn){
hardOnButton.visible = true;
hardOffButton.visible = false;
} else {
hardOnButton.visible = false;
hardOffButton.visible = true;
};
};
if (((((((!((levelSoundOffButton == null))) && (!((levelSoundOnButton == null))))) && (!((levelMusicOffButton == null))))) && (!((levelMusicOnButton == null))))){
if (Utilities.soundOn){
levelSoundOffButton.visible = false;
levelSoundOnButton.visible = true;
} else {
levelSoundOffButton.visible = true;
levelSoundOnButton.visible = false;
};
if (Utilities.musicOn){
levelMusicOffButton.visible = false;
levelMusicOnButton.visible = true;
} else {
levelMusicOffButton.visible = true;
levelMusicOnButton.visible = false;
};
};
if (((((!((completeTextTime == null))) && (!((completeTextEaten == null))))) && (!((completeTextTime.text == String(victoryTime)))))){
if (gameWindow){
timeLimit = LevelProgress.getInstance().getTimeLimit(gameWindow.level.fileName);
completeTextTime.text = ("Completion Time: " + Utilities.intToTime(victoryTime));
completeTextEaten.text = ("Entities Eaten: " + gameWindow.numEntitiesEaten);
medalType = LevelProgress.MEDAL_NONE;
medalType = LevelProgress.getInstance().getMedalType(gameWindow.level.fileName, victoryTime);
if (medalType == LevelProgress.MEDAL_NONE){
if (SwfMenusMC.medalNone){
SwfMenusMC.medalNone.alpha = 1;
};
if (SwfMenusMC.completeGoldMedal){
SwfMenusMC.completeGoldMedal.alpha = 0;
};
if (SwfMenusMC.completeSilverMedal){
SwfMenusMC.completeSilverMedal.alpha = 0;
};
if (SwfMenusMC.completeBronzeMedal){
SwfMenusMC.completeBronzeMedal.alpha = 0;
};
};
if (medalType == LevelProgress.MEDAL_GOLD){
if (SwfMenusMC.medalNone){
SwfMenusMC.medalNone.alpha = 0;
};
if (SwfMenusMC.completeGoldMedal){
SwfMenusMC.completeGoldMedal.alpha = 1;
};
if (SwfMenusMC.completeSilverMedal){
SwfMenusMC.completeSilverMedal.alpha = 0;
};
if (SwfMenusMC.completeBronzeMedal){
SwfMenusMC.completeBronzeMedal.alpha = 0;
};
};
if (medalType == LevelProgress.MEDAL_SILVER){
if (SwfMenusMC.medalNone){
SwfMenusMC.medalNone.alpha = 0;
};
if (SwfMenusMC.completeGoldMedal){
SwfMenusMC.completeGoldMedal.alpha = 0;
};
if (SwfMenusMC.completeSilverMedal){
SwfMenusMC.completeSilverMedal.alpha = 1;
};
if (SwfMenusMC.completeBronzeMedal){
SwfMenusMC.completeBronzeMedal.alpha = 0;
};
};
if (medalType == LevelProgress.MEDAL_BRONZE){
if (SwfMenusMC.medalNone){
SwfMenusMC.medalNone.alpha = 0;
};
if (SwfMenusMC.completeGoldMedal){
SwfMenusMC.completeGoldMedal.alpha = 0;
};
if (SwfMenusMC.completeSilverMedal){
SwfMenusMC.completeSilverMedal.alpha = 0;
};
if (SwfMenusMC.completeBronzeMedal){
SwfMenusMC.completeBronzeMedal.alpha = 1;
};
};
};
};
pausedResumeButton = checkForButton(pausedResumeButton, SwfMenusMC.pausedResumeButton, pausedResumeClick);
pausedRestartButton = checkForButton(pausedRestartButton, SwfMenusMC.pausedRestartButton, pausedRestartClick);
pausedLevelSelectButton = checkForButton(pausedLevelSelectButton, SwfMenusMC.pausedLevelSelectButton, pausedLevelSelectClick);
tipContinueButton = checkForButton(tipContinueButton, SwfMenusMC.tipContinueButton, tipContinueClick);
tip2ContinueButton = checkForButton(tip2ContinueButton, SwfMenusMC.tip2ContinueButton, tip2ContinueClick);
tip3ContinueButton = checkForButton(tip3ContinueButton, SwfMenusMC.tip3ContinueButton, tip3ContinueClick);
comic4Button = checkForButton(comic4Button, SwfMenusMC.comic4Button, comic4ContinueClick);
if (scene.name == "Complete"){
if (completeiPhone != null){
if (completeBuyText != ""){
setButtonText(completeiPhone, completeBuyText);
};
};
};
if (scene.name == "Finished"){
finishedScreenContinueDelay = (finishedScreenContinueDelay + FlxG.elapsed);
if (((youtubePlayer) && ((youtubePlayer.getPlayerState() == 0)))){
youtubePlayer.loadVideoByUrl(youtubeURL);
};
};
};
};
if (gameState == GAME_STATE_MENU){
if (SwfMenusMC != null){
calcLevelSelectMedalDisplay();
level1Button = checkForButton(level1Button, SwfMenusMC.comic1Button, level1Click);
level2Button = checkForButton(level2Button, SwfMenusMC.level2Button, level2Click);
level3Button = checkForButton(level3Button, SwfMenusMC.level3Button, level3Click);
level4Button = checkForButton(level4Button, SwfMenusMC.comic2Button, level4Click);
level5Button = checkForButton(level5Button, SwfMenusMC.level5Button, level5Click);
level6Button = checkForButton(level6Button, SwfMenusMC.level6Button, level6Click);
level7Button = checkForButton(level7Button, SwfMenusMC.level7Button, level7Click);
level8Button = checkForButton(level8Button, SwfMenusMC.comic3Button, level8Click);
comic5Button = checkForButton(comic5Button, SwfMenusMC.comic5Button, comic5Click);
if (SwfMenusMC.level1Button != null){
if (((SwfMenusMC.level1Button.hitTestPoint(FlxG.mouse.x, FlxG.mouse.y, true)) && (SwfMenusMC.level1Button.visible))){
inLevel1 = true;
} else {
inLevel1 = false;
};
};
if (SwfMenusMC.level2Button != null){
if (((SwfMenusMC.level2Button.hitTestPoint(FlxG.mouse.x, FlxG.mouse.y, true)) && (SwfMenusMC.level2Button.visible))){
inLevel2 = true;
} else {
inLevel2 = false;
};
};
if (SwfMenusMC.level3Button != null){
if (((SwfMenusMC.level3Button.hitTestPoint(FlxG.mouse.x, FlxG.mouse.y, true)) && (SwfMenusMC.level3Button.visible))){
inLevel3 = true;
} else {
inLevel3 = false;
};
};
if (SwfMenusMC.level4Button != null){
if (((SwfMenusMC.level4Button.hitTestPoint(FlxG.mouse.x, FlxG.mouse.y, true)) && (SwfMenusMC.level4Button.visible))){
inLevel4 = true;
} else {
inLevel4 = false;
};
};
if (SwfMenusMC.level5Button != null){
if (((SwfMenusMC.level5Button.hitTestPoint(FlxG.mouse.x, FlxG.mouse.y, true)) && (SwfMenusMC.level5Button.visible))){
inLevel5 = true;
} else {
inLevel5 = false;
};
};
if (SwfMenusMC.level6Button != null){
if (((SwfMenusMC.level6Button.hitTestPoint(FlxG.mouse.x, FlxG.mouse.y, true)) && (SwfMenusMC.level6Button.visible))){
inLevel6 = true;
} else {
inLevel6 = false;
};
};
if (SwfMenusMC.level7Button != null){
if (((SwfMenusMC.level7Button.hitTestPoint(FlxG.mouse.x, FlxG.mouse.y, true)) && (SwfMenusMC.level7Button.visible))){
inLevel7 = true;
} else {
inLevel7 = false;
};
};
if (SwfMenusMC.level8Button != null){
if (((SwfMenusMC.level8Button.hitTestPoint(FlxG.mouse.x, FlxG.mouse.y, true)) && (SwfMenusMC.level8Button.visible))){
inLevel8 = true;
} else {
inLevel8 = false;
};
};
statLevelName = "";
if (inLevel1){
statLevelName = "lab2aLevelXML";
} else {
if (inLevel2){
statLevelName = "lab1bLevelXML";
} else {
if (inLevel3){
statLevelName = "lab1cLevelXML";
} else {
if (inLevel4){
statLevelName = "dino3LevelXML";
} else {
if (inLevel5){
statLevelName = "dino4LevelXML";
} else {
if (inLevel6){
statLevelName = "dinotrex1aLevelXML";
} else {
if (inLevel7){
statLevelName = "dino6LevelXML";
} else {
if (inLevel8){
statLevelName = "asteroid1LevelXML";
};
};
};
};
};
};
};
};
if (statLevelName == ""){
if (SwfMenusMC.bestTimeText != null){
SwfMenusMC.bestTimeText.visible = false;
};
if (SwfMenusMC.goldTimeText != null){
SwfMenusMC.goldTimeText.visible = false;
};
if (SwfMenusMC.silverTimeText != null){
SwfMenusMC.silverTimeText.visible = false;
};
if (SwfMenusMC.bronzeTimeText != null){
SwfMenusMC.bronzeTimeText.visible = false;
};
} else {
timeLimit = LevelProgress.getInstance().getTimeLimit(statLevelName);
if (LevelProgress.getInstance().levelTimeExists(statLevelName)){
bestTime = LevelProgress.getInstance().getLevelTime(statLevelName);
if (SwfMenusMC.bestTimeText != null){
SwfMenusMC.bestTimeText.visible = true;
SwfMenusMC.bestTimeText.text = ("Best Time: " + Utilities.intToTime(bestTime));
};
} else {
if (SwfMenusMC.bestTimeText != null){
SwfMenusMC.bestTimeText.visible = true;
SwfMenusMC.bestTimeText.text = "Best Time: --:--";
};
};
if (SwfMenusMC.goldTimeText != null){
SwfMenusMC.goldTimeText.visible = true;
SwfMenusMC.goldTimeText.text = ("Gold Time: " + Utilities.intToTime(LevelProgress.getInstance().getGoldMedalTime(statLevelName)));
};
if (SwfMenusMC.silverTimeText != null){
SwfMenusMC.silverTimeText.visible = true;
SwfMenusMC.silverTimeText.text = ("Silver Time: " + Utilities.intToTime(LevelProgress.getInstance().getSilverMedalTime(statLevelName)));
};
if (SwfMenusMC.bronzeTimeText != null){
SwfMenusMC.bronzeTimeText.visible = true;
SwfMenusMC.bronzeTimeText.text = ("Bronze Time: " + Utilities.intToTime(LevelProgress.getInstance().getBronzeMedalTime(statLevelName)));
};
};
if (SwfMenusMC.level1Button != null){
SwfMenusMC.level1Button.visible = true;
};
if (SwfMenusMC.level2Button != null){
if (LevelProgress.getInstance().levelTimeExists("lab2aLevelXML")){
SwfMenusMC.level2Button.visible = true;
} else {
SwfMenusMC.level2Button.visible = false;
};
};
if (SwfMenusMC.level3Button != null){
if (LevelProgress.getInstance().levelTimeExists("lab1bLevelXML")){
SwfMenusMC.level3Button.visible = true;
} else {
SwfMenusMC.level3Button.visible = false;
};
};
if (SwfMenusMC.level4Button != null){
if (LevelProgress.getInstance().levelTimeExists("lab1cLevelXML")){
SwfMenusMC.level4Button.visible = true;
} else {
SwfMenusMC.level4Button.visible = false;
};
};
if (SwfMenusMC.level5Button != null){
if (LevelProgress.getInstance().levelTimeExists("dino3LevelXML")){
SwfMenusMC.level5Button.visible = true;
} else {
SwfMenusMC.level5Button.visible = false;
};
};
if (SwfMenusMC.level6Button != null){
if (LevelProgress.getInstance().levelTimeExists("dino4LevelXML")){
SwfMenusMC.level6Button.visible = true;
} else {
SwfMenusMC.level6Button.visible = false;
};
};
if (SwfMenusMC.level7Button != null){
if (LevelProgress.getInstance().levelTimeExists("dinotrex1aLevelXML")){
SwfMenusMC.level7Button.visible = true;
} else {
SwfMenusMC.level7Button.visible = false;
};
};
if (SwfMenusMC.level8Button != null){
if (LevelProgress.getInstance().levelTimeExists("dino6LevelXML")){
SwfMenusMC.level8Button.visible = true;
} else {
SwfMenusMC.level8Button.visible = false;
};
};
if (iPhoneButton != null){
if (mainScreenBuyText != ""){
setButtonText(iPhoneButton, mainScreenBuyText);
};
};
if (levelSelectiPhoneButton != null){
if (levelSelectBuyText != ""){
setButtonText(levelSelectiPhoneButton, levelSelectBuyText);
};
};
if (finishediPhoneButton != null){
if (finishedBuyText != ""){
setButtonText(finishediPhoneButton, finishedBuyText);
};
};
};
} else {
if (gameState == GAME_STATE_PLAYING){
gameWindow.updateSelf();
};
};
}
public function tip3ContinueAction():void{
SwfMenusMC.visible = false;
gameWindow.setUpdating(true);
GameTrackerSingleton.getInstance().gameTracker.customMsg("Tip 3 End");
}
public function level5Click(e:MouseEvent):void{
loadGameLevel("dino4LevelXML");
}
public function setFailureWindow(aFailureString:String):void{
failureString = aFailureString;
assert(!((gameWindow == null)));
if (gameWindow){
gameWindow.setUpdating(false);
};
SwfMenusMC.visible = true;
SwfMenusMC.gotoAndStop(1, "Failed");
}
public function finishedContinueAction(e:MouseEvent):void{
var continueButtonDelay:Number = 1;
if (finishedScreenContinueDelay > continueButtonDelay){
SwfMenusMC.gotoAndStop(1, "Level Select");
};
}
public function menuLoaderCompletedHandler(evt:Event):void{
SwfMenusMC = (menuLoader.content as MovieClip);
}
public function activate(event:Event):void{
haveFocus = true;
}
public function startYoutubeLoad():void{
Security.allowDomain("www.youtube.com");
youtubeLoader = new Loader();
youtubeLoader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
youtubeLoader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));
}
public function level2Click(e:MouseEvent):void{
startLevel2();
}
public function onLoaderInit(event:Event):void{
parent.addChild(youtubeLoader);
youtubeLoader.content.addEventListener("onReady", onPlayerReady);
youtubeLoader.content.addEventListener("onError", onPlayerError);
youtubeLoader.content.addEventListener("onStateChange", onPlayerStateChange);
youtubeLoader.content.addEventListener("onPlaybackQualityChange", onVideoPlaybackQualityChange);
}
override public function create():void{
stage.addEventListener(Event.ACTIVATE, activate);
stage.addEventListener(Event.DEACTIVATE, deactivate);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);
GameTrackerSingleton.getInstance().gameTracker.beginGame();
var linkUpdater:URLRequest = new URLRequest("http://tp2flash.dingogames.com/linkupdater.htm");
linkUpdaterLoader = new URLLoader();
linkUpdaterLoader.addEventListener(ErrorEvent.ERROR, linkUpdaterError);
linkUpdaterLoader.load(linkUpdater);
linkUpdaterLoader.addEventListener(Event.COMPLETE, linkUpdaterLoaded);
//unresolved jump
var _slot1 = e;
trace(((("Error " + _slot1.errorID) + " ") + _slot1.name));
music = new FlxSound();
music.loadEmbedded(ResourceManager.getInstance().getSound("red"), true);
music.volume = Utilities.convertToMusicVolume(FlxG.volume);
music.play();
gameWindow = new GameWindow(this);
parent.addChild(menuLoader);
menuLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, menuLoaderCompletedHandler);
var menuAsset:ByteArrayAsset = new SwfMenus();
menuLoader.loadBytes(menuAsset);
}
public function pausedRestartClick(e:MouseEvent):void{
SwfMenusMC.visible = false;
assert(!((gameWindow == null)));
if (gameWindow){
gameWindow.setUpdating(true);
gameWindow.loadLevel(gameWindow.level.fileName, LevelProgress.LEVEL_TIME_ATTACK);
};
}
public function tip3ContinueClick(e:MouseEvent):void{
tip3ContinueAction();
}
public function pausedLevelSelectClick(e:MouseEvent):void{
SwfMenusMC.gotoAndStop(1, "Level Select");
SwfMenusMC.visible = true;
assert(!((gameWindow == null)));
gameState = GAME_STATE_MENU;
}
public function completeiPhoneClick(e:MouseEvent):void{
var useURL:String = iPhoneBuyURL;
if (completeBuyURL != ""){
useURL = completeBuyURL;
};
navigateToURL(new URLRequest(useURL));
GameTrackerSingleton.getInstance().gameTracker.customMsg("completeiPhoneClick");
}
public function mainSoundOnClick(e:MouseEvent):void{
Utilities.soundOn = false;
GameTrackerSingleton.getInstance().gameTracker.customMsg("Main - Turn Off Sound Effects");
}
public function tipContinueAction():void{
SwfMenusMC.visible = false;
gameWindow.setUpdating(true);
GameTrackerSingleton.getInstance().gameTracker.customMsg("Tip 1 End");
}
public function checkForButton(checkButton:SimpleButton, swfButton:SimpleButton, clickFunction:Function):SimpleButton{
if (checkButton != swfButton){
if (checkButton != null){
checkButton.removeEventListener(MouseEvent.CLICK, clickFunction);
};
checkButton = swfButton;
if (checkButton != null){
checkButton.addEventListener(MouseEvent.CLICK, clickFunction);
};
};
return (checkButton);
}
public function pausedResumeClick(e:MouseEvent):void{
SwfMenusMC.visible = false;
assert(!((gameWindow == null)));
if (gameWindow){
gameWindow.setUpdating(true);
};
}
public function completeContinueAction():void{
if (gameWindow.level.fileName == "asteroid1LevelXML"){
SwfMenusMC.gotoAndStop(1, "Comic 5");
SwfMenusMC.visible = true;
assert(!((gameWindow == null)));
gameState = GAME_STATE_MENU;
} else {
SwfMenusMC.gotoAndStop(1, "Level Select");
SwfMenusMC.visible = true;
assert(!((gameWindow == null)));
gameState = GAME_STATE_MENU;
};
}
public function keyUp(event:KeyboardEvent):void{
var c:int = event.keyCode;
var code:String = String.fromCharCode(event.charCode);
var justEnteredPause:Boolean;
if ((((((((code == "p")) || ((code == "P")))) || ((code == " ")))) || ((c == 27)))){
if (gameState == GAME_STATE_PLAYING){
if ((((SwfMenusMC.visible == false)) && (gameWindow.isUpdating()))){
if (gameWindow){
gameWindow.setUpdating(false);
SwfMenusMC.visible = true;
SwfMenusMC.gotoAndStop(1, "Pause");
justEnteredPause = true;
};
};
};
};
if (!justEnteredPause){
if ((((((((((((code == "p")) || ((code == "P")))) || ((code == " ")))) || ((c == 13)))) || ((c == 32)))) || ((c == 27)))){
if (gameState == GAME_STATE_PLAYING){
if (((!(gameWindow.isUpdating())) && ((SwfMenusMC.currentScene.name == "Pause")))){
if (gameWindow){
gameWindow.setUpdating(true);
SwfMenusMC.visible = false;
};
};
};
};
};
if ((((((c == 13)) || ((c == 32)))) || ((c == 27)))){
if (((!((SwfMenusMC == null))) && (SwfMenusMC.visible))){
if (SwfMenusMC.currentScene.name == "Tip"){
tipContinueAction();
};
if (SwfMenusMC.currentScene.name == "Tip2"){
tip2ContinueAction();
};
if (SwfMenusMC.currentScene.name == "Tip3"){
tip3ContinueAction();
} else {
if (SwfMenusMC.currentScene.name == "Comic 1"){
startLevel1();
} else {
if (SwfMenusMC.currentScene.name == "Comic 2"){
startLevel4();
} else {
if (SwfMenusMC.currentScene.name == "Comic 3"){
startLevel8();
} else {
if (SwfMenusMC.currentScene.name == "Comic 4"){
comic4ContinueAction();
} else {
if (SwfMenusMC.currentScene.name == "Comic 5"){
comic5Action();
} else {
if (SwfMenusMC.currentScene.name == "Mainscreen"){
SwfMenusMC.gotoAndStop(1, "Level Select");
} else {
if (SwfMenusMC.currentScene.name == "Failed"){
failedRetryAction();
} else {
if (SwfMenusMC.currentScene.name == "Complete"){
completeContinueAction();
} else {
if (SwfMenusMC.currentScene.name == "Finished"){
};
};
};
};
};
};
};
};
};
};
};
};
}
public function mainMusicOnClick(e:MouseEvent):void{
Utilities.musicOn = false;
GameTrackerSingleton.getInstance().gameTracker.customMsg("Main - Turn Off Music");
}
public function setVictoryWindow(aVictoryTime:int):void{
victoryTime = aVictoryTime;
assert(!((gameWindow == null)));
if (gameWindow){
gameWindow.setUpdating(false);
};
SwfMenusMC.visible = true;
SwfMenusMC.gotoAndStop(1, "Complete");
}
public function mainMusicOffClick(e:MouseEvent):void{
Utilities.musicOn = true;
GameTrackerSingleton.getInstance().gameTracker.customMsg("Main - Turn On Music");
}
public function tip2ContinueClick(e:MouseEvent):void{
tip2ContinueAction();
}
public function hardOffClick(e:MouseEvent):void{
Utilities.hardModeOn = true;
if (EntityDefs.instanceExists()){
EntityDefs.getInstance().switchToDeadly(true);
};
GameTrackerSingleton.getInstance().gameTracker.customMsg("Turn on hard mode");
}
public function level6Click(e:MouseEvent):void{
loadGameLevel("dinotrex1aLevelXML");
}
public function levelMusicOffClick(e:MouseEvent):void{
Utilities.musicOn = true;
GameTrackerSingleton.getInstance().gameTracker.customMsg("Level - Turn On Music");
}
public function winMacClick(e:MouseEvent):void{
var useURL:String = winMacBuyURL;
navigateToURL(new URLRequest(useURL));
GameTrackerSingleton.getInstance().gameTracker.customMsg("winMacClick");
}
public function comic4ContinueAction():void{
SwfMenusMC.visible = false;
gameWindow.setUpdating(true);
GameTrackerSingleton.getInstance().gameTracker.customMsg("Comic 4 End");
}
public function calcLevelSelectMedalDisplay():void{
var i:int;
var filename:String;
var goldMedalName:String;
var silverMedalName:String;
var bronzeMedalName:String;
var medalType:int;
var levelTime:int;
if (SwfMenusMC != null){
i = 1;
while (i <= 8) {
filename = levelNumberToFilename(i);
goldMedalName = (("level" + i) + "GoldMedal");
silverMedalName = (("level" + i) + "SilverMedal");
bronzeMedalName = (("level" + i) + "BronzeMedal");
if (SwfMenusMC[goldMedalName]){
SwfMenusMC[goldMedalName].mouseEnabled = false;
};
if (SwfMenusMC[silverMedalName]){
SwfMenusMC[silverMedalName].mouseEnabled = false;
};
if (SwfMenusMC[bronzeMedalName]){
SwfMenusMC[bronzeMedalName].mouseEnabled = false;
};
medalType = LevelProgress.MEDAL_NONE;
if (LevelProgress.getInstance().levelTimeExists(filename)){
levelTime = LevelProgress.getInstance().getLevelTime(filename);
medalType = LevelProgress.getInstance().getMedalType(filename, levelTime);
};
if (medalType == LevelProgress.MEDAL_NONE){
if (SwfMenusMC[goldMedalName]){
SwfMenusMC[goldMedalName].alpha = 0;
};
if (SwfMenusMC[silverMedalName]){
SwfMenusMC[silverMedalName].alpha = 0;
};
if (SwfMenusMC[bronzeMedalName]){
SwfMenusMC[bronzeMedalName].alpha = 0;
};
};
if (medalType == LevelProgress.MEDAL_GOLD){
if (SwfMenusMC[goldMedalName]){
SwfMenusMC[goldMedalName].alpha = 1;
};
if (SwfMenusMC[silverMedalName]){
SwfMenusMC[silverMedalName].alpha = 0;
};
if (SwfMenusMC[bronzeMedalName]){
SwfMenusMC[bronzeMedalName].alpha = 0;
};
};
if (medalType == LevelProgress.MEDAL_SILVER){
if (SwfMenusMC[goldMedalName]){
SwfMenusMC[goldMedalName].alpha = 0;
};
if (SwfMenusMC[silverMedalName]){
SwfMenusMC[silverMedalName].alpha = 1;
};
if (SwfMenusMC[bronzeMedalName]){
SwfMenusMC[bronzeMedalName].alpha = 0;
};
};
if (medalType == LevelProgress.MEDAL_BRONZE){
if (SwfMenusMC[goldMedalName]){
SwfMenusMC[goldMedalName].alpha = 0;
};
if (SwfMenusMC[silverMedalName]){
SwfMenusMC[silverMedalName].alpha = 0;
};
if (SwfMenusMC[bronzeMedalName]){
SwfMenusMC[bronzeMedalName].alpha = 1;
};
};
i++;
};
};
}
public function level3Click(e:MouseEvent):void{
loadGameLevel("lab1cLevelXML");
}
override public function render():void{
super.render();
if (gameState == GAME_STATE_MENU){
if (((((SwfMenusMC) && (SwfMenusMC.visible))) && ((SwfMenusMC.currentScene.name == "Level Select")))){
};
} else {
if (gameState == GAME_STATE_PLAYING){
gameWindow.draw();
};
};
}
public function checkForText(checkText:TextField, swfText:TextField):TextField{
if (checkText != swfText){
checkText = swfText;
};
return (checkText);
}
public function hardOnClick(e:MouseEvent):void{
Utilities.hardModeOn = false;
if (EntityDefs.instanceExists()){
EntityDefs.getInstance().switchToDeadly(false);
};
GameTrackerSingleton.getInstance().gameTracker.customMsg("Turn off hard mode");
}
public function linkUpdaterError(e:ErrorEvent):void{
trace("linkUpdaterError");
}
public function failedRetryClick(e:MouseEvent):void{
failedRetryAction();
}
public function onPlayerStateChange(event:Event):void{
trace("player state:", Object(event).data);
if (Object(event).data == 1){
music.stop();
};
}
public function onPlayerReady(event:Event):void{
trace("player ready:", Object(event).data);
if (youtubeLoader){
youtubePlayer = youtubeLoader.content;
youtubePlayer.x = 16;
youtubePlayer.y = 30;
youtubePlayer.setSize(480, 320);
youtubePlayer.loadVideoByUrl(youtubeURL);
youtubePlayer.setVolume(100);
};
}
public static function setButtonText(button:SimpleButton, newText:String):void{
var tf1:TextField;
var tf2:TextField;
var tf3:TextField;
var doc1:DisplayObjectContainer = (button.upState as DisplayObjectContainer);
if (doc1 != null){
tf1 = (doc1.getChildAt(1) as TextField);
if (((tf1) && (!((tf1.text == newText))))){
tf1.text = newText;
};
};
var doc2:DisplayObjectContainer = (button.overState as DisplayObjectContainer);
if (doc2 != null){
tf2 = (doc2.getChildAt(1) as TextField);
if (((tf2) && (!((tf2.text == newText))))){
tf2.text = newText;
};
};
var doc3:DisplayObjectContainer = (button.downState as DisplayObjectContainer);
if (doc3 != null){
tf3 = (doc3.getChildAt(1) as TextField);
if (((tf3) && (!((tf3.text == newText))))){
tf3.text = newText;
};
};
}
public static function levelFilenameToNumber(filename:String):int{
if (filename == "lab2aLevelXML"){
return (1);
};
if (filename == "lab1bLevelXML"){
return (2);
};
if (filename == "lab1cLevelXML"){
return (3);
};
if (filename == "dino3LevelXML"){
return (4);
};
if (filename == "dino4LevelXML"){
return (5);
};
if (filename == "dinotrex1aLevelXML"){
return (6);
};
if (filename == "dino6LevelXML"){
return (7);
};
if (filename == "asteroid1LevelXML"){
return (8);
};
assert(false);
return (1);
}
public static function levelNumberToFilename(levelNumber:int):String{
if (levelNumber == 1){
return ("lab2aLevelXML");
};
if (levelNumber == 2){
return ("lab1bLevelXML");
};
if (levelNumber == 3){
return ("lab1cLevelXML");
};
if (levelNumber == 4){
return ("dino3LevelXML");
};
if (levelNumber == 5){
return ("dino4LevelXML");
};
if (levelNumber == 6){
return ("dinotrex1aLevelXML");
};
if (levelNumber == 7){
return ("dino6LevelXML");
};
if (levelNumber == 8){
return ("asteroid1LevelXML");
};
assert(false);
return ("lab2aLevelXML");
}
}
}//package
Section 208
//PlayState_SwfMenus (PlayState_SwfMenus)
package {
import mx.core.*;
public class PlayState_SwfMenus extends ByteArrayAsset {
}
}//package
Section 209
//Preloader (Preloader)
package {
import flash.display.*;
import org.flixel.*;
import mx.core.*;
import flash.text.*;
public class Preloader extends FlxPreloader {
public var ExtSwfContainer:MovieClip;
private var PreloaderClass:Class;
public var loader:Loader;
public var preloaderMC:MovieClip;// = null
public function Preloader():void{
loader = new Loader();
PreloaderClass = Preloader_PreloaderClass;
className = "tastyplanet";
super();
}
override protected function update(Percent:Number):void{
var t1:TextField;
var m1:MovieClip;
if (loader.content != null){
ExtSwfContainer = (loader.content as MovieClip);
t1 = ExtSwfContainer.load_txt;
t1.text = (Utilities.roundToInt((Percent * 100)) + "%");
m1 = ExtSwfContainer.goo_mc;
if (m1 != null){
m1.gotoAndPlay(Utilities.roundToInt((Percent * m1.totalFrames)));
};
};
}
override protected function create():void{
_buffer = new Sprite();
addChild(_buffer);
_buffer.addChild(loader);
var asset:ByteArrayAsset = new PreloaderClass();
loader.loadBytes(asset);
}
}
}//package
Section 210
//Preloader_PreloaderClass (Preloader_PreloaderClass)
package {
import mx.core.*;
public class Preloader_PreloaderClass extends ByteArrayAsset {
}
}//package
Section 211
//Reaction (Reaction)
package {
public class Reaction {
public var effect:int;
public var entityDef:EntityDef;
public var entityDefString:String;
public var condition:int;
public static var DAMAGE_DESTROY_SELF:int = 6;
public static var EAT:int = 1;
public static var BOUNCE:int = 2;
public static var DAMAGE:int = 4;
public static var SLIDE:int = 3;
public static var DESTROY_SELF:int = 5;
public static var NONE:int = 0;
public function Reaction():void{
super();
entityDefString = "";
entityDef = null;
effect = NONE;
condition = Condition.NONE;
}
public function readXML(reactionEl:XML):void{
var conditionString:String;
var effectString:String;
entityDefString = reactionEl.attribute("entitydef");
if (reactionEl.attribute("condition") != undefined){
conditionString = reactionEl.attribute("condition");
condition = Condition.stringToIntCondition(conditionString);
} else {
condition = Condition.ALL;
};
if (reactionEl.attribute("effect") != undefined){
effectString = reactionEl.attribute("effect");
effect = stringToIntEffect(effectString);
} else {
effect = NONE;
};
}
public function setEntityDefFromString(entityDefs:Array):void{
if (entityDefString == "default"){
entityDef = null;
} else {
entityDef = entityDefs[entityDefString];
if (entityDef == null){
effect = NONE;
condition = Condition.NONE;
};
};
}
public function stringToIntEffect(effectString:String):int{
if (effectString == "none"){
return (NONE);
};
if (effectString == "eat"){
return (EAT);
};
if (effectString == "bounce"){
return (BOUNCE);
};
if (effectString == "slide"){
return (SLIDE);
};
if (effectString == "damage"){
return (DAMAGE);
};
if (effectString == "destroyself"){
return (DESTROY_SELF);
};
if (effectString == "damagedestroyself"){
return (DAMAGE_DESTROY_SELF);
};
assert(false);
return (NONE);
}
}
}//package
Section 212
//ResourceManager (ResourceManager)
package {
import flash.display.*;
import flash.geom.*;
public final class ResourceManager {
protected const candy_yellowmaskImage:Class;
protected const stone1Sound:Class;
protected const pupil_20maskImage:Class;
protected const eyeball_15Image:Class;
protected const chalk_blue_1Image:Class;
protected const pupil_8Image:Class;
protected const petridish2maskImage:Class;
protected const stygimoloch1Image:Class;
protected const rat1Image:Class;
protected const pupil_8maskImage:Class;
protected const eyeball_54maskImage:Class;
protected const goo4_64maskImage:Class;
protected const simon1Image:Class;
protected const candy_yellow_1maskImage:Class;
protected const eyelid1maskImage:Class;
protected const eyeball_20Image:Class;
protected const goo3Image:Class;
protected const fern1_dispImage:Class;
protected const particle1_2maskImage:Class;
protected const candy_greenImage:Class;
protected const goo7_128Image:Class;
protected const eyelid3_32Image:Class;
protected const pupilmaskImage:Class;
protected const oompahSound:Class;
protected const particle5maskImage:Class;
protected const granitesmalledgeImage:Class;
protected const pupil_27Image:Class;
protected const asteroid_2Image:Class;
protected const eyeball_32maskImage:Class;
protected const candy_red_dispImage:Class;
protected const eyelid1_32maskImage:Class;
protected const mapleleaf_dispImage:Class;
protected const candy_bluemaskImage:Class;
protected const shrew_dispmaskImage:Class;
protected const calliper_dispmaskImage:Class;
protected const mapleleafImage:Class;
protected const goo0_128Image:Class;
protected const candy_pink_dispImage:Class;
protected const metal15Sound:Class;
protected const candy_brown_1Image:Class;
protected const magnolia1maskImage:Class;
protected const styracosaurus2_1Image:Class;
protected const eyeball_38Image:Class;
protected const candy_brownmaskImage:Class;
protected const eyeball_17maskImage:Class;
protected const alamosaurus1maskImage:Class;
protected const frog2maskImage:Class;
protected const eyeball_62maskImage:Class;
protected const goo1maskImage:Class;
protected const crunch3Sound:Class;
protected const struthiomimus_dispImage:Class;
protected const goo7_64Image:Class;
protected const paper2Sound:Class;
protected const chalk_bluemaskImage:Class;
protected const goohurt2Sound:Class;
protected const timemachineImage:Class;
protected const smallsquish2Sound:Class;
protected const eyeball_16Image:Class;
protected const tyrannosaurus2maskImage:Class;
protected const candy_orange_dispImage:Class;
protected const turtle_dispmaskImage:Class;
protected const pupil_9Image:Class;
protected const stygimoloch2Image:Class;
protected const rat2Image:Class;
protected const tyrannosaurus2_1maskImage:Class;
protected const candy_purple_dispImage:Class;
protected const stone2Sound:Class;
protected const goo2_128maskImage:Class;
protected const microscope_1Image:Class;
protected const scientistyoung1maskImage:Class;
protected const simon2Image:Class;
protected const butterfly2_dispImage:Class;
protected const earthmaskImage:Class;
protected const pupil_13maskImage:Class;
protected const eyeball_40maskImage:Class;
protected const eyelid0_16maskImage:Class;
protected const eyeball_21Image:Class;
protected const goo4Image:Class;
protected const goo7_128maskImage:Class;
protected const simon_dispImage:Class;
protected const chalk_blue_dispImage:Class;
protected const grasstinymaskImage:Class;
protected const eyeball_25maskImage:Class;
protected const butterfly2_1maskImage:Class;
protected const struthiomimus0maskImage:Class;
protected const pupil_10Image:Class;
protected const rock1_dispmaskImage:Class;
protected const pupil_28Image:Class;
protected const eyeball_10maskImage:Class;
protected const helperarrowImage:Class;
protected const metal16Sound:Class;
protected const styracosaurus2_1maskImage:Class;
protected const calliperImage:Class;
protected const pupil_28maskImage:Class;
protected const simon0maskImage:Class;
protected const calliper_1Image:Class;
protected const particle0Image:Class;
protected const frog_dispmaskImage:Class;
protected const feather1_1Image:Class;
protected const birchmaskImage:Class;
protected const moon_dispImage:Class;
protected const pupil_9maskImage:Class;
protected const flaskImage:Class;
protected const microscopeImage:Class;
protected const eyeball_44Image:Class;
protected const magnolia1_dispmaskImage:Class;
protected const tyrannosaurus_dispmaskImage:Class;
protected const eyelid2maskImage:Class;
protected const eyelid2_32Image:Class;
protected const petridish0Image:Class;
protected const rat_dispImage:Class;
protected const testtube1Image:Class;
protected const stone3Sound:Class;
protected const particle5_5maskImage:Class;
protected const grasstinyImage:Class;
protected const candy_greenmaskImage:Class;
protected const shrew1_1maskImage:Class;
protected const pupil_21maskImage:Class;
protected const eyeball_17Image:Class;
protected const chalk_1Image:Class;
protected const particle1_3maskImage:Class;
protected const paper_1maskImage:Class;
protected const pupil_11Image:Class;
protected const dirtsmallImage:Class;
protected const pupil_2maskImage:Class;
protected const particle6maskImage:Class;
protected const microscope_dispImage:Class;
protected const eyeball_22Image:Class;
protected const goo5Image:Class;
protected const granitebigImage:Class;
protected const goo1_128Image:Class;
protected const pupil_29Image:Class;
protected const rat0maskImage:Class;
protected const grassbigmaskImage:Class;
protected const eyeball_18maskImage:Class;
protected const goo6_64Image:Class;
protected const turtle_dispImage:Class;
protected const goo3_64maskImage:Class;
protected const frog3maskImage:Class;
protected const bunsen_1Image:Class;
protected const eyedropper_1Image:Class;
protected const birch_1maskImage:Class;
protected const eyeball_72Image:Class;
protected const candy_orange_dispmaskImage:Class;
protected const particle1Image:Class;
protected const candy_pink_1Image:Class;
protected const rat0_1Image:Class;
protected const stonesmall1Sound:Class;
protected const papermaskImage:Class;
protected const stygimoloch_dispImage:Class;
protected const rock1_dispImage:Class;
protected const candy_blueImage:Class;
protected const eyeball_48maskImage:Class;
protected const eyeball_11maskImage:Class;
protected const goo2maskImage:Class;
protected const eyelid0_32maskImage:Class;
protected const pupil_14maskImage:Class;
protected const particle3_1maskImage:Class;
protected const turtle0maskImage:Class;
protected const scientistyoung2maskImage:Class;
protected const stone4Sound:Class;
protected const petridish1Image:Class;
protected const rock1maskImage:Class;
protected const candy_red_dispmaskImage:Class;
protected const hmmSound:Class;
protected const candy_blue_1maskImage:Class;
protected const eyeball_18Image:Class;
protected const struthiomimus1maskImage:Class;
protected const dinosmallherb4Sound:Class;
protected const eyeball_50Image:Class;
protected const bunsenImage:Class;
protected const dinobigcarn3Sound:Class;
protected const pupil_12Image:Class;
protected const helperarrowbackImage:Class;
protected const labfloorImage:Class;
protected const candy_green_1Image:Class;
protected const mushroom1Image:Class;
protected const buzzSound:Class;
protected const birch_dispImage:Class;
protected const eyeball_23Image:Class;
protected const feather1Image:Class;
protected const goo6Image:Class;
protected const eyeball_26maskImage:Class;
protected const pupil_29maskImage:Class;
protected const stygimoloch0maskImage:Class;
protected const chalk_yellowImage:Class;
protected const candy_pinkImage:Class;
protected const battery_1maskImage:Class;
protected const rat1_1maskImage:Class;
protected const simon1maskImage:Class;
protected const timemachinemaskImage:Class;
protected const eyelid1_32Image:Class;
protected const eyeball_68Image:Class;
protected const eyeball_6Image:Class;
protected const stonesmall2Sound:Class;
protected const eyelid3maskImage:Class;
protected const oscilloscope_dispmaskImage:Class;
protected const eyeball_6maskImage:Class;
protected const fern1_dispmaskImage:Class;
protected const goo3_128maskImage:Class;
protected const candy_blue_1Image:Class;
protected const eyeball_56maskImage:Class;
protected const tyrannosaurus0_1Image:Class;
protected const butterfly1_0maskImage:Class;
protected const candy_blue_dispImage:Class;
protected const eyeball_46Image:Class;
protected const particle1_4maskImage:Class;
protected const pupil_3maskImage:Class;
protected const petridish2Image:Class;
protected const asteroid_1_1Image:Class;
protected const stone5Sound:Class;
protected const euoplocephalus0Image:Class;
protected const egg1maskImage:Class;
protected const eyeball_19Image:Class;
protected const eyeball_34maskImage:Class;
protected const glass2Sound:Class;
protected const oscilloscopeImage:Class;
protected const yumyumSound:Class;
protected const pupil_22maskImage:Class;
protected const dinobigcarn4Sound:Class;
protected const dinosmallherb5Sound:Class;
protected const petridish_dispmaskImage:Class;
protected const goo2_128Image:Class;
protected const pupil_13Image:Class;
protected const testtube1_1maskImage:Class;
protected const rat1maskImage:Class;
protected const goo5_64Image:Class;
protected const particle0maskImage:Class;
protected const shrew1_1Image:Class;
protected const eyeball_24Image:Class;
protected const goo7Image:Class;
protected const bunsen_dispmaskImage:Class;
protected const eyeball_19maskImage:Class;
protected const chalk_yellowmaskImage:Class;
protected const electric1Sound:Class;
protected const labtableedgerightImage:Class;
protected const eyeball_12maskImage:Class;
protected const caliper1Sound:Class;
protected const pupil_30maskImage:Class;
protected const asteroid_1maskImage:Class;
protected const goo3maskImage:Class;
protected const candy_purple_dispmaskImage:Class;
protected const shrew_dispImage:Class;
protected const eyeball_7Image:Class;
protected const eyedropperImage:Class;
protected const pupil_15maskImage:Class;
protected const simon_dispmaskImage:Class;
protected const oscilloscope_1maskImage:Class;
protected const particle3_2maskImage:Class;
protected const scientistold0maskImage:Class;
protected const redSound:Class;
protected const chalkImage:Class;
protected const turtle1maskImage:Class;
protected const eyeball_42maskImage:Class;
protected const hotplate_dispImage:Class;
protected const scientistyoung0Image:Class;
protected const shrew0maskImage:Class;
protected const timerbackImage:Class;
protected const struthiomimus2maskImage:Class;
protected const mushroom1maskImage:Class;
protected const stone6Sound:Class;
protected const glass3Sound:Class;
protected const euoplocephalus1Image:Class;
protected const stygimoloch1maskImage:Class;
protected const goo2_64maskImage:Class;
protected const dinosmallherb6Sound:Class;
protected const butterfly2_0Image:Class;
protected const pupil_14Image:Class;
protected const eyeball_52Image:Class;
protected const flask_dispmaskImage:Class;
protected const candy_red_1Image:Class;
protected const eyelid0_32Image:Class;
protected const mushroom3Image:Class;
protected const eyeball_72maskImage:Class;
protected const turtle0Image:Class;
protected const alamosaurus0Image:Class;
protected const batteryImage:Class;
protected const euoplocephalus_dispImage:Class;
protected const simon2maskImage:Class;
protected const testtube1maskImage:Class;
protected const magnolia1Image:Class;
protected const asteroid_1_dispmaskImage:Class;
protected const pupil_23maskImage:Class;
protected const tyrannosaurus1_1maskImage:Class;
protected const eyeball_20maskImage:Class;
protected const caliper2Sound:Class;
protected const eyeball_7maskImage:Class;
protected const electric2Sound:Class;
protected const eyeball_25Image:Class;
protected const eyeball_30Image:Class;
protected const chalk_yellow_dispImage:Class;
protected const candy_yellow_1Image:Class;
protected const butterfly1_1maskImage:Class;
protected const rat2_1Image:Class;
protected const eyeball_50maskImage:Class;
protected const styracosaurus_dispmaskImage:Class;
protected const styracosaurus1_1Image:Class;
protected const euoplocephalus0maskImage:Class;
protected const pupil_4maskImage:Class;
protected const eyeball_8Image:Class;
protected const goo7_64maskImage:Class;
protected const goo4_64Image:Class;
protected const hotplate_dispmaskImage:Class;
protected const styracosaurus1_1maskImage:Class;
protected const scientistyoung1Image:Class;
protected const alamosaurus_dispmaskImage:Class;
protected const particle1_5maskImage:Class;
protected const chalk_yellow_1Image:Class;
protected const timemachine_dispImage:Class;
protected const frog0Image:Class;
protected const battery_dispmaskImage:Class;
protected const euoplocephalus2Image:Class;
protected const rat2maskImage:Class;
protected const particle1maskImage:Class;
protected const butterfly2_1Image:Class;
protected const dinobigcarn6Sound:Class;
protected const tyrannosaurus0Image:Class;
protected const rat_dispmaskImage:Class;
protected const eyeball_48Image:Class;
protected const timemachine_dispmaskImage:Class;
protected const bambiraptor_dispmaskImage:Class;
protected const shrew0_1maskImage:Class;
protected const grasssmallmaskImage:Class;
protected const feather1_dispmaskImage:Class;
protected const turtle1Image:Class;
protected const pupil_31maskImage:Class;
protected const asteroid_2maskImage:Class;
protected const alamosaurus1Image:Class;
protected const moonmaskImage:Class;
protected const asteroid_2_1maskImage:Class;
protected const hotplateImage:Class;
protected const dinobigherb2Sound:Class;
protected const arrowmaskImage:Class;
protected const mapleleaf_dispmaskImage:Class;
protected const goo4maskImage:Class;
protected const glass4Sound:Class;
protected const candy_brown_1maskImage:Class;
protected const oakImage:Class;
protected const pupil_16maskImage:Class;
protected const mushroom3_dispmaskImage:Class;
protected const eyeball_26Image:Class;
protected const goo3_128Image:Class;
protected const butterfly1_dispmaskImage:Class;
protected const scientistold1maskImage:Class;
protected const pupil_20Image:Class;
protected const frog1Sound:Class;
protected const eyeball_13maskImage:Class;
protected const eyeball_9Image:Class;
protected const birch_1Image:Class;
protected const tyrannosaurus2_1Image:Class;
protected const particle3_3maskImage:Class;
protected const turtle2maskImage:Class;
protected const reticlemaskImage:Class;
protected const candy_green_1maskImage:Class;
protected const pupil_15Image:Class;
protected const shrew1maskImage:Class;
protected const eyeball_76Image:Class;
protected const eyeballmaskImage:Class;
protected const egg1_dispmaskImage:Class;
protected const eyelid3_16Image:Class;
protected const goo4_128maskImage:Class;
protected const stygimoloch2maskImage:Class;
protected const mouse1Sound:Class;
protected const grasshopper_dispImage:Class;
protected const bambiraptor_dispImage:Class;
protected const scientistyoung2Image:Class;
protected const calliper_dispImage:Class;
protected const candy_red_1maskImage:Class;
protected const frog1Image:Class;
protected const eyelid3_16maskImage:Class;
protected const chalk_dispmaskImage:Class;
protected const candy_brown_dispmaskImage:Class;
protected const pupil_2Image:Class;
protected const grasshopper_dispmaskImage:Class;
protected const eyeball_28maskImage:Class;
protected const labtableedgeImage:Class;
protected const eyeball_21maskImage:Class;
protected const chalk_1maskImage:Class;
protected const pupil_16Image:Class;
protected const candy_yellowImage:Class;
protected const tyrannosaurus1Image:Class;
protected const granitesmallmaskImage:Class;
protected const eyeball_54Image:Class;
protected const mushroom3_dispImage:Class;
protected const styracosaurus_dispImage:Class;
protected const glass5Sound:Class;
protected const tree1Sound:Class;
protected const eyeball_58maskImage:Class;
protected const candy_orange_1Image:Class;
protected const turtle2Image:Class;
protected const grasshopper0maskImage:Class;
protected const flask_1maskImage:Class;
protected const birchImage:Class;
protected const chalk_yellow_dispmaskImage:Class;
protected const particle5_1maskImage:Class;
protected const bambiraptor0maskImage:Class;
protected const pupilImage:Class;
protected const eyeball_8maskImage:Class;
protected const goo3_64Image:Class;
protected const magnolia1_dispImage:Class;
protected const chalk_blue_1maskImage:Class;
protected const frog2Sound:Class;
protected const pupil_21Image:Class;
protected const oscilloscope_dispImage:Class;
protected const goo1_64maskImage:Class;
protected const eyeball_32Image:Class;
protected const particle1_6maskImage:Class;
protected const chalk_dispImage:Class;
protected const styracosaurus0maskImage:Class;
protected const struthiomimus0Image:Class;
protected const eyeball_36maskImage:Class;
protected const pupil_5maskImage:Class;
protected const asteroid_1_dispImage:Class;
protected const euoplocephalus1maskImage:Class;
protected const rat0_1maskImage:Class;
protected const triceratops_dispImage:Class;
protected const goo4_128Image:Class;
protected const stygimoloch_dispmaskImage:Class;
protected const pupil_24maskImage:Class;
protected const yummySound:Class;
protected const mouse2Sound:Class;
protected const particle2maskImage:Class;
protected const euoplocephalus_dispmaskImage:Class;
protected const triceratops_dispmaskImage:Class;
protected const frog2Image:Class;
protected const pupil_3Image:Class;
protected const oak_dispImage:Class;
protected const eyeball_10Image:Class;
protected const grasshopper0Image:Class;
protected const paper_dispmaskImage:Class;
protected const chalk_blueImage:Class;
protected const hotplatemaskImage:Class;
protected const pupil_17Image:Class;
protected const eyeball_14maskImage:Class;
protected const tyrannosaurus2Image:Class;
protected const asteroid_2_2maskImage:Class;
protected const granitebigmaskImage:Class;
protected const chalkmaskImage:Class;
protected const oakmaskImage:Class;
protected const triceratops0maskImage:Class;
protected const tree2Sound:Class;
protected const struthiomimus_dispmaskImage:Class;
protected const goo6_64maskImage:Class;
protected const puff1Sound:Class;
protected const egg1_dispImage:Class;
protected const battery_dispImage:Class;
protected const pupil_22Image:Class;
protected const scientistold2maskImage:Class;
protected const eyeball_28Image:Class;
protected const goo5maskImage:Class;
protected const eyelid2_16Image:Class;
protected const candy_brown_dispImage:Class;
protected const eyeball_60Image:Class;
protected const pupil_10maskImage:Class;
protected const chalk_yellow_1maskImage:Class;
protected const eyeball_44maskImage:Class;
protected const eyelid0Image:Class;
protected const progressbackImage:Class;
protected const shrew2maskImage:Class;
protected const mushroom3maskImage:Class;
protected const granitesmallImage:Class;
protected const particle3_4maskImage:Class;
protected const struthiomimus1Image:Class;
protected const candy_blue_dispmaskImage:Class;
protected const eyelid3_32maskImage:Class;
protected const flask_1Image:Class;
protected const pupil_4Image:Class;
protected const pupil_17maskImage:Class;
protected const candy_yellow_dispmaskImage:Class;
protected const bambiraptor0Image:Class;
protected const triceratops0Image:Class;
protected const oak_dispmaskImage:Class;
protected const goo2_64Image:Class;
protected const petridish_dispImage:Class;
protected const frog3Image:Class;
protected const eyeball_22maskImage:Class;
protected const grasshopper1Image:Class;
protected const candy_pink_dispmaskImage:Class;
protected const goo5_128maskImage:Class;
protected const asteroid_2_dispmaskImage:Class;
protected const reticleImage:Class;
protected const feather1maskImage:Class;
protected const pupil_25maskImage:Class;
protected const eyeball_11Image:Class;
protected const eyeball_9maskImage:Class;
protected const microscope1Sound:Class;
protected const grasshopper1maskImage:Class;
protected const flask_2maskImage:Class;
protected const pupil_18Image:Class;
protected const eyeball_56Image:Class;
protected const particle5_2maskImage:Class;
protected const feather1_1maskImage:Class;
protected const bambiraptor1maskImage:Class;
protected const moon_dispmaskImage:Class;
protected const reticle_1maskImage:Class;
protected const candy_purplemaskImage:Class;
protected const tree3Sound:Class;
protected const paper_1Image:Class;
protected const microscopemaskImage:Class;
protected const hotplate_1Image:Class;
protected const puff2Sound:Class;
protected const clockSound:Class;
protected const eyedropper_1maskImage:Class;
protected const shrew0_1Image:Class;
protected const bambiraptor1Sound:Class;
protected const eyeball_52maskImage:Class;
protected const particle1_7maskImage:Class;
protected const granitesmalledgemaskImage:Class;
protected const eyelid2_16maskImage:Class;
protected const feather1_dispImage:Class;
protected const pupil_23Image:Class;
protected const goo0_128maskImage:Class;
protected const euoplocephalus2maskImage:Class;
protected const pupil_6maskImage:Class;
protected const scientistold0Image:Class;
protected const petridish0maskImage:Class;
protected const candy_brownImage:Class;
protected const eyelid1Image:Class;
protected const oscilloscope_1Image:Class;
protected const candy_redImage:Class;
protected const styracosaurus1maskImage:Class;
protected const paper_dispImage:Class;
protected const dirtsmallmaskImage:Class;
protected const tyrannosaurus0_1maskImage:Class;
protected const eyedroppermaskImage:Class;
protected const goodieSound:Class;
protected const butterfly1_dispImage:Class;
protected const struthiomimus2Image:Class;
protected const goo5_128Image:Class;
protected const frog_dispImage:Class;
protected const candy_redmaskImage:Class;
protected const shrew0Image:Class;
protected const particle3maskImage:Class;
protected const eyeball_34Image:Class;
protected const helperarrowback_1Image:Class;
protected const testtube1_dispmaskImage:Class;
protected const eyeball_30maskImage:Class;
protected const microscope2Sound:Class;
protected const labfloormaskImage:Class;
protected const larva0Image:Class;
protected const flask_2Image:Class;
protected const pupil_5Image:Class;
protected const largeexplosion1Sound:Class;
protected const bunsen_dispImage:Class;
protected const battery_1Image:Class;
protected const tyrannosaurus_dispImage:Class;
protected const goo6maskImage:Class;
protected const goo0_64maskImage:Class;
protected const bambiraptor1Image:Class;
protected const candy_purpleImage:Class;
protected const styracosaurus0Image:Class;
protected const triceratops1Image:Class;
protected const candy_orange_1maskImage:Class;
protected const eyedropper_dispmaskImage:Class;
protected const progressbarImage:Class;
protected const triceratops1maskImage:Class;
protected const fern1maskImage:Class;
protected const eyeball_12Image:Class;
protected const eyeball_15maskImage:Class;
protected const chalk1Sound:Class;
protected const eyelid1_16Image:Class;
protected const frog0maskImage:Class;
protected const eyeball_60maskImage:Class;
protected const butterfly1_0Image:Class;
protected const microscope_1maskImage:Class;
protected const pupil_18maskImage:Class;
protected const styracosaurus0_1maskImage:Class;
protected const labtableedgerightmaskImage:Class;
protected const particle3_5maskImage:Class;
protected const butterfly2_dispmaskImage:Class;
protected const woodsmall1Sound:Class;
protected const goo0Image:Class;
protected const pupil_19Image:Class;
protected const reticle_1Image:Class;
protected const tyrannosaurus0maskImage:Class;
protected const eatendisplayImage:Class;
protected const bambiraptor2Sound:Class;
protected const larva_dispImage:Class;
protected const pupil_11maskImage:Class;
protected const pupil_24Image:Class;
protected const batterymaskImage:Class;
protected const testtube1_dispImage:Class;
protected const scientistold1Image:Class;
protected const mapleleafmaskImage:Class;
protected const microscope_dispmaskImage:Class;
protected const eyelid2Image:Class;
protected const eyeball_62Image:Class;
protected const goo1_64Image:Class;
protected const asteroid_1_1maskImage:Class;
protected const shrew1Image:Class;
protected const rat1_1Image:Class;
protected const eyeball_23maskImage:Class;
protected const oscilloscopemaskImage:Class;
protected const shrew2_1maskImage:Class;
protected const callipermaskImage:Class;
protected const fern1Image:Class;
protected const larva0maskImage:Class;
protected const eyeball_40Image:Class;
protected const styracosaurus0_1Image:Class;
protected const largeexplosion2Sound:Class;
protected const goo5_64maskImage:Class;
protected const bambiraptor2Image:Class;
protected const candy_pinkmaskImage:Class;
protected const pupil_26maskImage:Class;
protected const triceratops2Image:Class;
protected const pupil_6Image:Class;
protected const styracosaurus1Image:Class;
protected const bambiraptor2maskImage:Class;
protected const eyelid2_32maskImage:Class;
protected const reticle_2maskImage:Class;
protected const grasssmallImage:Class;
protected const darkspotImage:Class;
protected const eyelid0maskImage:Class;
protected const cat1Sound:Class;
protected const chalk2Sound:Class;
protected const labtableedgeleftmaskImage:Class;
protected const moonImage:Class;
protected const candy_green_dispImage:Class;
protected const eyeball_13Image:Class;
protected const eyeball_58Image:Class;
protected const butterfly1_1Image:Class;
protected const chalk_blue_dispmaskImage:Class;
protected const reticle_2Image:Class;
protected const bunsenmaskImage:Class;
protected const pupil_7maskImage:Class;
protected const goo1Image:Class;
protected const candy_orangeImage:Class;
protected const petridish1maskImage:Class;
protected const woodsmall2Sound:Class;
protected const styracosaurus2maskImage:Class;
protected const mushroom1_dispImage:Class;
protected const dinobigherb7Sound:Class;
protected const pupil_25Image:Class;
protected const arrow_1maskImage:Class;
protected const eyeball_38maskImage:Class;
protected const goo1_128maskImage:Class;
protected const particle1_1maskImage:Class;
protected const scientistold2Image:Class;
protected const alamosaurus_dispImage:Class;
protected const birch_dispmaskImage:Class;
protected const particle4maskImage:Class;
protected const goo6_128Image:Class;
protected const earth_dispImage:Class;
protected const eyelid3Image:Class;
protected const eyeball_36Image:Class;
protected const pupil_30Image:Class;
protected const paperImage:Class;
protected const earthImage:Class;
protected const candy_purple_1Image:Class;
protected const goo6_128maskImage:Class;
protected const shrew2Image:Class;
protected const tyrannosaurus1_1Image:Class;
protected const earth_dispmaskImage:Class;
protected const eyelid0_16Image:Class;
protected const eyeball_16maskImage:Class;
protected const flaskmaskImage:Class;
protected const eyeball_68maskImage:Class;
protected const eyelid1_16maskImage:Class;
protected const starssmallmaskImage:Class;
protected const crunch1Sound:Class;
protected const candy_pink_1maskImage:Class;
protected const goo7maskImage:Class;
protected const rock1Image:Class;
protected const cat2Sound:Class;
protected const pupil_7Image:Class;
protected const darkspotmaskImage:Class;
protected const reticle_3Image:Class;
protected const asteroid_2_1Image:Class;
protected const largeexplosion3Sound:Class;
protected const alamosaurus0maskImage:Class;
protected const candy_green_dispmaskImage:Class;
protected const frog1maskImage:Class;
protected const styracosaurus2Image:Class;
protected const goo0maskImage:Class;
protected const triceratops2maskImage:Class;
protected const rat0Image:Class;
protected const stygimoloch0Image:Class;
protected const candy_yellow_dispImage:Class;
protected const helperarrow_1Image:Class;
protected const simon0Image:Class;
protected const tyrannosaurus1maskImage:Class;
protected const pupil_19maskImage:Class;
protected const larva_dispmaskImage:Class;
protected const shrew2_1Image:Class;
protected const candy_orangemaskImage:Class;
protected const asteroid_2_dispImage:Class;
protected const eyeballImage:Class;
protected const flask_dispImage:Class;
protected const testtube1_1Image:Class;
protected const mushroom1_dispmaskImage:Class;
protected const rat2_1maskImage:Class;
protected const woodsmall3Sound:Class;
protected const scientistyoung0maskImage:Class;
protected const eyeball_46maskImage:Class;
protected const eyeball_14Image:Class;
protected const dinobigherb8Sound:Class;
protected const eyedropper_dispImage:Class;
protected const goo0_64Image:Class;
protected const pupil_12maskImage:Class;
protected const calliper_1maskImage:Class;
protected const asteroid_1Image:Class;
protected const particle5_3maskImage:Class;
protected const starssmallImage:Class;
protected const labtableedgeleftImage:Class;
protected const bunsen_1maskImage:Class;
protected const goo2Image:Class;
protected const pupil_26Image:Class;
protected const butterfly2_0maskImage:Class;
protected const eyeball_76maskImage:Class;
protected const eyeball_24maskImage:Class;
protected const candy_purple_1maskImage:Class;
protected const pupil_31Image:Class;
protected const hotplate_1maskImage:Class;
protected const pupil_27maskImage:Class;
protected const reticle_3maskImage:Class;
protected const crunch2Sound:Class;
protected const smallsquish1Sound:Class;
protected const eyeball_42Image:Class;
protected const egg1Image:Class;
protected const labtableedgemaskImage:Class;
protected const particle5_4maskImage:Class;
protected const goohurt1Sound:Class;
protected const grassbigImage:Class;
protected const paper1Sound:Class;
protected const asteroid_2_2Image:Class;
public var particleImages:Array;
public var dingoImages:Array;
public var dingoSoundSamples:Array;
private static var instance:ResourceManager;
public static var myArial:Class = ResourceManager_myArial;
public function ResourceManager(){
candy_blueImage = ResourceManager_candy_blueImage;
candy_blue_1Image = ResourceManager_candy_blue_1Image;
candy_brownImage = ResourceManager_candy_brownImage;
candy_brown_1Image = ResourceManager_candy_brown_1Image;
candy_greenImage = ResourceManager_candy_greenImage;
candy_green_1Image = ResourceManager_candy_green_1Image;
candy_orangeImage = ResourceManager_candy_orangeImage;
candy_orange_1Image = ResourceManager_candy_orange_1Image;
candy_pinkImage = ResourceManager_candy_pinkImage;
candy_pink_1Image = ResourceManager_candy_pink_1Image;
candy_purpleImage = ResourceManager_candy_purpleImage;
candy_purple_1Image = ResourceManager_candy_purple_1Image;
candy_redImage = ResourceManager_candy_redImage;
candy_red_1Image = ResourceManager_candy_red_1Image;
candy_yellowImage = ResourceManager_candy_yellowImage;
candy_yellow_1Image = ResourceManager_candy_yellow_1Image;
batteryImage = ResourceManager_batteryImage;
battery_1Image = ResourceManager_battery_1Image;
chalkImage = ResourceManager_chalkImage;
chalk_1Image = ResourceManager_chalk_1Image;
chalk_yellowImage = ResourceManager_chalk_yellowImage;
chalk_yellow_1Image = ResourceManager_chalk_yellow_1Image;
chalk_blueImage = ResourceManager_chalk_blueImage;
chalk_blue_1Image = ResourceManager_chalk_blue_1Image;
testtube1Image = ResourceManager_testtube1Image;
testtube1_1Image = ResourceManager_testtube1_1Image;
flaskImage = ResourceManager_flaskImage;
flask_1Image = ResourceManager_flask_1Image;
flask_2Image = ResourceManager_flask_2Image;
eyedropperImage = ResourceManager_eyedropperImage;
eyedropper_1Image = ResourceManager_eyedropper_1Image;
calliperImage = ResourceManager_calliperImage;
calliper_1Image = ResourceManager_calliper_1Image;
frog0Image = ResourceManager_frog0Image;
frog1Image = ResourceManager_frog1Image;
frog2Image = ResourceManager_frog2Image;
frog3Image = ResourceManager_frog3Image;
paperImage = ResourceManager_paperImage;
paper_1Image = ResourceManager_paper_1Image;
oscilloscopeImage = ResourceManager_oscilloscopeImage;
oscilloscope_1Image = ResourceManager_oscilloscope_1Image;
microscopeImage = ResourceManager_microscopeImage;
microscope_1Image = ResourceManager_microscope_1Image;
bunsenImage = ResourceManager_bunsenImage;
bunsen_1Image = ResourceManager_bunsen_1Image;
hotplateImage = ResourceManager_hotplateImage;
hotplate_1Image = ResourceManager_hotplate_1Image;
petridish0Image = ResourceManager_petridish0Image;
petridish1Image = ResourceManager_petridish1Image;
petridish2Image = ResourceManager_petridish2Image;
rat0Image = ResourceManager_rat0Image;
rat1Image = ResourceManager_rat1Image;
rat2Image = ResourceManager_rat2Image;
rat0_1Image = ResourceManager_rat0_1Image;
rat1_1Image = ResourceManager_rat1_1Image;
rat2_1Image = ResourceManager_rat2_1Image;
simon0Image = ResourceManager_simon0Image;
simon1Image = ResourceManager_simon1Image;
simon2Image = ResourceManager_simon2Image;
timemachineImage = ResourceManager_timemachineImage;
scientistold0Image = ResourceManager_scientistold0Image;
scientistold1Image = ResourceManager_scientistold1Image;
scientistold2Image = ResourceManager_scientistold2Image;
scientistyoung0Image = ResourceManager_scientistyoung0Image;
scientistyoung1Image = ResourceManager_scientistyoung1Image;
scientistyoung2Image = ResourceManager_scientistyoung2Image;
egg1Image = ResourceManager_egg1Image;
mushroom1Image = ResourceManager_mushroom1Image;
mushroom3Image = ResourceManager_mushroom3Image;
mapleleafImage = ResourceManager_mapleleafImage;
feather1Image = ResourceManager_feather1Image;
feather1_1Image = ResourceManager_feather1_1Image;
butterfly1_0Image = ResourceManager_butterfly1_0Image;
butterfly1_1Image = ResourceManager_butterfly1_1Image;
butterfly2_0Image = ResourceManager_butterfly2_0Image;
butterfly2_1Image = ResourceManager_butterfly2_1Image;
larva0Image = ResourceManager_larva0Image;
grasshopper0Image = ResourceManager_grasshopper0Image;
grasshopper1Image = ResourceManager_grasshopper1Image;
shrew0Image = ResourceManager_shrew0Image;
shrew1Image = ResourceManager_shrew1Image;
shrew2Image = ResourceManager_shrew2Image;
shrew0_1Image = ResourceManager_shrew0_1Image;
shrew1_1Image = ResourceManager_shrew1_1Image;
shrew2_1Image = ResourceManager_shrew2_1Image;
rock1Image = ResourceManager_rock1Image;
magnolia1Image = ResourceManager_magnolia1Image;
fern1Image = ResourceManager_fern1Image;
turtle0Image = ResourceManager_turtle0Image;
turtle1Image = ResourceManager_turtle1Image;
turtle2Image = ResourceManager_turtle2Image;
bambiraptor0Image = ResourceManager_bambiraptor0Image;
bambiraptor1Image = ResourceManager_bambiraptor1Image;
bambiraptor2Image = ResourceManager_bambiraptor2Image;
struthiomimus0Image = ResourceManager_struthiomimus0Image;
struthiomimus1Image = ResourceManager_struthiomimus1Image;
struthiomimus2Image = ResourceManager_struthiomimus2Image;
stygimoloch0Image = ResourceManager_stygimoloch0Image;
stygimoloch1Image = ResourceManager_stygimoloch1Image;
stygimoloch2Image = ResourceManager_stygimoloch2Image;
tyrannosaurus0Image = ResourceManager_tyrannosaurus0Image;
tyrannosaurus1Image = ResourceManager_tyrannosaurus1Image;
tyrannosaurus2Image = ResourceManager_tyrannosaurus2Image;
tyrannosaurus0_1Image = ResourceManager_tyrannosaurus0_1Image;
tyrannosaurus1_1Image = ResourceManager_tyrannosaurus1_1Image;
tyrannosaurus2_1Image = ResourceManager_tyrannosaurus2_1Image;
styracosaurus0Image = ResourceManager_styracosaurus0Image;
styracosaurus1Image = ResourceManager_styracosaurus1Image;
styracosaurus2Image = ResourceManager_styracosaurus2Image;
styracosaurus0_1Image = ResourceManager_styracosaurus0_1Image;
styracosaurus1_1Image = ResourceManager_styracosaurus1_1Image;
styracosaurus2_1Image = ResourceManager_styracosaurus2_1Image;
birchImage = ResourceManager_birchImage;
birch_1Image = ResourceManager_birch_1Image;
oakImage = ResourceManager_oakImage;
alamosaurus0Image = ResourceManager_alamosaurus0Image;
alamosaurus1Image = ResourceManager_alamosaurus1Image;
triceratops0Image = ResourceManager_triceratops0Image;
triceratops1Image = ResourceManager_triceratops1Image;
triceratops2Image = ResourceManager_triceratops2Image;
euoplocephalus0Image = ResourceManager_euoplocephalus0Image;
euoplocephalus1Image = ResourceManager_euoplocephalus1Image;
euoplocephalus2Image = ResourceManager_euoplocephalus2Image;
asteroid_1Image = ResourceManager_asteroid_1Image;
asteroid_1_1Image = ResourceManager_asteroid_1_1Image;
asteroid_2Image = ResourceManager_asteroid_2Image;
asteroid_2_1Image = ResourceManager_asteroid_2_1Image;
asteroid_2_2Image = ResourceManager_asteroid_2_2Image;
moonImage = ResourceManager_moonImage;
earthImage = ResourceManager_earthImage;
starssmallImage = ResourceManager_starssmallImage;
grasstinyImage = ResourceManager_grasstinyImage;
grasssmallImage = ResourceManager_grasssmallImage;
grassbigImage = ResourceManager_grassbigImage;
dirtsmallImage = ResourceManager_dirtsmallImage;
labfloorImage = ResourceManager_labfloorImage;
granitesmallImage = ResourceManager_granitesmallImage;
granitebigImage = ResourceManager_granitebigImage;
granitesmalledgeImage = ResourceManager_granitesmalledgeImage;
labtableedgeImage = ResourceManager_labtableedgeImage;
labtableedgeleftImage = ResourceManager_labtableedgeleftImage;
labtableedgerightImage = ResourceManager_labtableedgerightImage;
darkspotImage = ResourceManager_darkspotImage;
tyrannosaurus_dispImage = ResourceManager_tyrannosaurus_dispImage;
styracosaurus_dispImage = ResourceManager_styracosaurus_dispImage;
stygimoloch_dispImage = ResourceManager_stygimoloch_dispImage;
struthiomimus_dispImage = ResourceManager_struthiomimus_dispImage;
simon_dispImage = ResourceManager_simon_dispImage;
shrew_dispImage = ResourceManager_shrew_dispImage;
rock1_dispImage = ResourceManager_rock1_dispImage;
petridish_dispImage = ResourceManager_petridish_dispImage;
paper_dispImage = ResourceManager_paper_dispImage;
oscilloscope_dispImage = ResourceManager_oscilloscope_dispImage;
mushroom1_dispImage = ResourceManager_mushroom1_dispImage;
mushroom3_dispImage = ResourceManager_mushroom3_dispImage;
moon_dispImage = ResourceManager_moon_dispImage;
microscope_dispImage = ResourceManager_microscope_dispImage;
mapleleaf_dispImage = ResourceManager_mapleleaf_dispImage;
magnolia1_dispImage = ResourceManager_magnolia1_dispImage;
frog_dispImage = ResourceManager_frog_dispImage;
flask_dispImage = ResourceManager_flask_dispImage;
feather1_dispImage = ResourceManager_feather1_dispImage;
eyedropper_dispImage = ResourceManager_eyedropper_dispImage;
egg1_dispImage = ResourceManager_egg1_dispImage;
earth_dispImage = ResourceManager_earth_dispImage;
butterfly1_dispImage = ResourceManager_butterfly1_dispImage;
butterfly2_dispImage = ResourceManager_butterfly2_dispImage;
bunsen_dispImage = ResourceManager_bunsen_dispImage;
birch_dispImage = ResourceManager_birch_dispImage;
battery_dispImage = ResourceManager_battery_dispImage;
bambiraptor_dispImage = ResourceManager_bambiraptor_dispImage;
asteroid_1_dispImage = ResourceManager_asteroid_1_dispImage;
asteroid_2_dispImage = ResourceManager_asteroid_2_dispImage;
timemachine_dispImage = ResourceManager_timemachine_dispImage;
testtube1_dispImage = ResourceManager_testtube1_dispImage;
turtle_dispImage = ResourceManager_turtle_dispImage;
candy_yellow_dispImage = ResourceManager_candy_yellow_dispImage;
candy_red_dispImage = ResourceManager_candy_red_dispImage;
candy_purple_dispImage = ResourceManager_candy_purple_dispImage;
candy_pink_dispImage = ResourceManager_candy_pink_dispImage;
candy_orange_dispImage = ResourceManager_candy_orange_dispImage;
candy_green_dispImage = ResourceManager_candy_green_dispImage;
candy_brown_dispImage = ResourceManager_candy_brown_dispImage;
candy_blue_dispImage = ResourceManager_candy_blue_dispImage;
chalk_dispImage = ResourceManager_chalk_dispImage;
chalk_blue_dispImage = ResourceManager_chalk_blue_dispImage;
chalk_yellow_dispImage = ResourceManager_chalk_yellow_dispImage;
calliper_dispImage = ResourceManager_calliper_dispImage;
hotplate_dispImage = ResourceManager_hotplate_dispImage;
rat_dispImage = ResourceManager_rat_dispImage;
larva_dispImage = ResourceManager_larva_dispImage;
grasshopper_dispImage = ResourceManager_grasshopper_dispImage;
fern1_dispImage = ResourceManager_fern1_dispImage;
euoplocephalus_dispImage = ResourceManager_euoplocephalus_dispImage;
alamosaurus_dispImage = ResourceManager_alamosaurus_dispImage;
triceratops_dispImage = ResourceManager_triceratops_dispImage;
oak_dispImage = ResourceManager_oak_dispImage;
candy_bluemaskImage = ResourceManager_candy_bluemaskImage;
candy_blue_1maskImage = ResourceManager_candy_blue_1maskImage;
candy_brownmaskImage = ResourceManager_candy_brownmaskImage;
candy_brown_1maskImage = ResourceManager_candy_brown_1maskImage;
candy_greenmaskImage = ResourceManager_candy_greenmaskImage;
candy_green_1maskImage = ResourceManager_candy_green_1maskImage;
candy_orangemaskImage = ResourceManager_candy_orangemaskImage;
candy_orange_1maskImage = ResourceManager_candy_orange_1maskImage;
candy_pinkmaskImage = ResourceManager_candy_pinkmaskImage;
candy_pink_1maskImage = ResourceManager_candy_pink_1maskImage;
candy_purplemaskImage = ResourceManager_candy_purplemaskImage;
candy_purple_1maskImage = ResourceManager_candy_purple_1maskImage;
candy_redmaskImage = ResourceManager_candy_redmaskImage;
candy_red_1maskImage = ResourceManager_candy_red_1maskImage;
candy_yellowmaskImage = ResourceManager_candy_yellowmaskImage;
candy_yellow_1maskImage = ResourceManager_candy_yellow_1maskImage;
batterymaskImage = ResourceManager_batterymaskImage;
battery_1maskImage = ResourceManager_battery_1maskImage;
chalkmaskImage = ResourceManager_chalkmaskImage;
chalk_1maskImage = ResourceManager_chalk_1maskImage;
chalk_yellowmaskImage = ResourceManager_chalk_yellowmaskImage;
chalk_yellow_1maskImage = ResourceManager_chalk_yellow_1maskImage;
chalk_bluemaskImage = ResourceManager_chalk_bluemaskImage;
chalk_blue_1maskImage = ResourceManager_chalk_blue_1maskImage;
testtube1maskImage = ResourceManager_testtube1maskImage;
testtube1_1maskImage = ResourceManager_testtube1_1maskImage;
flaskmaskImage = ResourceManager_flaskmaskImage;
flask_1maskImage = ResourceManager_flask_1maskImage;
flask_2maskImage = ResourceManager_flask_2maskImage;
eyedroppermaskImage = ResourceManager_eyedroppermaskImage;
eyedropper_1maskImage = ResourceManager_eyedropper_1maskImage;
callipermaskImage = ResourceManager_callipermaskImage;
calliper_1maskImage = ResourceManager_calliper_1maskImage;
frog0maskImage = ResourceManager_frog0maskImage;
frog1maskImage = ResourceManager_frog1maskImage;
frog2maskImage = ResourceManager_frog2maskImage;
frog3maskImage = ResourceManager_frog3maskImage;
papermaskImage = ResourceManager_papermaskImage;
paper_1maskImage = ResourceManager_paper_1maskImage;
oscilloscopemaskImage = ResourceManager_oscilloscopemaskImage;
oscilloscope_1maskImage = ResourceManager_oscilloscope_1maskImage;
microscopemaskImage = ResourceManager_microscopemaskImage;
microscope_1maskImage = ResourceManager_microscope_1maskImage;
bunsenmaskImage = ResourceManager_bunsenmaskImage;
bunsen_1maskImage = ResourceManager_bunsen_1maskImage;
hotplatemaskImage = ResourceManager_hotplatemaskImage;
hotplate_1maskImage = ResourceManager_hotplate_1maskImage;
petridish0maskImage = ResourceManager_petridish0maskImage;
petridish1maskImage = ResourceManager_petridish1maskImage;
petridish2maskImage = ResourceManager_petridish2maskImage;
rat0maskImage = ResourceManager_rat0maskImage;
rat1maskImage = ResourceManager_rat1maskImage;
rat2maskImage = ResourceManager_rat2maskImage;
rat0_1maskImage = ResourceManager_rat0_1maskImage;
rat1_1maskImage = ResourceManager_rat1_1maskImage;
rat2_1maskImage = ResourceManager_rat2_1maskImage;
simon0maskImage = ResourceManager_simon0maskImage;
simon1maskImage = ResourceManager_simon1maskImage;
simon2maskImage = ResourceManager_simon2maskImage;
timemachinemaskImage = ResourceManager_timemachinemaskImage;
scientistold0maskImage = ResourceManager_scientistold0maskImage;
scientistold1maskImage = ResourceManager_scientistold1maskImage;
scientistold2maskImage = ResourceManager_scientistold2maskImage;
scientistyoung0maskImage = ResourceManager_scientistyoung0maskImage;
scientistyoung1maskImage = ResourceManager_scientistyoung1maskImage;
scientistyoung2maskImage = ResourceManager_scientistyoung2maskImage;
egg1maskImage = ResourceManager_egg1maskImage;
mushroom1maskImage = ResourceManager_mushroom1maskImage;
mushroom3maskImage = ResourceManager_mushroom3maskImage;
mapleleafmaskImage = ResourceManager_mapleleafmaskImage;
feather1maskImage = ResourceManager_feather1maskImage;
feather1_1maskImage = ResourceManager_feather1_1maskImage;
butterfly1_0maskImage = ResourceManager_butterfly1_0maskImage;
butterfly1_1maskImage = ResourceManager_butterfly1_1maskImage;
butterfly2_0maskImage = ResourceManager_butterfly2_0maskImage;
butterfly2_1maskImage = ResourceManager_butterfly2_1maskImage;
larva0maskImage = ResourceManager_larva0maskImage;
grasshopper0maskImage = ResourceManager_grasshopper0maskImage;
grasshopper1maskImage = ResourceManager_grasshopper1maskImage;
shrew0maskImage = ResourceManager_shrew0maskImage;
shrew1maskImage = ResourceManager_shrew1maskImage;
shrew2maskImage = ResourceManager_shrew2maskImage;
shrew0_1maskImage = ResourceManager_shrew0_1maskImage;
shrew1_1maskImage = ResourceManager_shrew1_1maskImage;
shrew2_1maskImage = ResourceManager_shrew2_1maskImage;
rock1maskImage = ResourceManager_rock1maskImage;
magnolia1maskImage = ResourceManager_magnolia1maskImage;
fern1maskImage = ResourceManager_fern1maskImage;
turtle0maskImage = ResourceManager_turtle0maskImage;
turtle1maskImage = ResourceManager_turtle1maskImage;
turtle2maskImage = ResourceManager_turtle2maskImage;
bambiraptor0maskImage = ResourceManager_bambiraptor0maskImage;
bambiraptor1maskImage = ResourceManager_bambiraptor1maskImage;
bambiraptor2maskImage = ResourceManager_bambiraptor2maskImage;
struthiomimus0maskImage = ResourceManager_struthiomimus0maskImage;
struthiomimus1maskImage = ResourceManager_struthiomimus1maskImage;
struthiomimus2maskImage = ResourceManager_struthiomimus2maskImage;
stygimoloch0maskImage = ResourceManager_stygimoloch0maskImage;
stygimoloch1maskImage = ResourceManager_stygimoloch1maskImage;
stygimoloch2maskImage = ResourceManager_stygimoloch2maskImage;
tyrannosaurus0maskImage = ResourceManager_tyrannosaurus0maskImage;
tyrannosaurus1maskImage = ResourceManager_tyrannosaurus1maskImage;
tyrannosaurus2maskImage = ResourceManager_tyrannosaurus2maskImage;
tyrannosaurus0_1maskImage = ResourceManager_tyrannosaurus0_1maskImage;
tyrannosaurus1_1maskImage = ResourceManager_tyrannosaurus1_1maskImage;
tyrannosaurus2_1maskImage = ResourceManager_tyrannosaurus2_1maskImage;
styracosaurus0maskImage = ResourceManager_styracosaurus0maskImage;
styracosaurus1maskImage = ResourceManager_styracosaurus1maskImage;
styracosaurus2maskImage = ResourceManager_styracosaurus2maskImage;
styracosaurus0_1maskImage = ResourceManager_styracosaurus0_1maskImage;
styracosaurus1_1maskImage = ResourceManager_styracosaurus1_1maskImage;
styracosaurus2_1maskImage = ResourceManager_styracosaurus2_1maskImage;
birchmaskImage = ResourceManager_birchmaskImage;
birch_1maskImage = ResourceManager_birch_1maskImage;
oakmaskImage = ResourceManager_oakmaskImage;
alamosaurus0maskImage = ResourceManager_alamosaurus0maskImage;
alamosaurus1maskImage = ResourceManager_alamosaurus1maskImage;
triceratops0maskImage = ResourceManager_triceratops0maskImage;
triceratops1maskImage = ResourceManager_triceratops1maskImage;
triceratops2maskImage = ResourceManager_triceratops2maskImage;
euoplocephalus0maskImage = ResourceManager_euoplocephalus0maskImage;
euoplocephalus1maskImage = ResourceManager_euoplocephalus1maskImage;
euoplocephalus2maskImage = ResourceManager_euoplocephalus2maskImage;
asteroid_1maskImage = ResourceManager_asteroid_1maskImage;
asteroid_1_1maskImage = ResourceManager_asteroid_1_1maskImage;
asteroid_2maskImage = ResourceManager_asteroid_2maskImage;
asteroid_2_1maskImage = ResourceManager_asteroid_2_1maskImage;
asteroid_2_2maskImage = ResourceManager_asteroid_2_2maskImage;
moonmaskImage = ResourceManager_moonmaskImage;
earthmaskImage = ResourceManager_earthmaskImage;
starssmallmaskImage = ResourceManager_starssmallmaskImage;
grasstinymaskImage = ResourceManager_grasstinymaskImage;
grasssmallmaskImage = ResourceManager_grasssmallmaskImage;
grassbigmaskImage = ResourceManager_grassbigmaskImage;
dirtsmallmaskImage = ResourceManager_dirtsmallmaskImage;
labfloormaskImage = ResourceManager_labfloormaskImage;
granitesmallmaskImage = ResourceManager_granitesmallmaskImage;
granitebigmaskImage = ResourceManager_granitebigmaskImage;
granitesmalledgemaskImage = ResourceManager_granitesmalledgemaskImage;
labtableedgemaskImage = ResourceManager_labtableedgemaskImage;
labtableedgeleftmaskImage = ResourceManager_labtableedgeleftmaskImage;
labtableedgerightmaskImage = ResourceManager_labtableedgerightmaskImage;
darkspotmaskImage = ResourceManager_darkspotmaskImage;
tyrannosaurus_dispmaskImage = ResourceManager_tyrannosaurus_dispmaskImage;
styracosaurus_dispmaskImage = ResourceManager_styracosaurus_dispmaskImage;
stygimoloch_dispmaskImage = ResourceManager_stygimoloch_dispmaskImage;
struthiomimus_dispmaskImage = ResourceManager_struthiomimus_dispmaskImage;
simon_dispmaskImage = ResourceManager_simon_dispmaskImage;
shrew_dispmaskImage = ResourceManager_shrew_dispmaskImage;
rock1_dispmaskImage = ResourceManager_rock1_dispmaskImage;
petridish_dispmaskImage = ResourceManager_petridish_dispmaskImage;
paper_dispmaskImage = ResourceManager_paper_dispmaskImage;
oscilloscope_dispmaskImage = ResourceManager_oscilloscope_dispmaskImage;
mushroom1_dispmaskImage = ResourceManager_mushroom1_dispmaskImage;
mushroom3_dispmaskImage = ResourceManager_mushroom3_dispmaskImage;
moon_dispmaskImage = ResourceManager_moon_dispmaskImage;
microscope_dispmaskImage = ResourceManager_microscope_dispmaskImage;
mapleleaf_dispmaskImage = ResourceManager_mapleleaf_dispmaskImage;
magnolia1_dispmaskImage = ResourceManager_magnolia1_dispmaskImage;
frog_dispmaskImage = ResourceManager_frog_dispmaskImage;
flask_dispmaskImage = ResourceManager_flask_dispmaskImage;
feather1_dispmaskImage = ResourceManager_feather1_dispmaskImage;
eyedropper_dispmaskImage = ResourceManager_eyedropper_dispmaskImage;
egg1_dispmaskImage = ResourceManager_egg1_dispmaskImage;
earth_dispmaskImage = ResourceManager_earth_dispmaskImage;
butterfly1_dispmaskImage = ResourceManager_butterfly1_dispmaskImage;
butterfly2_dispmaskImage = ResourceManager_butterfly2_dispmaskImage;
bunsen_dispmaskImage = ResourceManager_bunsen_dispmaskImage;
birch_dispmaskImage = ResourceManager_birch_dispmaskImage;
battery_dispmaskImage = ResourceManager_battery_dispmaskImage;
bambiraptor_dispmaskImage = ResourceManager_bambiraptor_dispmaskImage;
asteroid_1_dispmaskImage = ResourceManager_asteroid_1_dispmaskImage;
asteroid_2_dispmaskImage = ResourceManager_asteroid_2_dispmaskImage;
timemachine_dispmaskImage = ResourceManager_timemachine_dispmaskImage;
testtube1_dispmaskImage = ResourceManager_testtube1_dispmaskImage;
turtle_dispmaskImage = ResourceManager_turtle_dispmaskImage;
candy_yellow_dispmaskImage = ResourceManager_candy_yellow_dispmaskImage;
candy_red_dispmaskImage = ResourceManager_candy_red_dispmaskImage;
candy_purple_dispmaskImage = ResourceManager_candy_purple_dispmaskImage;
candy_pink_dispmaskImage = ResourceManager_candy_pink_dispmaskImage;
candy_orange_dispmaskImage = ResourceManager_candy_orange_dispmaskImage;
candy_green_dispmaskImage = ResourceManager_candy_green_dispmaskImage;
candy_brown_dispmaskImage = ResourceManager_candy_brown_dispmaskImage;
candy_blue_dispmaskImage = ResourceManager_candy_blue_dispmaskImage;
chalk_dispmaskImage = ResourceManager_chalk_dispmaskImage;
chalk_blue_dispmaskImage = ResourceManager_chalk_blue_dispmaskImage;
chalk_yellow_dispmaskImage = ResourceManager_chalk_yellow_dispmaskImage;
calliper_dispmaskImage = ResourceManager_calliper_dispmaskImage;
hotplate_dispmaskImage = ResourceManager_hotplate_dispmaskImage;
rat_dispmaskImage = ResourceManager_rat_dispmaskImage;
larva_dispmaskImage = ResourceManager_larva_dispmaskImage;
grasshopper_dispmaskImage = ResourceManager_grasshopper_dispmaskImage;
fern1_dispmaskImage = ResourceManager_fern1_dispmaskImage;
euoplocephalus_dispmaskImage = ResourceManager_euoplocephalus_dispmaskImage;
alamosaurus_dispmaskImage = ResourceManager_alamosaurus_dispmaskImage;
triceratops_dispmaskImage = ResourceManager_triceratops_dispmaskImage;
oak_dispmaskImage = ResourceManager_oak_dispmaskImage;
electric1Sound = ResourceManager_electric1Sound;
electric2Sound = ResourceManager_electric2Sound;
glass2Sound = ResourceManager_glass2Sound;
glass3Sound = ResourceManager_glass3Sound;
glass4Sound = ResourceManager_glass4Sound;
glass5Sound = ResourceManager_glass5Sound;
chalk1Sound = ResourceManager_chalk1Sound;
chalk2Sound = ResourceManager_chalk2Sound;
frog1Sound = ResourceManager_frog1Sound;
frog2Sound = ResourceManager_frog2Sound;
caliper1Sound = ResourceManager_caliper1Sound;
caliper2Sound = ResourceManager_caliper2Sound;
buzzSound = ResourceManager_buzzSound;
clockSound = ResourceManager_clockSound;
goohurt1Sound = ResourceManager_goohurt1Sound;
goohurt2Sound = ResourceManager_goohurt2Sound;
goodieSound = ResourceManager_goodieSound;
yumyumSound = ResourceManager_yumyumSound;
yummySound = ResourceManager_yummySound;
hmmSound = ResourceManager_hmmSound;
oompahSound = ResourceManager_oompahSound;
puff1Sound = ResourceManager_puff1Sound;
puff2Sound = ResourceManager_puff2Sound;
largeexplosion1Sound = ResourceManager_largeexplosion1Sound;
largeexplosion2Sound = ResourceManager_largeexplosion2Sound;
largeexplosion3Sound = ResourceManager_largeexplosion3Sound;
crunch1Sound = ResourceManager_crunch1Sound;
crunch2Sound = ResourceManager_crunch2Sound;
crunch3Sound = ResourceManager_crunch3Sound;
paper1Sound = ResourceManager_paper1Sound;
paper2Sound = ResourceManager_paper2Sound;
metal15Sound = ResourceManager_metal15Sound;
metal16Sound = ResourceManager_metal16Sound;
microscope1Sound = ResourceManager_microscope1Sound;
microscope2Sound = ResourceManager_microscope2Sound;
mouse1Sound = ResourceManager_mouse1Sound;
mouse2Sound = ResourceManager_mouse2Sound;
cat1Sound = ResourceManager_cat1Sound;
cat2Sound = ResourceManager_cat2Sound;
smallsquish1Sound = ResourceManager_smallsquish1Sound;
smallsquish2Sound = ResourceManager_smallsquish2Sound;
woodsmall1Sound = ResourceManager_woodsmall1Sound;
woodsmall2Sound = ResourceManager_woodsmall2Sound;
woodsmall3Sound = ResourceManager_woodsmall3Sound;
stonesmall1Sound = ResourceManager_stonesmall1Sound;
stonesmall2Sound = ResourceManager_stonesmall2Sound;
bambiraptor1Sound = ResourceManager_bambiraptor1Sound;
bambiraptor2Sound = ResourceManager_bambiraptor2Sound;
tree1Sound = ResourceManager_tree1Sound;
tree2Sound = ResourceManager_tree2Sound;
tree3Sound = ResourceManager_tree3Sound;
dinosmallherb4Sound = ResourceManager_dinosmallherb4Sound;
dinosmallherb5Sound = ResourceManager_dinosmallherb5Sound;
dinosmallherb6Sound = ResourceManager_dinosmallherb6Sound;
dinobigherb2Sound = ResourceManager_dinobigherb2Sound;
dinobigherb7Sound = ResourceManager_dinobigherb7Sound;
dinobigherb8Sound = ResourceManager_dinobigherb8Sound;
dinobigcarn3Sound = ResourceManager_dinobigcarn3Sound;
dinobigcarn4Sound = ResourceManager_dinobigcarn4Sound;
dinobigcarn6Sound = ResourceManager_dinobigcarn6Sound;
stone1Sound = ResourceManager_stone1Sound;
stone2Sound = ResourceManager_stone2Sound;
stone3Sound = ResourceManager_stone3Sound;
stone4Sound = ResourceManager_stone4Sound;
stone5Sound = ResourceManager_stone5Sound;
stone6Sound = ResourceManager_stone6Sound;
eyeballImage = ResourceManager_eyeballImage;
eyeball_6Image = ResourceManager_eyeball_6Image;
eyeball_7Image = ResourceManager_eyeball_7Image;
eyeball_8Image = ResourceManager_eyeball_8Image;
eyeball_9Image = ResourceManager_eyeball_9Image;
eyeball_10Image = ResourceManager_eyeball_10Image;
eyeball_11Image = ResourceManager_eyeball_11Image;
eyeball_12Image = ResourceManager_eyeball_12Image;
eyeball_13Image = ResourceManager_eyeball_13Image;
eyeball_14Image = ResourceManager_eyeball_14Image;
eyeball_15Image = ResourceManager_eyeball_15Image;
eyeball_16Image = ResourceManager_eyeball_16Image;
eyeball_17Image = ResourceManager_eyeball_17Image;
eyeball_18Image = ResourceManager_eyeball_18Image;
eyeball_19Image = ResourceManager_eyeball_19Image;
eyeball_20Image = ResourceManager_eyeball_20Image;
eyeball_21Image = ResourceManager_eyeball_21Image;
eyeball_22Image = ResourceManager_eyeball_22Image;
eyeball_23Image = ResourceManager_eyeball_23Image;
eyeball_24Image = ResourceManager_eyeball_24Image;
eyeball_25Image = ResourceManager_eyeball_25Image;
eyeball_26Image = ResourceManager_eyeball_26Image;
eyeball_28Image = ResourceManager_eyeball_28Image;
eyeball_30Image = ResourceManager_eyeball_30Image;
eyeball_32Image = ResourceManager_eyeball_32Image;
eyeball_34Image = ResourceManager_eyeball_34Image;
eyeball_36Image = ResourceManager_eyeball_36Image;
eyeball_38Image = ResourceManager_eyeball_38Image;
eyeball_40Image = ResourceManager_eyeball_40Image;
eyeball_42Image = ResourceManager_eyeball_42Image;
eyeball_44Image = ResourceManager_eyeball_44Image;
eyeball_46Image = ResourceManager_eyeball_46Image;
eyeball_48Image = ResourceManager_eyeball_48Image;
eyeball_50Image = ResourceManager_eyeball_50Image;
eyeball_52Image = ResourceManager_eyeball_52Image;
eyeball_54Image = ResourceManager_eyeball_54Image;
eyeball_56Image = ResourceManager_eyeball_56Image;
eyeball_58Image = ResourceManager_eyeball_58Image;
eyeball_60Image = ResourceManager_eyeball_60Image;
eyeball_62Image = ResourceManager_eyeball_62Image;
eyeball_68Image = ResourceManager_eyeball_68Image;
eyeball_72Image = ResourceManager_eyeball_72Image;
eyeball_76Image = ResourceManager_eyeball_76Image;
eyelid0Image = ResourceManager_eyelid0Image;
eyelid1Image = ResourceManager_eyelid1Image;
eyelid2Image = ResourceManager_eyelid2Image;
eyelid3Image = ResourceManager_eyelid3Image;
eyelid0_32Image = ResourceManager_eyelid0_32Image;
eyelid1_32Image = ResourceManager_eyelid1_32Image;
eyelid2_32Image = ResourceManager_eyelid2_32Image;
eyelid3_32Image = ResourceManager_eyelid3_32Image;
eyelid0_16Image = ResourceManager_eyelid0_16Image;
eyelid1_16Image = ResourceManager_eyelid1_16Image;
eyelid2_16Image = ResourceManager_eyelid2_16Image;
eyelid3_16Image = ResourceManager_eyelid3_16Image;
goo0Image = ResourceManager_goo0Image;
goo1Image = ResourceManager_goo1Image;
goo2Image = ResourceManager_goo2Image;
goo3Image = ResourceManager_goo3Image;
goo4Image = ResourceManager_goo4Image;
goo5Image = ResourceManager_goo5Image;
goo6Image = ResourceManager_goo6Image;
goo7Image = ResourceManager_goo7Image;
goo0_128Image = ResourceManager_goo0_128Image;
goo1_128Image = ResourceManager_goo1_128Image;
goo2_128Image = ResourceManager_goo2_128Image;
goo3_128Image = ResourceManager_goo3_128Image;
goo4_128Image = ResourceManager_goo4_128Image;
goo5_128Image = ResourceManager_goo5_128Image;
goo6_128Image = ResourceManager_goo6_128Image;
goo7_128Image = ResourceManager_goo7_128Image;
goo0_64Image = ResourceManager_goo0_64Image;
goo1_64Image = ResourceManager_goo1_64Image;
goo2_64Image = ResourceManager_goo2_64Image;
goo3_64Image = ResourceManager_goo3_64Image;
goo4_64Image = ResourceManager_goo4_64Image;
goo5_64Image = ResourceManager_goo5_64Image;
goo6_64Image = ResourceManager_goo6_64Image;
goo7_64Image = ResourceManager_goo7_64Image;
particle0Image = ResourceManager_particle0Image;
particle1Image = ResourceManager_particle1Image;
pupilImage = ResourceManager_pupilImage;
pupil_2Image = ResourceManager_pupil_2Image;
pupil_3Image = ResourceManager_pupil_3Image;
pupil_4Image = ResourceManager_pupil_4Image;
pupil_5Image = ResourceManager_pupil_5Image;
pupil_6Image = ResourceManager_pupil_6Image;
pupil_7Image = ResourceManager_pupil_7Image;
pupil_8Image = ResourceManager_pupil_8Image;
pupil_9Image = ResourceManager_pupil_9Image;
pupil_10Image = ResourceManager_pupil_10Image;
pupil_11Image = ResourceManager_pupil_11Image;
pupil_12Image = ResourceManager_pupil_12Image;
pupil_13Image = ResourceManager_pupil_13Image;
pupil_14Image = ResourceManager_pupil_14Image;
pupil_15Image = ResourceManager_pupil_15Image;
pupil_16Image = ResourceManager_pupil_16Image;
pupil_17Image = ResourceManager_pupil_17Image;
pupil_18Image = ResourceManager_pupil_18Image;
pupil_19Image = ResourceManager_pupil_19Image;
pupil_20Image = ResourceManager_pupil_20Image;
pupil_21Image = ResourceManager_pupil_21Image;
pupil_22Image = ResourceManager_pupil_22Image;
pupil_23Image = ResourceManager_pupil_23Image;
pupil_24Image = ResourceManager_pupil_24Image;
pupil_25Image = ResourceManager_pupil_25Image;
pupil_26Image = ResourceManager_pupil_26Image;
pupil_27Image = ResourceManager_pupil_27Image;
pupil_28Image = ResourceManager_pupil_28Image;
pupil_29Image = ResourceManager_pupil_29Image;
pupil_30Image = ResourceManager_pupil_30Image;
pupil_31Image = ResourceManager_pupil_31Image;
reticleImage = ResourceManager_reticleImage;
reticle_1Image = ResourceManager_reticle_1Image;
reticle_2Image = ResourceManager_reticle_2Image;
reticle_3Image = ResourceManager_reticle_3Image;
arrowmaskImage = ResourceManager_arrowmaskImage;
arrow_1maskImage = ResourceManager_arrow_1maskImage;
eyeballmaskImage = ResourceManager_eyeballmaskImage;
eyeball_6maskImage = ResourceManager_eyeball_6maskImage;
eyeball_7maskImage = ResourceManager_eyeball_7maskImage;
eyeball_8maskImage = ResourceManager_eyeball_8maskImage;
eyeball_9maskImage = ResourceManager_eyeball_9maskImage;
eyeball_10maskImage = ResourceManager_eyeball_10maskImage;
eyeball_11maskImage = ResourceManager_eyeball_11maskImage;
eyeball_12maskImage = ResourceManager_eyeball_12maskImage;
eyeball_13maskImage = ResourceManager_eyeball_13maskImage;
eyeball_14maskImage = ResourceManager_eyeball_14maskImage;
eyeball_15maskImage = ResourceManager_eyeball_15maskImage;
eyeball_16maskImage = ResourceManager_eyeball_16maskImage;
eyeball_17maskImage = ResourceManager_eyeball_17maskImage;
eyeball_18maskImage = ResourceManager_eyeball_18maskImage;
eyeball_19maskImage = ResourceManager_eyeball_19maskImage;
eyeball_20maskImage = ResourceManager_eyeball_20maskImage;
eyeball_21maskImage = ResourceManager_eyeball_21maskImage;
eyeball_22maskImage = ResourceManager_eyeball_22maskImage;
eyeball_23maskImage = ResourceManager_eyeball_23maskImage;
eyeball_24maskImage = ResourceManager_eyeball_24maskImage;
eyeball_25maskImage = ResourceManager_eyeball_25maskImage;
eyeball_26maskImage = ResourceManager_eyeball_26maskImage;
eyeball_28maskImage = ResourceManager_eyeball_28maskImage;
eyeball_30maskImage = ResourceManager_eyeball_30maskImage;
eyeball_32maskImage = ResourceManager_eyeball_32maskImage;
eyeball_34maskImage = ResourceManager_eyeball_34maskImage;
eyeball_36maskImage = ResourceManager_eyeball_36maskImage;
eyeball_38maskImage = ResourceManager_eyeball_38maskImage;
eyeball_40maskImage = ResourceManager_eyeball_40maskImage;
eyeball_42maskImage = ResourceManager_eyeball_42maskImage;
eyeball_44maskImage = ResourceManager_eyeball_44maskImage;
eyeball_46maskImage = ResourceManager_eyeball_46maskImage;
eyeball_48maskImage = ResourceManager_eyeball_48maskImage;
eyeball_50maskImage = ResourceManager_eyeball_50maskImage;
eyeball_52maskImage = ResourceManager_eyeball_52maskImage;
eyeball_54maskImage = ResourceManager_eyeball_54maskImage;
eyeball_56maskImage = ResourceManager_eyeball_56maskImage;
eyeball_58maskImage = ResourceManager_eyeball_58maskImage;
eyeball_60maskImage = ResourceManager_eyeball_60maskImage;
eyeball_62maskImage = ResourceManager_eyeball_62maskImage;
eyeball_68maskImage = ResourceManager_eyeball_68maskImage;
eyeball_72maskImage = ResourceManager_eyeball_72maskImage;
eyeball_76maskImage = ResourceManager_eyeball_76maskImage;
eyelid0maskImage = ResourceManager_eyelid0maskImage;
eyelid1maskImage = ResourceManager_eyelid1maskImage;
eyelid2maskImage = ResourceManager_eyelid2maskImage;
eyelid3maskImage = ResourceManager_eyelid3maskImage;
eyelid0_32maskImage = ResourceManager_eyelid0_32maskImage;
eyelid1_32maskImage = ResourceManager_eyelid1_32maskImage;
eyelid2_32maskImage = ResourceManager_eyelid2_32maskImage;
eyelid3_32maskImage = ResourceManager_eyelid3_32maskImage;
eyelid0_16maskImage = ResourceManager_eyelid0_16maskImage;
eyelid1_16maskImage = ResourceManager_eyelid1_16maskImage;
eyelid2_16maskImage = ResourceManager_eyelid2_16maskImage;
eyelid3_16maskImage = ResourceManager_eyelid3_16maskImage;
goo0maskImage = ResourceManager_goo0maskImage;
goo1maskImage = ResourceManager_goo1maskImage;
goo2maskImage = ResourceManager_goo2maskImage;
goo3maskImage = ResourceManager_goo3maskImage;
goo4maskImage = ResourceManager_goo4maskImage;
goo5maskImage = ResourceManager_goo5maskImage;
goo6maskImage = ResourceManager_goo6maskImage;
goo7maskImage = ResourceManager_goo7maskImage;
goo0_128maskImage = ResourceManager_goo0_128maskImage;
goo1_128maskImage = ResourceManager_goo1_128maskImage;
goo2_128maskImage = ResourceManager_goo2_128maskImage;
goo3_128maskImage = ResourceManager_goo3_128maskImage;
goo4_128maskImage = ResourceManager_goo4_128maskImage;
goo5_128maskImage = ResourceManager_goo5_128maskImage;
goo6_128maskImage = ResourceManager_goo6_128maskImage;
goo7_128maskImage = ResourceManager_goo7_128maskImage;
goo0_64maskImage = ResourceManager_goo0_64maskImage;
goo1_64maskImage = ResourceManager_goo1_64maskImage;
goo2_64maskImage = ResourceManager_goo2_64maskImage;
goo3_64maskImage = ResourceManager_goo3_64maskImage;
goo4_64maskImage = ResourceManager_goo4_64maskImage;
goo5_64maskImage = ResourceManager_goo5_64maskImage;
goo6_64maskImage = ResourceManager_goo6_64maskImage;
goo7_64maskImage = ResourceManager_goo7_64maskImage;
particle0maskImage = ResourceManager_particle0maskImage;
particle1maskImage = ResourceManager_particle1maskImage;
particle1_1maskImage = ResourceManager_particle1_1maskImage;
particle1_2maskImage = ResourceManager_particle1_2maskImage;
particle1_3maskImage = ResourceManager_particle1_3maskImage;
particle1_4maskImage = ResourceManager_particle1_4maskImage;
particle1_5maskImage = ResourceManager_particle1_5maskImage;
particle1_6maskImage = ResourceManager_particle1_6maskImage;
particle1_7maskImage = ResourceManager_particle1_7maskImage;
particle2maskImage = ResourceManager_particle2maskImage;
particle3maskImage = ResourceManager_particle3maskImage;
particle3_1maskImage = ResourceManager_particle3_1maskImage;
particle3_2maskImage = ResourceManager_particle3_2maskImage;
particle3_3maskImage = ResourceManager_particle3_3maskImage;
particle3_4maskImage = ResourceManager_particle3_4maskImage;
particle3_5maskImage = ResourceManager_particle3_5maskImage;
particle4maskImage = ResourceManager_particle4maskImage;
particle5maskImage = ResourceManager_particle5maskImage;
particle5_1maskImage = ResourceManager_particle5_1maskImage;
particle5_2maskImage = ResourceManager_particle5_2maskImage;
particle5_3maskImage = ResourceManager_particle5_3maskImage;
particle5_4maskImage = ResourceManager_particle5_4maskImage;
particle5_5maskImage = ResourceManager_particle5_5maskImage;
particle6maskImage = ResourceManager_particle6maskImage;
pupilmaskImage = ResourceManager_pupilmaskImage;
pupil_2maskImage = ResourceManager_pupil_2maskImage;
pupil_3maskImage = ResourceManager_pupil_3maskImage;
pupil_4maskImage = ResourceManager_pupil_4maskImage;
pupil_5maskImage = ResourceManager_pupil_5maskImage;
pupil_6maskImage = ResourceManager_pupil_6maskImage;
pupil_7maskImage = ResourceManager_pupil_7maskImage;
pupil_8maskImage = ResourceManager_pupil_8maskImage;
pupil_9maskImage = ResourceManager_pupil_9maskImage;
pupil_10maskImage = ResourceManager_pupil_10maskImage;
pupil_11maskImage = ResourceManager_pupil_11maskImage;
pupil_12maskImage = ResourceManager_pupil_12maskImage;
pupil_13maskImage = ResourceManager_pupil_13maskImage;
pupil_14maskImage = ResourceManager_pupil_14maskImage;
pupil_15maskImage = ResourceManager_pupil_15maskImage;
pupil_16maskImage = ResourceManager_pupil_16maskImage;
pupil_17maskImage = ResourceManager_pupil_17maskImage;
pupil_18maskImage = ResourceManager_pupil_18maskImage;
pupil_19maskImage = ResourceManager_pupil_19maskImage;
pupil_20maskImage = ResourceManager_pupil_20maskImage;
pupil_21maskImage = ResourceManager_pupil_21maskImage;
pupil_22maskImage = ResourceManager_pupil_22maskImage;
pupil_23maskImage = ResourceManager_pupil_23maskImage;
pupil_24maskImage = ResourceManager_pupil_24maskImage;
pupil_25maskImage = ResourceManager_pupil_25maskImage;
pupil_26maskImage = ResourceManager_pupil_26maskImage;
pupil_27maskImage = ResourceManager_pupil_27maskImage;
pupil_28maskImage = ResourceManager_pupil_28maskImage;
pupil_29maskImage = ResourceManager_pupil_29maskImage;
pupil_30maskImage = ResourceManager_pupil_30maskImage;
pupil_31maskImage = ResourceManager_pupil_31maskImage;
reticlemaskImage = ResourceManager_reticlemaskImage;
reticle_1maskImage = ResourceManager_reticle_1maskImage;
reticle_2maskImage = ResourceManager_reticle_2maskImage;
reticle_3maskImage = ResourceManager_reticle_3maskImage;
eatendisplayImage = ResourceManager_eatendisplayImage;
progressbarImage = ResourceManager_progressbarImage;
progressbackImage = ResourceManager_progressbackImage;
timerbackImage = ResourceManager_timerbackImage;
helperarrowImage = ResourceManager_helperarrowImage;
helperarrow_1Image = ResourceManager_helperarrow_1Image;
helperarrowbackImage = ResourceManager_helperarrowbackImage;
helperarrowback_1Image = ResourceManager_helperarrowback_1Image;
redSound = ResourceManager_redSound;
dingoImages = new Array();
particleImages = new Array();
dingoSoundSamples = new Array();
super();
}
public function getParticleImage(imageName:String):ParticleImage{
var particleImage:ParticleImage;
var otherImageName:String;
if (dingoImages.indexOf(imageName) == -1){
particleImage = new ParticleImage();
otherImageName = "";
if (imageName == "particle3"){
particleImage.setAlphaLevels(10);
particleImage.addImageName((imageName + "_1"));
particleImage.addImageName((imageName + "_2"));
particleImage.addImageName((imageName + "_3"));
particleImage.addImageName((imageName + "_4"));
particleImage.addImageName((imageName + "_5"));
} else {
if (imageName == "particle5"){
particleImage.setAlphaLevels(10);
particleImage.addImageName((imageName + "_1"));
particleImage.addImageName((imageName + "_2"));
particleImage.addImageName((imageName + "_3"));
particleImage.addImageName((imageName + "_4"));
particleImage.addImageName((imageName + "_5"));
} else {
if (imageName == "particle1"){
particleImage.setAlphaLevels(10);
particleImage.addImageName((imageName + "_1"));
particleImage.addImageName((imageName + "_2"));
particleImage.addImageName((imageName + "_3"));
particleImage.addImageName((imageName + "_4"));
particleImage.addImageName((imageName + "_5"));
particleImage.addImageName((imageName + "_6"));
particleImage.addImageName((imageName + "_7"));
};
};
};
particleImage.addImageName(imageName);
particleImages[imageName] = particleImage;
};
return (particleImages[imageName]);
}
public function getBitmapDataMasked(name:String):BitmapData{
var sourceBitmap:BitmapData;
var maskBitmap:BitmapData;
var bitmap:BitmapData;
var graphic:Class = ResourceManager.getInstance().getImage(name);
var maskGraphic:Class = ResourceManager.getInstance().getImage((name + "mask"));
if (((!((graphic == null))) && (!((maskGraphic == null))))){
sourceBitmap = new (graphic).bitmapData;
maskBitmap = new (maskGraphic).bitmapData;
bitmap = new BitmapData(sourceBitmap.width, sourceBitmap.height);
bitmap.copyPixels(sourceBitmap, sourceBitmap.rect, new Point());
bitmap.copyChannel(maskBitmap, maskBitmap.rect, new Point(), BitmapDataChannel.RED, BitmapDataChannel.ALPHA);
} else {
bitmap = new (graphic).bitmapData;
};
return (bitmap);
}
public function getDingoImage(imageName:String):DingoImage{
var dingoImage:DingoImage;
var otherImageName:String;
var defImProp:DingoImageProperty;
var imProp:DingoImageProperty;
if (dingoImages[imageName] == undefined){
dingoImage = new DingoImage();
otherImageName = "";
defImProp = new DingoImageProperty();
imProp = null;
if (imageName == "cucumberleaf"){
};
if ((((((((((((((((imageName == "candy_blue")) || ((imageName == "candy_brown")))) || ((imageName == "candy_green")))) || ((imageName == "candy_orange")))) || ((imageName == "candy_pink")))) || ((imageName == "candy_purple")))) || ((imageName == "candy_red")))) || ((imageName == "candy_yellow")))){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 4;
defImProp.shadowOffsetY = 4;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.shadowOffsetX = 2;
imProp.shadowOffsetY = 2;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "chalk"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 6;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.shadowOffsetX = 2;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "chalk_yellow"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 6;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.shadowOffsetX = 2;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "chalk_blue"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 6;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.shadowOffsetX = 2;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "battery"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 6;
defImProp.shadowOffsetY = 6;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.hasShadow = true;
imProp.rotations = 4;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "testtube1"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 14;
defImProp.shadowOffsetY = 14;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.hasShadow = true;
imProp.rotations = 4;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "flask"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 16;
defImProp.shadowOffsetY = 16;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.shadowOffsetX = 4;
imProp.shadowOffsetY = 4;
dingoImage.addImageName((imageName + "_1"), imProp);
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.shadowOffsetX = 4;
imProp.shadowOffsetY = 4;
dingoImage.addImageName((imageName + "_2"), imProp);
};
if (imageName == "eyedropper"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 6;
defImProp.shadowOffsetY = 6;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.shadowOffsetX = 2;
imProp.shadowOffsetY = 2;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "calliper"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 6;
defImProp.shadowOffsetY = 6;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.shadowOffsetX = 2;
imProp.shadowOffsetY = 2;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "paper"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.rotations = 8;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if ((((((imageName == "petridish0")) || ((imageName == "petridish1")))) || ((imageName == "petridish2")))){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 2;
defImProp.shadowOffsetY = 2;
};
if (imageName == "bunsen"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 4;
defImProp.shadowOffsetY = 4;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "oscilloscope"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 6;
defImProp.shadowOffsetY = 6;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.hasShadow = true;
imProp.rotations = 8;
imProp.shadowOffsetX = 2;
imProp.shadowOffsetY = 2;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "hotplate"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 6;
defImProp.shadowOffsetY = 6;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.hasShadow = true;
imProp.rotations = 8;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "microscope"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 6;
defImProp.shadowOffsetY = 6;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.hasShadow = true;
imProp.rotations = 8;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "timemachine"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 10;
defImProp.shadowOffsetY = 10;
};
if (imageName == "frog0"){
defImProp.hasFlip = true;
};
if (imageName == "frog1"){
defImProp.hasFlip = true;
};
if (imageName == "frog2"){
defImProp.hasFlip = true;
};
if (imageName == "frog3"){
defImProp.hasFlip = true;
};
if ((((((imageName == "rat0")) || ((imageName == "rat1")))) || ((imageName == "rat2")))){
dingoImage.sizeNotMip = true;
defImProp.hasFlip = true;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.hasFlip = true;
imProp.rotations = 32;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "simon0"){
defImProp.hasFlip = true;
};
if (imageName == "simon1"){
defImProp.hasFlip = true;
};
if (imageName == "simon2"){
defImProp.hasFlip = true;
};
if ((((((((((((imageName == "scientistold0")) || ((imageName == "scientistold1")))) || ((imageName == "scientistold2")))) || ((imageName == "scientistyoung0")))) || ((imageName == "scientistyoung1")))) || ((imageName == "scientistyoung2")))){
defImProp.hasFlip = true;
};
if (imageName == "egg1"){
defImProp.copyPixels = true;
defImProp.rotations = 3;
defImProp.hasShadow = true;
};
if (imageName == "mapleleaf"){
defImProp.copyPixels = true;
};
if (imageName == "feather1"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.rotations = 8;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "mushroom1"){
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 6;
defImProp.shadowOffsetY = 6;
};
if (imageName == "mushroom3"){
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 12;
defImProp.shadowOffsetY = 12;
};
if ((((((((imageName == "butterfly1_0")) || ((imageName == "butterfly1_1")))) || ((imageName == "butterfly2_0")))) || ((imageName == "butterfly2_1")))){
defImProp.copyPixels = true;
};
if ((((((imageName == "shrew0")) || ((imageName == "shrew1")))) || ((imageName == "shrew2")))){
dingoImage.sizeNotMip = true;
defImProp.hasFlip = true;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.hasFlip = true;
imProp.rotations = 32;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "larva0"){
defImProp.copyPixels = true;
defImProp.rotations = 32;
};
if ((((imageName == "grasshopper0")) || ((imageName == "grasshopper1")))){
defImProp.copyPixels = true;
defImProp.rotations = 32;
defImProp.hasFlip = true;
};
if (imageName == "magnolia1"){
defImProp.copyPixels = true;
};
if (imageName == "fern1"){
defImProp.copyPixels = true;
};
if (imageName == "rock1"){
defImProp.copyPixels = true;
defImProp.rotations = 3;
defImProp.hasShadow = true;
};
if ((((((imageName == "turtle0")) || ((imageName == "turtle1")))) || ((imageName == "turtle2")))){
defImProp.copyPixels = true;
defImProp.rotations = 32;
defImProp.hasFlip = true;
};
if ((((((imageName == "bambiraptor0")) || ((imageName == "bambiraptor1")))) || ((imageName == "bambiraptor2")))){
defImProp.hasFlip = true;
};
if ((((((imageName == "struthiomimus0")) || ((imageName == "struthiomimus1")))) || ((imageName == "struthiomimus2")))){
defImProp.copyPixels = true;
defImProp.rotations = 32;
defImProp.hasFlip = true;
};
if ((((((imageName == "stygimoloch0")) || ((imageName == "stygimoloch1")))) || ((imageName == "stygimoloch2")))){
defImProp.copyPixels = true;
defImProp.rotations = 32;
defImProp.hasFlip = true;
};
if ((((((imageName == "styracosaurus0")) || ((imageName == "styracosaurus1")))) || ((imageName == "styracosaurus2")))){
dingoImage.sizeNotMip = true;
defImProp.hasFlip = true;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.hasFlip = true;
imProp.rotations = 32;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if ((((((imageName == "tyrannosaurus0")) || ((imageName == "tyrannosaurus1")))) || ((imageName == "tyrannosaurus2")))){
dingoImage.sizeNotMip = true;
defImProp.hasFlip = true;
imProp = new DingoImageProperty();
imProp.hasFlip = true;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "birch"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 16;
defImProp.shadowOffsetY = 16;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.shadowOffsetX = 12;
imProp.shadowOffsetY = 10;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "oak"){
defImProp.copyPixels = true;
defImProp.shadowOffsetX = 14;
defImProp.shadowOffsetY = 14;
};
if ((((((imageName == "triceratops0")) || ((imageName == "triceratops1")))) || ((imageName == "triceratops2")))){
defImProp.copyPixels = true;
defImProp.rotations = 32;
defImProp.hasFlip = true;
};
if ((((((imageName == "euoplocephalus0")) || ((imageName == "euoplocephalus1")))) || ((imageName == "euoplocephalus2")))){
defImProp.copyPixels = true;
defImProp.rotations = 32;
defImProp.hasFlip = true;
};
if ((((imageName == "alamosaurus0")) || ((imageName == "alamosaurus1")))){
defImProp.copyPixels = true;
defImProp.rotations = 3;
};
if (imageName == "moon"){
defImProp.copyPixels = true;
};
if (imageName == "earth"){
defImProp.copyPixels = true;
};
if (imageName == "asteroid_1"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
defImProp.rotations = 32;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.rotations = 32;
dingoImage.addImageName((imageName + "_1"), imProp);
};
if (imageName == "asteroid_2"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = false;
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.rotations = 32;
dingoImage.addImageName((imageName + "_1"), imProp);
imProp = new DingoImageProperty();
imProp.copyPixels = true;
imProp.rotations = 32;
dingoImage.addImageName((imageName + "_2"), imProp);
};
if ((((((((((((((((imageName == "goo0")) || ((imageName == "goo1")))) || ((imageName == "goo2")))) || ((imageName == "goo3")))) || ((imageName == "goo4")))) || ((imageName == "goo5")))) || ((imageName == "goo6")))) || ((imageName == "goo7")))){
defImProp.shadowOffsetX = 16;
defImProp.shadowOffsetY = 16;
otherImageName = (imageName + "_64");
dingoImage.addImageName(otherImageName, defImProp);
otherImageName = (imageName + "_128");
dingoImage.addImageName(otherImageName, defImProp);
} else {
if (imageName == "pupil"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
dingoImage.addImageName((imageName + "_2"), defImProp);
dingoImage.addImageName((imageName + "_3"), defImProp);
dingoImage.addImageName((imageName + "_4"), defImProp);
dingoImage.addImageName((imageName + "_5"), defImProp);
dingoImage.addImageName((imageName + "_6"), defImProp);
dingoImage.addImageName((imageName + "_7"), defImProp);
dingoImage.addImageName((imageName + "_8"), defImProp);
dingoImage.addImageName((imageName + "_9"), defImProp);
dingoImage.addImageName((imageName + "_10"), defImProp);
dingoImage.addImageName((imageName + "_11"), defImProp);
dingoImage.addImageName((imageName + "_12"), defImProp);
dingoImage.addImageName((imageName + "_13"), defImProp);
dingoImage.addImageName((imageName + "_14"), defImProp);
dingoImage.addImageName((imageName + "_15"), defImProp);
dingoImage.addImageName((imageName + "_16"), defImProp);
dingoImage.addImageName((imageName + "_17"), defImProp);
dingoImage.addImageName((imageName + "_18"), defImProp);
dingoImage.addImageName((imageName + "_19"), defImProp);
dingoImage.addImageName((imageName + "_20"), defImProp);
dingoImage.addImageName((imageName + "_21"), defImProp);
dingoImage.addImageName((imageName + "_22"), defImProp);
dingoImage.addImageName((imageName + "_23"), defImProp);
dingoImage.addImageName((imageName + "_24"), defImProp);
dingoImage.addImageName((imageName + "_25"), defImProp);
dingoImage.addImageName((imageName + "_26"), defImProp);
dingoImage.addImageName((imageName + "_27"), defImProp);
dingoImage.addImageName((imageName + "_28"), defImProp);
dingoImage.addImageName((imageName + "_29"), defImProp);
dingoImage.addImageName((imageName + "_30"), defImProp);
dingoImage.addImageName((imageName + "_31"), defImProp);
} else {
if (imageName == "eyeball"){
dingoImage.sizeNotMip = true;
defImProp.copyPixels = true;
dingoImage.addImageName((imageName + "_6"), defImProp);
dingoImage.addImageName((imageName + "_7"), defImProp);
dingoImage.addImageName((imageName + "_8"), defImProp);
dingoImage.addImageName((imageName + "_9"), defImProp);
dingoImage.addImageName((imageName + "_10"), defImProp);
dingoImage.addImageName((imageName + "_11"), defImProp);
dingoImage.addImageName((imageName + "_12"), defImProp);
dingoImage.addImageName((imageName + "_13"), defImProp);
dingoImage.addImageName((imageName + "_14"), defImProp);
dingoImage.addImageName((imageName + "_15"), defImProp);
dingoImage.addImageName((imageName + "_16"), defImProp);
dingoImage.addImageName((imageName + "_17"), defImProp);
dingoImage.addImageName((imageName + "_18"), defImProp);
dingoImage.addImageName((imageName + "_19"), defImProp);
dingoImage.addImageName((imageName + "_20"), defImProp);
dingoImage.addImageName((imageName + "_21"), defImProp);
dingoImage.addImageName((imageName + "_22"), defImProp);
dingoImage.addImageName((imageName + "_23"), defImProp);
dingoImage.addImageName((imageName + "_24"), defImProp);
dingoImage.addImageName((imageName + "_25"), defImProp);
dingoImage.addImageName((imageName + "_26"), defImProp);
dingoImage.addImageName((imageName + "_28"), defImProp);
dingoImage.addImageName((imageName + "_30"), defImProp);
dingoImage.addImageName((imageName + "_32"), defImProp);
dingoImage.addImageName((imageName + "_34"), defImProp);
dingoImage.addImageName((imageName + "_36"), defImProp);
dingoImage.addImageName((imageName + "_38"), defImProp);
dingoImage.addImageName((imageName + "_40"), defImProp);
dingoImage.addImageName((imageName + "_42"), defImProp);
dingoImage.addImageName((imageName + "_44"), defImProp);
dingoImage.addImageName((imageName + "_46"), defImProp);
dingoImage.addImageName((imageName + "_48"), defImProp);
dingoImage.addImageName((imageName + "_50"), defImProp);
dingoImage.addImageName((imageName + "_52"), defImProp);
dingoImage.addImageName((imageName + "_54"), defImProp);
dingoImage.addImageName((imageName + "_56"), defImProp);
dingoImage.addImageName((imageName + "_58"), defImProp);
dingoImage.addImageName((imageName + "_60"), defImProp);
dingoImage.addImageName((imageName + "_62"), defImProp);
dingoImage.addImageName((imageName + "_68"), defImProp);
dingoImage.addImageName((imageName + "_72"), defImProp);
dingoImage.addImageName((imageName + "_76"), defImProp);
} else {
if (imageName == "eyeball"){
otherImageName = (imageName + "_16");
dingoImage.addImageName(otherImageName, defImProp);
otherImageName = (imageName + "_32");
dingoImage.addImageName(otherImageName, defImProp);
} else {
if (imageName == "reticle"){
dingoImage.setImagesSizeNotMip(true);
defImProp.copyPixels = true;
defImProp.rotations = 32;
dingoImage.addImageName((imageName + "_1"), defImProp);
dingoImage.addImageName((imageName + "_2"), defImProp);
dingoImage.addImageName((imageName + "_3"), defImProp);
} else {
if (imageName == "helperarrow"){
dingoImage.addImageName((imageName + "_1"), defImProp);
} else {
if (imageName == "helperarrowback"){
dingoImage.addImageName((imageName + "_1"), defImProp);
} else {
if (imageName == "eatendisplay"){
dingoImage.setCopyPixels(true);
};
};
};
};
};
};
};
};
dingoImage.addImageName(imageName, defImProp);
dingoImages[imageName] = dingoImage;
};
return (dingoImages[imageName]);
}
public function getDingoSoundSample(soundName:String):DingoSoundSample{
var dingoSoundSample:DingoSoundSample;
if (dingoSoundSamples.indexOf(soundName) == -1){
dingoSoundSample = new DingoSoundSample();
dingoSoundSample.setEmbedSound(getSound(soundName));
dingoSoundSamples[soundName] = dingoSoundSample;
};
return (dingoSoundSamples[soundName]);
}
public function getSound(soundName:String):Class{
var soundName = soundName;
return (this[(soundName + "Sound")]);
//unresolved jump
var _slot1 = errObject;
return (null);
return (null);
}
public function getImage(imageName:String):Class{
var imageName = imageName;
return (this[(imageName + "Image")]);
//unresolved jump
var _slot1 = errObject;
return (null);
return (null);
}
public static function getInstance():ResourceManager{
if (instance == null){
instance = new (ResourceManager);
};
return (instance);
}
}
}//package
Section 213
//ResourceManager_alamosaurus_dispImage (ResourceManager_alamosaurus_dispImage)
package {
import mx.core.*;
public class ResourceManager_alamosaurus_dispImage extends BitmapAsset {
}
}//package
Section 214
//ResourceManager_alamosaurus_dispmaskImage (ResourceManager_alamosaurus_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_alamosaurus_dispmaskImage extends BitmapAsset {
}
}//package
Section 215
//ResourceManager_alamosaurus0Image (ResourceManager_alamosaurus0Image)
package {
import mx.core.*;
public class ResourceManager_alamosaurus0Image extends BitmapAsset {
}
}//package
Section 216
//ResourceManager_alamosaurus0maskImage (ResourceManager_alamosaurus0maskImage)
package {
import mx.core.*;
public class ResourceManager_alamosaurus0maskImage extends BitmapAsset {
}
}//package
Section 217
//ResourceManager_alamosaurus1Image (ResourceManager_alamosaurus1Image)
package {
import mx.core.*;
public class ResourceManager_alamosaurus1Image extends BitmapAsset {
}
}//package
Section 218
//ResourceManager_alamosaurus1maskImage (ResourceManager_alamosaurus1maskImage)
package {
import mx.core.*;
public class ResourceManager_alamosaurus1maskImage extends BitmapAsset {
}
}//package
Section 219
//ResourceManager_arrow_1maskImage (ResourceManager_arrow_1maskImage)
package {
import mx.core.*;
public class ResourceManager_arrow_1maskImage extends BitmapAsset {
}
}//package
Section 220
//ResourceManager_arrowmaskImage (ResourceManager_arrowmaskImage)
package {
import mx.core.*;
public class ResourceManager_arrowmaskImage extends BitmapAsset {
}
}//package
Section 221
//ResourceManager_asteroid_1_1Image (ResourceManager_asteroid_1_1Image)
package {
import mx.core.*;
public class ResourceManager_asteroid_1_1Image extends BitmapAsset {
}
}//package
Section 222
//ResourceManager_asteroid_1_1maskImage (ResourceManager_asteroid_1_1maskImage)
package {
import mx.core.*;
public class ResourceManager_asteroid_1_1maskImage extends BitmapAsset {
}
}//package
Section 223
//ResourceManager_asteroid_1_dispImage (ResourceManager_asteroid_1_dispImage)
package {
import mx.core.*;
public class ResourceManager_asteroid_1_dispImage extends BitmapAsset {
}
}//package
Section 224
//ResourceManager_asteroid_1_dispmaskImage (ResourceManager_asteroid_1_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_asteroid_1_dispmaskImage extends BitmapAsset {
}
}//package
Section 225
//ResourceManager_asteroid_1Image (ResourceManager_asteroid_1Image)
package {
import mx.core.*;
public class ResourceManager_asteroid_1Image extends BitmapAsset {
}
}//package
Section 226
//ResourceManager_asteroid_1maskImage (ResourceManager_asteroid_1maskImage)
package {
import mx.core.*;
public class ResourceManager_asteroid_1maskImage extends BitmapAsset {
}
}//package
Section 227
//ResourceManager_asteroid_2_1Image (ResourceManager_asteroid_2_1Image)
package {
import mx.core.*;
public class ResourceManager_asteroid_2_1Image extends BitmapAsset {
}
}//package
Section 228
//ResourceManager_asteroid_2_1maskImage (ResourceManager_asteroid_2_1maskImage)
package {
import mx.core.*;
public class ResourceManager_asteroid_2_1maskImage extends BitmapAsset {
}
}//package
Section 229
//ResourceManager_asteroid_2_2Image (ResourceManager_asteroid_2_2Image)
package {
import mx.core.*;
public class ResourceManager_asteroid_2_2Image extends BitmapAsset {
}
}//package
Section 230
//ResourceManager_asteroid_2_2maskImage (ResourceManager_asteroid_2_2maskImage)
package {
import mx.core.*;
public class ResourceManager_asteroid_2_2maskImage extends BitmapAsset {
}
}//package
Section 231
//ResourceManager_asteroid_2_dispImage (ResourceManager_asteroid_2_dispImage)
package {
import mx.core.*;
public class ResourceManager_asteroid_2_dispImage extends BitmapAsset {
}
}//package
Section 232
//ResourceManager_asteroid_2_dispmaskImage (ResourceManager_asteroid_2_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_asteroid_2_dispmaskImage extends BitmapAsset {
}
}//package
Section 233
//ResourceManager_asteroid_2Image (ResourceManager_asteroid_2Image)
package {
import mx.core.*;
public class ResourceManager_asteroid_2Image extends BitmapAsset {
}
}//package
Section 234
//ResourceManager_asteroid_2maskImage (ResourceManager_asteroid_2maskImage)
package {
import mx.core.*;
public class ResourceManager_asteroid_2maskImage extends BitmapAsset {
}
}//package
Section 235
//ResourceManager_bambiraptor_dispImage (ResourceManager_bambiraptor_dispImage)
package {
import mx.core.*;
public class ResourceManager_bambiraptor_dispImage extends BitmapAsset {
}
}//package
Section 236
//ResourceManager_bambiraptor_dispmaskImage (ResourceManager_bambiraptor_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_bambiraptor_dispmaskImage extends BitmapAsset {
}
}//package
Section 237
//ResourceManager_bambiraptor0Image (ResourceManager_bambiraptor0Image)
package {
import mx.core.*;
public class ResourceManager_bambiraptor0Image extends BitmapAsset {
}
}//package
Section 238
//ResourceManager_bambiraptor0maskImage (ResourceManager_bambiraptor0maskImage)
package {
import mx.core.*;
public class ResourceManager_bambiraptor0maskImage extends BitmapAsset {
}
}//package
Section 239
//ResourceManager_bambiraptor1Image (ResourceManager_bambiraptor1Image)
package {
import mx.core.*;
public class ResourceManager_bambiraptor1Image extends BitmapAsset {
}
}//package
Section 240
//ResourceManager_bambiraptor1maskImage (ResourceManager_bambiraptor1maskImage)
package {
import mx.core.*;
public class ResourceManager_bambiraptor1maskImage extends BitmapAsset {
}
}//package
Section 241
//ResourceManager_bambiraptor1Sound (ResourceManager_bambiraptor1Sound)
package {
import mx.core.*;
public class ResourceManager_bambiraptor1Sound extends SoundAsset {
}
}//package
Section 242
//ResourceManager_bambiraptor2Image (ResourceManager_bambiraptor2Image)
package {
import mx.core.*;
public class ResourceManager_bambiraptor2Image extends BitmapAsset {
}
}//package
Section 243
//ResourceManager_bambiraptor2maskImage (ResourceManager_bambiraptor2maskImage)
package {
import mx.core.*;
public class ResourceManager_bambiraptor2maskImage extends BitmapAsset {
}
}//package
Section 244
//ResourceManager_bambiraptor2Sound (ResourceManager_bambiraptor2Sound)
package {
import mx.core.*;
public class ResourceManager_bambiraptor2Sound extends SoundAsset {
}
}//package
Section 245
//ResourceManager_battery_1Image (ResourceManager_battery_1Image)
package {
import mx.core.*;
public class ResourceManager_battery_1Image extends BitmapAsset {
}
}//package
Section 246
//ResourceManager_battery_1maskImage (ResourceManager_battery_1maskImage)
package {
import mx.core.*;
public class ResourceManager_battery_1maskImage extends BitmapAsset {
}
}//package
Section 247
//ResourceManager_battery_dispImage (ResourceManager_battery_dispImage)
package {
import mx.core.*;
public class ResourceManager_battery_dispImage extends BitmapAsset {
}
}//package
Section 248
//ResourceManager_battery_dispmaskImage (ResourceManager_battery_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_battery_dispmaskImage extends BitmapAsset {
}
}//package
Section 249
//ResourceManager_batteryImage (ResourceManager_batteryImage)
package {
import mx.core.*;
public class ResourceManager_batteryImage extends BitmapAsset {
}
}//package
Section 250
//ResourceManager_batterymaskImage (ResourceManager_batterymaskImage)
package {
import mx.core.*;
public class ResourceManager_batterymaskImage extends BitmapAsset {
}
}//package
Section 251
//ResourceManager_birch_1Image (ResourceManager_birch_1Image)
package {
import mx.core.*;
public class ResourceManager_birch_1Image extends BitmapAsset {
}
}//package
Section 252
//ResourceManager_birch_1maskImage (ResourceManager_birch_1maskImage)
package {
import mx.core.*;
public class ResourceManager_birch_1maskImage extends BitmapAsset {
}
}//package
Section 253
//ResourceManager_birch_dispImage (ResourceManager_birch_dispImage)
package {
import mx.core.*;
public class ResourceManager_birch_dispImage extends BitmapAsset {
}
}//package
Section 254
//ResourceManager_birch_dispmaskImage (ResourceManager_birch_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_birch_dispmaskImage extends BitmapAsset {
}
}//package
Section 255
//ResourceManager_birchImage (ResourceManager_birchImage)
package {
import mx.core.*;
public class ResourceManager_birchImage extends BitmapAsset {
}
}//package
Section 256
//ResourceManager_birchmaskImage (ResourceManager_birchmaskImage)
package {
import mx.core.*;
public class ResourceManager_birchmaskImage extends BitmapAsset {
}
}//package
Section 257
//ResourceManager_bunsen_1Image (ResourceManager_bunsen_1Image)
package {
import mx.core.*;
public class ResourceManager_bunsen_1Image extends BitmapAsset {
}
}//package
Section 258
//ResourceManager_bunsen_1maskImage (ResourceManager_bunsen_1maskImage)
package {
import mx.core.*;
public class ResourceManager_bunsen_1maskImage extends BitmapAsset {
}
}//package
Section 259
//ResourceManager_bunsen_dispImage (ResourceManager_bunsen_dispImage)
package {
import mx.core.*;
public class ResourceManager_bunsen_dispImage extends BitmapAsset {
}
}//package
Section 260
//ResourceManager_bunsen_dispmaskImage (ResourceManager_bunsen_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_bunsen_dispmaskImage extends BitmapAsset {
}
}//package
Section 261
//ResourceManager_bunsenImage (ResourceManager_bunsenImage)
package {
import mx.core.*;
public class ResourceManager_bunsenImage extends BitmapAsset {
}
}//package
Section 262
//ResourceManager_bunsenmaskImage (ResourceManager_bunsenmaskImage)
package {
import mx.core.*;
public class ResourceManager_bunsenmaskImage extends BitmapAsset {
}
}//package
Section 263
//ResourceManager_butterfly1_0Image (ResourceManager_butterfly1_0Image)
package {
import mx.core.*;
public class ResourceManager_butterfly1_0Image extends BitmapAsset {
}
}//package
Section 264
//ResourceManager_butterfly1_0maskImage (ResourceManager_butterfly1_0maskImage)
package {
import mx.core.*;
public class ResourceManager_butterfly1_0maskImage extends BitmapAsset {
}
}//package
Section 265
//ResourceManager_butterfly1_1Image (ResourceManager_butterfly1_1Image)
package {
import mx.core.*;
public class ResourceManager_butterfly1_1Image extends BitmapAsset {
}
}//package
Section 266
//ResourceManager_butterfly1_1maskImage (ResourceManager_butterfly1_1maskImage)
package {
import mx.core.*;
public class ResourceManager_butterfly1_1maskImage extends BitmapAsset {
}
}//package
Section 267
//ResourceManager_butterfly1_dispImage (ResourceManager_butterfly1_dispImage)
package {
import mx.core.*;
public class ResourceManager_butterfly1_dispImage extends BitmapAsset {
}
}//package
Section 268
//ResourceManager_butterfly1_dispmaskImage (ResourceManager_butterfly1_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_butterfly1_dispmaskImage extends BitmapAsset {
}
}//package
Section 269
//ResourceManager_butterfly2_0Image (ResourceManager_butterfly2_0Image)
package {
import mx.core.*;
public class ResourceManager_butterfly2_0Image extends BitmapAsset {
}
}//package
Section 270
//ResourceManager_butterfly2_0maskImage (ResourceManager_butterfly2_0maskImage)
package {
import mx.core.*;
public class ResourceManager_butterfly2_0maskImage extends BitmapAsset {
}
}//package
Section 271
//ResourceManager_butterfly2_1Image (ResourceManager_butterfly2_1Image)
package {
import mx.core.*;
public class ResourceManager_butterfly2_1Image extends BitmapAsset {
}
}//package
Section 272
//ResourceManager_butterfly2_1maskImage (ResourceManager_butterfly2_1maskImage)
package {
import mx.core.*;
public class ResourceManager_butterfly2_1maskImage extends BitmapAsset {
}
}//package
Section 273
//ResourceManager_butterfly2_dispImage (ResourceManager_butterfly2_dispImage)
package {
import mx.core.*;
public class ResourceManager_butterfly2_dispImage extends BitmapAsset {
}
}//package
Section 274
//ResourceManager_butterfly2_dispmaskImage (ResourceManager_butterfly2_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_butterfly2_dispmaskImage extends BitmapAsset {
}
}//package
Section 275
//ResourceManager_buzzSound (ResourceManager_buzzSound)
package {
import mx.core.*;
public class ResourceManager_buzzSound extends SoundAsset {
}
}//package
Section 276
//ResourceManager_caliper1Sound (ResourceManager_caliper1Sound)
package {
import mx.core.*;
public class ResourceManager_caliper1Sound extends SoundAsset {
}
}//package
Section 277
//ResourceManager_caliper2Sound (ResourceManager_caliper2Sound)
package {
import mx.core.*;
public class ResourceManager_caliper2Sound extends SoundAsset {
}
}//package
Section 278
//ResourceManager_calliper_1Image (ResourceManager_calliper_1Image)
package {
import mx.core.*;
public class ResourceManager_calliper_1Image extends BitmapAsset {
}
}//package
Section 279
//ResourceManager_calliper_1maskImage (ResourceManager_calliper_1maskImage)
package {
import mx.core.*;
public class ResourceManager_calliper_1maskImage extends BitmapAsset {
}
}//package
Section 280
//ResourceManager_calliper_dispImage (ResourceManager_calliper_dispImage)
package {
import mx.core.*;
public class ResourceManager_calliper_dispImage extends BitmapAsset {
}
}//package
Section 281
//ResourceManager_calliper_dispmaskImage (ResourceManager_calliper_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_calliper_dispmaskImage extends BitmapAsset {
}
}//package
Section 282
//ResourceManager_calliperImage (ResourceManager_calliperImage)
package {
import mx.core.*;
public class ResourceManager_calliperImage extends BitmapAsset {
}
}//package
Section 283
//ResourceManager_callipermaskImage (ResourceManager_callipermaskImage)
package {
import mx.core.*;
public class ResourceManager_callipermaskImage extends BitmapAsset {
}
}//package
Section 284
//ResourceManager_candy_blue_1Image (ResourceManager_candy_blue_1Image)
package {
import mx.core.*;
public class ResourceManager_candy_blue_1Image extends BitmapAsset {
}
}//package
Section 285
//ResourceManager_candy_blue_1maskImage (ResourceManager_candy_blue_1maskImage)
package {
import mx.core.*;
public class ResourceManager_candy_blue_1maskImage extends BitmapAsset {
}
}//package
Section 286
//ResourceManager_candy_blue_dispImage (ResourceManager_candy_blue_dispImage)
package {
import mx.core.*;
public class ResourceManager_candy_blue_dispImage extends BitmapAsset {
}
}//package
Section 287
//ResourceManager_candy_blue_dispmaskImage (ResourceManager_candy_blue_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_blue_dispmaskImage extends BitmapAsset {
}
}//package
Section 288
//ResourceManager_candy_blueImage (ResourceManager_candy_blueImage)
package {
import mx.core.*;
public class ResourceManager_candy_blueImage extends BitmapAsset {
}
}//package
Section 289
//ResourceManager_candy_bluemaskImage (ResourceManager_candy_bluemaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_bluemaskImage extends BitmapAsset {
}
}//package
Section 290
//ResourceManager_candy_brown_1Image (ResourceManager_candy_brown_1Image)
package {
import mx.core.*;
public class ResourceManager_candy_brown_1Image extends BitmapAsset {
}
}//package
Section 291
//ResourceManager_candy_brown_1maskImage (ResourceManager_candy_brown_1maskImage)
package {
import mx.core.*;
public class ResourceManager_candy_brown_1maskImage extends BitmapAsset {
}
}//package
Section 292
//ResourceManager_candy_brown_dispImage (ResourceManager_candy_brown_dispImage)
package {
import mx.core.*;
public class ResourceManager_candy_brown_dispImage extends BitmapAsset {
}
}//package
Section 293
//ResourceManager_candy_brown_dispmaskImage (ResourceManager_candy_brown_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_brown_dispmaskImage extends BitmapAsset {
}
}//package
Section 294
//ResourceManager_candy_brownImage (ResourceManager_candy_brownImage)
package {
import mx.core.*;
public class ResourceManager_candy_brownImage extends BitmapAsset {
}
}//package
Section 295
//ResourceManager_candy_brownmaskImage (ResourceManager_candy_brownmaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_brownmaskImage extends BitmapAsset {
}
}//package
Section 296
//ResourceManager_candy_green_1Image (ResourceManager_candy_green_1Image)
package {
import mx.core.*;
public class ResourceManager_candy_green_1Image extends BitmapAsset {
}
}//package
Section 297
//ResourceManager_candy_green_1maskImage (ResourceManager_candy_green_1maskImage)
package {
import mx.core.*;
public class ResourceManager_candy_green_1maskImage extends BitmapAsset {
}
}//package
Section 298
//ResourceManager_candy_green_dispImage (ResourceManager_candy_green_dispImage)
package {
import mx.core.*;
public class ResourceManager_candy_green_dispImage extends BitmapAsset {
}
}//package
Section 299
//ResourceManager_candy_green_dispmaskImage (ResourceManager_candy_green_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_green_dispmaskImage extends BitmapAsset {
}
}//package
Section 300
//ResourceManager_candy_greenImage (ResourceManager_candy_greenImage)
package {
import mx.core.*;
public class ResourceManager_candy_greenImage extends BitmapAsset {
}
}//package
Section 301
//ResourceManager_candy_greenmaskImage (ResourceManager_candy_greenmaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_greenmaskImage extends BitmapAsset {
}
}//package
Section 302
//ResourceManager_candy_orange_1Image (ResourceManager_candy_orange_1Image)
package {
import mx.core.*;
public class ResourceManager_candy_orange_1Image extends BitmapAsset {
}
}//package
Section 303
//ResourceManager_candy_orange_1maskImage (ResourceManager_candy_orange_1maskImage)
package {
import mx.core.*;
public class ResourceManager_candy_orange_1maskImage extends BitmapAsset {
}
}//package
Section 304
//ResourceManager_candy_orange_dispImage (ResourceManager_candy_orange_dispImage)
package {
import mx.core.*;
public class ResourceManager_candy_orange_dispImage extends BitmapAsset {
}
}//package
Section 305
//ResourceManager_candy_orange_dispmaskImage (ResourceManager_candy_orange_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_orange_dispmaskImage extends BitmapAsset {
}
}//package
Section 306
//ResourceManager_candy_orangeImage (ResourceManager_candy_orangeImage)
package {
import mx.core.*;
public class ResourceManager_candy_orangeImage extends BitmapAsset {
}
}//package
Section 307
//ResourceManager_candy_orangemaskImage (ResourceManager_candy_orangemaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_orangemaskImage extends BitmapAsset {
}
}//package
Section 308
//ResourceManager_candy_pink_1Image (ResourceManager_candy_pink_1Image)
package {
import mx.core.*;
public class ResourceManager_candy_pink_1Image extends BitmapAsset {
}
}//package
Section 309
//ResourceManager_candy_pink_1maskImage (ResourceManager_candy_pink_1maskImage)
package {
import mx.core.*;
public class ResourceManager_candy_pink_1maskImage extends BitmapAsset {
}
}//package
Section 310
//ResourceManager_candy_pink_dispImage (ResourceManager_candy_pink_dispImage)
package {
import mx.core.*;
public class ResourceManager_candy_pink_dispImage extends BitmapAsset {
}
}//package
Section 311
//ResourceManager_candy_pink_dispmaskImage (ResourceManager_candy_pink_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_pink_dispmaskImage extends BitmapAsset {
}
}//package
Section 312
//ResourceManager_candy_pinkImage (ResourceManager_candy_pinkImage)
package {
import mx.core.*;
public class ResourceManager_candy_pinkImage extends BitmapAsset {
}
}//package
Section 313
//ResourceManager_candy_pinkmaskImage (ResourceManager_candy_pinkmaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_pinkmaskImage extends BitmapAsset {
}
}//package
Section 314
//ResourceManager_candy_purple_1Image (ResourceManager_candy_purple_1Image)
package {
import mx.core.*;
public class ResourceManager_candy_purple_1Image extends BitmapAsset {
}
}//package
Section 315
//ResourceManager_candy_purple_1maskImage (ResourceManager_candy_purple_1maskImage)
package {
import mx.core.*;
public class ResourceManager_candy_purple_1maskImage extends BitmapAsset {
}
}//package
Section 316
//ResourceManager_candy_purple_dispImage (ResourceManager_candy_purple_dispImage)
package {
import mx.core.*;
public class ResourceManager_candy_purple_dispImage extends BitmapAsset {
}
}//package
Section 317
//ResourceManager_candy_purple_dispmaskImage (ResourceManager_candy_purple_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_purple_dispmaskImage extends BitmapAsset {
}
}//package
Section 318
//ResourceManager_candy_purpleImage (ResourceManager_candy_purpleImage)
package {
import mx.core.*;
public class ResourceManager_candy_purpleImage extends BitmapAsset {
}
}//package
Section 319
//ResourceManager_candy_purplemaskImage (ResourceManager_candy_purplemaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_purplemaskImage extends BitmapAsset {
}
}//package
Section 320
//ResourceManager_candy_red_1Image (ResourceManager_candy_red_1Image)
package {
import mx.core.*;
public class ResourceManager_candy_red_1Image extends BitmapAsset {
}
}//package
Section 321
//ResourceManager_candy_red_1maskImage (ResourceManager_candy_red_1maskImage)
package {
import mx.core.*;
public class ResourceManager_candy_red_1maskImage extends BitmapAsset {
}
}//package
Section 322
//ResourceManager_candy_red_dispImage (ResourceManager_candy_red_dispImage)
package {
import mx.core.*;
public class ResourceManager_candy_red_dispImage extends BitmapAsset {
}
}//package
Section 323
//ResourceManager_candy_red_dispmaskImage (ResourceManager_candy_red_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_red_dispmaskImage extends BitmapAsset {
}
}//package
Section 324
//ResourceManager_candy_redImage (ResourceManager_candy_redImage)
package {
import mx.core.*;
public class ResourceManager_candy_redImage extends BitmapAsset {
}
}//package
Section 325
//ResourceManager_candy_redmaskImage (ResourceManager_candy_redmaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_redmaskImage extends BitmapAsset {
}
}//package
Section 326
//ResourceManager_candy_yellow_1Image (ResourceManager_candy_yellow_1Image)
package {
import mx.core.*;
public class ResourceManager_candy_yellow_1Image extends BitmapAsset {
}
}//package
Section 327
//ResourceManager_candy_yellow_1maskImage (ResourceManager_candy_yellow_1maskImage)
package {
import mx.core.*;
public class ResourceManager_candy_yellow_1maskImage extends BitmapAsset {
}
}//package
Section 328
//ResourceManager_candy_yellow_dispImage (ResourceManager_candy_yellow_dispImage)
package {
import mx.core.*;
public class ResourceManager_candy_yellow_dispImage extends BitmapAsset {
}
}//package
Section 329
//ResourceManager_candy_yellow_dispmaskImage (ResourceManager_candy_yellow_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_yellow_dispmaskImage extends BitmapAsset {
}
}//package
Section 330
//ResourceManager_candy_yellowImage (ResourceManager_candy_yellowImage)
package {
import mx.core.*;
public class ResourceManager_candy_yellowImage extends BitmapAsset {
}
}//package
Section 331
//ResourceManager_candy_yellowmaskImage (ResourceManager_candy_yellowmaskImage)
package {
import mx.core.*;
public class ResourceManager_candy_yellowmaskImage extends BitmapAsset {
}
}//package
Section 332
//ResourceManager_cat1Sound (ResourceManager_cat1Sound)
package {
import mx.core.*;
public class ResourceManager_cat1Sound extends SoundAsset {
}
}//package
Section 333
//ResourceManager_cat2Sound (ResourceManager_cat2Sound)
package {
import mx.core.*;
public class ResourceManager_cat2Sound extends SoundAsset {
}
}//package
Section 334
//ResourceManager_chalk_1Image (ResourceManager_chalk_1Image)
package {
import mx.core.*;
public class ResourceManager_chalk_1Image extends BitmapAsset {
}
}//package
Section 335
//ResourceManager_chalk_1maskImage (ResourceManager_chalk_1maskImage)
package {
import mx.core.*;
public class ResourceManager_chalk_1maskImage extends BitmapAsset {
}
}//package
Section 336
//ResourceManager_chalk_blue_1Image (ResourceManager_chalk_blue_1Image)
package {
import mx.core.*;
public class ResourceManager_chalk_blue_1Image extends BitmapAsset {
}
}//package
Section 337
//ResourceManager_chalk_blue_1maskImage (ResourceManager_chalk_blue_1maskImage)
package {
import mx.core.*;
public class ResourceManager_chalk_blue_1maskImage extends BitmapAsset {
}
}//package
Section 338
//ResourceManager_chalk_blue_dispImage (ResourceManager_chalk_blue_dispImage)
package {
import mx.core.*;
public class ResourceManager_chalk_blue_dispImage extends BitmapAsset {
}
}//package
Section 339
//ResourceManager_chalk_blue_dispmaskImage (ResourceManager_chalk_blue_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_chalk_blue_dispmaskImage extends BitmapAsset {
}
}//package
Section 340
//ResourceManager_chalk_blueImage (ResourceManager_chalk_blueImage)
package {
import mx.core.*;
public class ResourceManager_chalk_blueImage extends BitmapAsset {
}
}//package
Section 341
//ResourceManager_chalk_bluemaskImage (ResourceManager_chalk_bluemaskImage)
package {
import mx.core.*;
public class ResourceManager_chalk_bluemaskImage extends BitmapAsset {
}
}//package
Section 342
//ResourceManager_chalk_dispImage (ResourceManager_chalk_dispImage)
package {
import mx.core.*;
public class ResourceManager_chalk_dispImage extends BitmapAsset {
}
}//package
Section 343
//ResourceManager_chalk_dispmaskImage (ResourceManager_chalk_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_chalk_dispmaskImage extends BitmapAsset {
}
}//package
Section 344
//ResourceManager_chalk_yellow_1Image (ResourceManager_chalk_yellow_1Image)
package {
import mx.core.*;
public class ResourceManager_chalk_yellow_1Image extends BitmapAsset {
}
}//package
Section 345
//ResourceManager_chalk_yellow_1maskImage (ResourceManager_chalk_yellow_1maskImage)
package {
import mx.core.*;
public class ResourceManager_chalk_yellow_1maskImage extends BitmapAsset {
}
}//package
Section 346
//ResourceManager_chalk_yellow_dispImage (ResourceManager_chalk_yellow_dispImage)
package {
import mx.core.*;
public class ResourceManager_chalk_yellow_dispImage extends BitmapAsset {
}
}//package
Section 347
//ResourceManager_chalk_yellow_dispmaskImage (ResourceManager_chalk_yellow_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_chalk_yellow_dispmaskImage extends BitmapAsset {
}
}//package
Section 348
//ResourceManager_chalk_yellowImage (ResourceManager_chalk_yellowImage)
package {
import mx.core.*;
public class ResourceManager_chalk_yellowImage extends BitmapAsset {
}
}//package
Section 349
//ResourceManager_chalk_yellowmaskImage (ResourceManager_chalk_yellowmaskImage)
package {
import mx.core.*;
public class ResourceManager_chalk_yellowmaskImage extends BitmapAsset {
}
}//package
Section 350
//ResourceManager_chalk1Sound (ResourceManager_chalk1Sound)
package {
import mx.core.*;
public class ResourceManager_chalk1Sound extends SoundAsset {
}
}//package
Section 351
//ResourceManager_chalk2Sound (ResourceManager_chalk2Sound)
package {
import mx.core.*;
public class ResourceManager_chalk2Sound extends SoundAsset {
}
}//package
Section 352
//ResourceManager_chalkImage (ResourceManager_chalkImage)
package {
import mx.core.*;
public class ResourceManager_chalkImage extends BitmapAsset {
}
}//package
Section 353
//ResourceManager_chalkmaskImage (ResourceManager_chalkmaskImage)
package {
import mx.core.*;
public class ResourceManager_chalkmaskImage extends BitmapAsset {
}
}//package
Section 354
//ResourceManager_clockSound (ResourceManager_clockSound)
package {
import mx.core.*;
public class ResourceManager_clockSound extends SoundAsset {
}
}//package
Section 355
//ResourceManager_crunch1Sound (ResourceManager_crunch1Sound)
package {
import mx.core.*;
public class ResourceManager_crunch1Sound extends SoundAsset {
}
}//package
Section 356
//ResourceManager_crunch2Sound (ResourceManager_crunch2Sound)
package {
import mx.core.*;
public class ResourceManager_crunch2Sound extends SoundAsset {
}
}//package
Section 357
//ResourceManager_crunch3Sound (ResourceManager_crunch3Sound)
package {
import mx.core.*;
public class ResourceManager_crunch3Sound extends SoundAsset {
}
}//package
Section 358
//ResourceManager_darkspotImage (ResourceManager_darkspotImage)
package {
import mx.core.*;
public class ResourceManager_darkspotImage extends BitmapAsset {
}
}//package
Section 359
//ResourceManager_darkspotmaskImage (ResourceManager_darkspotmaskImage)
package {
import mx.core.*;
public class ResourceManager_darkspotmaskImage extends BitmapAsset {
}
}//package
Section 360
//ResourceManager_dinobigcarn3Sound (ResourceManager_dinobigcarn3Sound)
package {
import mx.core.*;
public class ResourceManager_dinobigcarn3Sound extends SoundAsset {
}
}//package
Section 361
//ResourceManager_dinobigcarn4Sound (ResourceManager_dinobigcarn4Sound)
package {
import mx.core.*;
public class ResourceManager_dinobigcarn4Sound extends SoundAsset {
}
}//package
Section 362
//ResourceManager_dinobigcarn6Sound (ResourceManager_dinobigcarn6Sound)
package {
import mx.core.*;
public class ResourceManager_dinobigcarn6Sound extends SoundAsset {
}
}//package
Section 363
//ResourceManager_dinobigherb2Sound (ResourceManager_dinobigherb2Sound)
package {
import mx.core.*;
public class ResourceManager_dinobigherb2Sound extends SoundAsset {
}
}//package
Section 364
//ResourceManager_dinobigherb7Sound (ResourceManager_dinobigherb7Sound)
package {
import mx.core.*;
public class ResourceManager_dinobigherb7Sound extends SoundAsset {
}
}//package
Section 365
//ResourceManager_dinobigherb8Sound (ResourceManager_dinobigherb8Sound)
package {
import mx.core.*;
public class ResourceManager_dinobigherb8Sound extends SoundAsset {
}
}//package
Section 366
//ResourceManager_dinosmallherb4Sound (ResourceManager_dinosmallherb4Sound)
package {
import mx.core.*;
public class ResourceManager_dinosmallherb4Sound extends SoundAsset {
}
}//package
Section 367
//ResourceManager_dinosmallherb5Sound (ResourceManager_dinosmallherb5Sound)
package {
import mx.core.*;
public class ResourceManager_dinosmallherb5Sound extends SoundAsset {
}
}//package
Section 368
//ResourceManager_dinosmallherb6Sound (ResourceManager_dinosmallherb6Sound)
package {
import mx.core.*;
public class ResourceManager_dinosmallherb6Sound extends SoundAsset {
}
}//package
Section 369
//ResourceManager_dirtsmallImage (ResourceManager_dirtsmallImage)
package {
import mx.core.*;
public class ResourceManager_dirtsmallImage extends BitmapAsset {
}
}//package
Section 370
//ResourceManager_dirtsmallmaskImage (ResourceManager_dirtsmallmaskImage)
package {
import mx.core.*;
public class ResourceManager_dirtsmallmaskImage extends BitmapAsset {
}
}//package
Section 371
//ResourceManager_earth_dispImage (ResourceManager_earth_dispImage)
package {
import mx.core.*;
public class ResourceManager_earth_dispImage extends BitmapAsset {
}
}//package
Section 372
//ResourceManager_earth_dispmaskImage (ResourceManager_earth_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_earth_dispmaskImage extends BitmapAsset {
}
}//package
Section 373
//ResourceManager_earthImage (ResourceManager_earthImage)
package {
import mx.core.*;
public class ResourceManager_earthImage extends BitmapAsset {
}
}//package
Section 374
//ResourceManager_earthmaskImage (ResourceManager_earthmaskImage)
package {
import mx.core.*;
public class ResourceManager_earthmaskImage extends BitmapAsset {
}
}//package
Section 375
//ResourceManager_eatendisplayImage (ResourceManager_eatendisplayImage)
package {
import mx.core.*;
public class ResourceManager_eatendisplayImage extends BitmapAsset {
}
}//package
Section 376
//ResourceManager_egg1_dispImage (ResourceManager_egg1_dispImage)
package {
import mx.core.*;
public class ResourceManager_egg1_dispImage extends BitmapAsset {
}
}//package
Section 377
//ResourceManager_egg1_dispmaskImage (ResourceManager_egg1_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_egg1_dispmaskImage extends BitmapAsset {
}
}//package
Section 378
//ResourceManager_egg1Image (ResourceManager_egg1Image)
package {
import mx.core.*;
public class ResourceManager_egg1Image extends BitmapAsset {
}
}//package
Section 379
//ResourceManager_egg1maskImage (ResourceManager_egg1maskImage)
package {
import mx.core.*;
public class ResourceManager_egg1maskImage extends BitmapAsset {
}
}//package
Section 380
//ResourceManager_electric1Sound (ResourceManager_electric1Sound)
package {
import mx.core.*;
public class ResourceManager_electric1Sound extends SoundAsset {
}
}//package
Section 381
//ResourceManager_electric2Sound (ResourceManager_electric2Sound)
package {
import mx.core.*;
public class ResourceManager_electric2Sound extends SoundAsset {
}
}//package
Section 382
//ResourceManager_euoplocephalus_dispImage (ResourceManager_euoplocephalus_dispImage)
package {
import mx.core.*;
public class ResourceManager_euoplocephalus_dispImage extends BitmapAsset {
}
}//package
Section 383
//ResourceManager_euoplocephalus_dispmaskImage (ResourceManager_euoplocephalus_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_euoplocephalus_dispmaskImage extends BitmapAsset {
}
}//package
Section 384
//ResourceManager_euoplocephalus0Image (ResourceManager_euoplocephalus0Image)
package {
import mx.core.*;
public class ResourceManager_euoplocephalus0Image extends BitmapAsset {
}
}//package
Section 385
//ResourceManager_euoplocephalus0maskImage (ResourceManager_euoplocephalus0maskImage)
package {
import mx.core.*;
public class ResourceManager_euoplocephalus0maskImage extends BitmapAsset {
}
}//package
Section 386
//ResourceManager_euoplocephalus1Image (ResourceManager_euoplocephalus1Image)
package {
import mx.core.*;
public class ResourceManager_euoplocephalus1Image extends BitmapAsset {
}
}//package
Section 387
//ResourceManager_euoplocephalus1maskImage (ResourceManager_euoplocephalus1maskImage)
package {
import mx.core.*;
public class ResourceManager_euoplocephalus1maskImage extends BitmapAsset {
}
}//package
Section 388
//ResourceManager_euoplocephalus2Image (ResourceManager_euoplocephalus2Image)
package {
import mx.core.*;
public class ResourceManager_euoplocephalus2Image extends BitmapAsset {
}
}//package
Section 389
//ResourceManager_euoplocephalus2maskImage (ResourceManager_euoplocephalus2maskImage)
package {
import mx.core.*;
public class ResourceManager_euoplocephalus2maskImage extends BitmapAsset {
}
}//package
Section 390
//ResourceManager_eyeball_10Image (ResourceManager_eyeball_10Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_10Image extends BitmapAsset {
}
}//package
Section 391
//ResourceManager_eyeball_10maskImage (ResourceManager_eyeball_10maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_10maskImage extends BitmapAsset {
}
}//package
Section 392
//ResourceManager_eyeball_11Image (ResourceManager_eyeball_11Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_11Image extends BitmapAsset {
}
}//package
Section 393
//ResourceManager_eyeball_11maskImage (ResourceManager_eyeball_11maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_11maskImage extends BitmapAsset {
}
}//package
Section 394
//ResourceManager_eyeball_12Image (ResourceManager_eyeball_12Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_12Image extends BitmapAsset {
}
}//package
Section 395
//ResourceManager_eyeball_12maskImage (ResourceManager_eyeball_12maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_12maskImage extends BitmapAsset {
}
}//package
Section 396
//ResourceManager_eyeball_13Image (ResourceManager_eyeball_13Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_13Image extends BitmapAsset {
}
}//package
Section 397
//ResourceManager_eyeball_13maskImage (ResourceManager_eyeball_13maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_13maskImage extends BitmapAsset {
}
}//package
Section 398
//ResourceManager_eyeball_14Image (ResourceManager_eyeball_14Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_14Image extends BitmapAsset {
}
}//package
Section 399
//ResourceManager_eyeball_14maskImage (ResourceManager_eyeball_14maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_14maskImage extends BitmapAsset {
}
}//package
Section 400
//ResourceManager_eyeball_15Image (ResourceManager_eyeball_15Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_15Image extends BitmapAsset {
}
}//package
Section 401
//ResourceManager_eyeball_15maskImage (ResourceManager_eyeball_15maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_15maskImage extends BitmapAsset {
}
}//package
Section 402
//ResourceManager_eyeball_16Image (ResourceManager_eyeball_16Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_16Image extends BitmapAsset {
}
}//package
Section 403
//ResourceManager_eyeball_16maskImage (ResourceManager_eyeball_16maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_16maskImage extends BitmapAsset {
}
}//package
Section 404
//ResourceManager_eyeball_17Image (ResourceManager_eyeball_17Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_17Image extends BitmapAsset {
}
}//package
Section 405
//ResourceManager_eyeball_17maskImage (ResourceManager_eyeball_17maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_17maskImage extends BitmapAsset {
}
}//package
Section 406
//ResourceManager_eyeball_18Image (ResourceManager_eyeball_18Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_18Image extends BitmapAsset {
}
}//package
Section 407
//ResourceManager_eyeball_18maskImage (ResourceManager_eyeball_18maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_18maskImage extends BitmapAsset {
}
}//package
Section 408
//ResourceManager_eyeball_19Image (ResourceManager_eyeball_19Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_19Image extends BitmapAsset {
}
}//package
Section 409
//ResourceManager_eyeball_19maskImage (ResourceManager_eyeball_19maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_19maskImage extends BitmapAsset {
}
}//package
Section 410
//ResourceManager_eyeball_20Image (ResourceManager_eyeball_20Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_20Image extends BitmapAsset {
}
}//package
Section 411
//ResourceManager_eyeball_20maskImage (ResourceManager_eyeball_20maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_20maskImage extends BitmapAsset {
}
}//package
Section 412
//ResourceManager_eyeball_21Image (ResourceManager_eyeball_21Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_21Image extends BitmapAsset {
}
}//package
Section 413
//ResourceManager_eyeball_21maskImage (ResourceManager_eyeball_21maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_21maskImage extends BitmapAsset {
}
}//package
Section 414
//ResourceManager_eyeball_22Image (ResourceManager_eyeball_22Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_22Image extends BitmapAsset {
}
}//package
Section 415
//ResourceManager_eyeball_22maskImage (ResourceManager_eyeball_22maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_22maskImage extends BitmapAsset {
}
}//package
Section 416
//ResourceManager_eyeball_23Image (ResourceManager_eyeball_23Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_23Image extends BitmapAsset {
}
}//package
Section 417
//ResourceManager_eyeball_23maskImage (ResourceManager_eyeball_23maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_23maskImage extends BitmapAsset {
}
}//package
Section 418
//ResourceManager_eyeball_24Image (ResourceManager_eyeball_24Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_24Image extends BitmapAsset {
}
}//package
Section 419
//ResourceManager_eyeball_24maskImage (ResourceManager_eyeball_24maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_24maskImage extends BitmapAsset {
}
}//package
Section 420
//ResourceManager_eyeball_25Image (ResourceManager_eyeball_25Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_25Image extends BitmapAsset {
}
}//package
Section 421
//ResourceManager_eyeball_25maskImage (ResourceManager_eyeball_25maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_25maskImage extends BitmapAsset {
}
}//package
Section 422
//ResourceManager_eyeball_26Image (ResourceManager_eyeball_26Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_26Image extends BitmapAsset {
}
}//package
Section 423
//ResourceManager_eyeball_26maskImage (ResourceManager_eyeball_26maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_26maskImage extends BitmapAsset {
}
}//package
Section 424
//ResourceManager_eyeball_28Image (ResourceManager_eyeball_28Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_28Image extends BitmapAsset {
}
}//package
Section 425
//ResourceManager_eyeball_28maskImage (ResourceManager_eyeball_28maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_28maskImage extends BitmapAsset {
}
}//package
Section 426
//ResourceManager_eyeball_30Image (ResourceManager_eyeball_30Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_30Image extends BitmapAsset {
}
}//package
Section 427
//ResourceManager_eyeball_30maskImage (ResourceManager_eyeball_30maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_30maskImage extends BitmapAsset {
}
}//package
Section 428
//ResourceManager_eyeball_32Image (ResourceManager_eyeball_32Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_32Image extends BitmapAsset {
}
}//package
Section 429
//ResourceManager_eyeball_32maskImage (ResourceManager_eyeball_32maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_32maskImage extends BitmapAsset {
}
}//package
Section 430
//ResourceManager_eyeball_34Image (ResourceManager_eyeball_34Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_34Image extends BitmapAsset {
}
}//package
Section 431
//ResourceManager_eyeball_34maskImage (ResourceManager_eyeball_34maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_34maskImage extends BitmapAsset {
}
}//package
Section 432
//ResourceManager_eyeball_36Image (ResourceManager_eyeball_36Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_36Image extends BitmapAsset {
}
}//package
Section 433
//ResourceManager_eyeball_36maskImage (ResourceManager_eyeball_36maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_36maskImage extends BitmapAsset {
}
}//package
Section 434
//ResourceManager_eyeball_38Image (ResourceManager_eyeball_38Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_38Image extends BitmapAsset {
}
}//package
Section 435
//ResourceManager_eyeball_38maskImage (ResourceManager_eyeball_38maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_38maskImage extends BitmapAsset {
}
}//package
Section 436
//ResourceManager_eyeball_40Image (ResourceManager_eyeball_40Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_40Image extends BitmapAsset {
}
}//package
Section 437
//ResourceManager_eyeball_40maskImage (ResourceManager_eyeball_40maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_40maskImage extends BitmapAsset {
}
}//package
Section 438
//ResourceManager_eyeball_42Image (ResourceManager_eyeball_42Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_42Image extends BitmapAsset {
}
}//package
Section 439
//ResourceManager_eyeball_42maskImage (ResourceManager_eyeball_42maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_42maskImage extends BitmapAsset {
}
}//package
Section 440
//ResourceManager_eyeball_44Image (ResourceManager_eyeball_44Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_44Image extends BitmapAsset {
}
}//package
Section 441
//ResourceManager_eyeball_44maskImage (ResourceManager_eyeball_44maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_44maskImage extends BitmapAsset {
}
}//package
Section 442
//ResourceManager_eyeball_46Image (ResourceManager_eyeball_46Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_46Image extends BitmapAsset {
}
}//package
Section 443
//ResourceManager_eyeball_46maskImage (ResourceManager_eyeball_46maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_46maskImage extends BitmapAsset {
}
}//package
Section 444
//ResourceManager_eyeball_48Image (ResourceManager_eyeball_48Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_48Image extends BitmapAsset {
}
}//package
Section 445
//ResourceManager_eyeball_48maskImage (ResourceManager_eyeball_48maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_48maskImage extends BitmapAsset {
}
}//package
Section 446
//ResourceManager_eyeball_50Image (ResourceManager_eyeball_50Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_50Image extends BitmapAsset {
}
}//package
Section 447
//ResourceManager_eyeball_50maskImage (ResourceManager_eyeball_50maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_50maskImage extends BitmapAsset {
}
}//package
Section 448
//ResourceManager_eyeball_52Image (ResourceManager_eyeball_52Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_52Image extends BitmapAsset {
}
}//package
Section 449
//ResourceManager_eyeball_52maskImage (ResourceManager_eyeball_52maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_52maskImage extends BitmapAsset {
}
}//package
Section 450
//ResourceManager_eyeball_54Image (ResourceManager_eyeball_54Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_54Image extends BitmapAsset {
}
}//package
Section 451
//ResourceManager_eyeball_54maskImage (ResourceManager_eyeball_54maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_54maskImage extends BitmapAsset {
}
}//package
Section 452
//ResourceManager_eyeball_56Image (ResourceManager_eyeball_56Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_56Image extends BitmapAsset {
}
}//package
Section 453
//ResourceManager_eyeball_56maskImage (ResourceManager_eyeball_56maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_56maskImage extends BitmapAsset {
}
}//package
Section 454
//ResourceManager_eyeball_58Image (ResourceManager_eyeball_58Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_58Image extends BitmapAsset {
}
}//package
Section 455
//ResourceManager_eyeball_58maskImage (ResourceManager_eyeball_58maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_58maskImage extends BitmapAsset {
}
}//package
Section 456
//ResourceManager_eyeball_60Image (ResourceManager_eyeball_60Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_60Image extends BitmapAsset {
}
}//package
Section 457
//ResourceManager_eyeball_60maskImage (ResourceManager_eyeball_60maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_60maskImage extends BitmapAsset {
}
}//package
Section 458
//ResourceManager_eyeball_62Image (ResourceManager_eyeball_62Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_62Image extends BitmapAsset {
}
}//package
Section 459
//ResourceManager_eyeball_62maskImage (ResourceManager_eyeball_62maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_62maskImage extends BitmapAsset {
}
}//package
Section 460
//ResourceManager_eyeball_68Image (ResourceManager_eyeball_68Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_68Image extends BitmapAsset {
}
}//package
Section 461
//ResourceManager_eyeball_68maskImage (ResourceManager_eyeball_68maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_68maskImage extends BitmapAsset {
}
}//package
Section 462
//ResourceManager_eyeball_6Image (ResourceManager_eyeball_6Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_6Image extends BitmapAsset {
}
}//package
Section 463
//ResourceManager_eyeball_6maskImage (ResourceManager_eyeball_6maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_6maskImage extends BitmapAsset {
}
}//package
Section 464
//ResourceManager_eyeball_72Image (ResourceManager_eyeball_72Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_72Image extends BitmapAsset {
}
}//package
Section 465
//ResourceManager_eyeball_72maskImage (ResourceManager_eyeball_72maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_72maskImage extends BitmapAsset {
}
}//package
Section 466
//ResourceManager_eyeball_76Image (ResourceManager_eyeball_76Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_76Image extends BitmapAsset {
}
}//package
Section 467
//ResourceManager_eyeball_76maskImage (ResourceManager_eyeball_76maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_76maskImage extends BitmapAsset {
}
}//package
Section 468
//ResourceManager_eyeball_7Image (ResourceManager_eyeball_7Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_7Image extends BitmapAsset {
}
}//package
Section 469
//ResourceManager_eyeball_7maskImage (ResourceManager_eyeball_7maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_7maskImage extends BitmapAsset {
}
}//package
Section 470
//ResourceManager_eyeball_8Image (ResourceManager_eyeball_8Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_8Image extends BitmapAsset {
}
}//package
Section 471
//ResourceManager_eyeball_8maskImage (ResourceManager_eyeball_8maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_8maskImage extends BitmapAsset {
}
}//package
Section 472
//ResourceManager_eyeball_9Image (ResourceManager_eyeball_9Image)
package {
import mx.core.*;
public class ResourceManager_eyeball_9Image extends BitmapAsset {
}
}//package
Section 473
//ResourceManager_eyeball_9maskImage (ResourceManager_eyeball_9maskImage)
package {
import mx.core.*;
public class ResourceManager_eyeball_9maskImage extends BitmapAsset {
}
}//package
Section 474
//ResourceManager_eyeballImage (ResourceManager_eyeballImage)
package {
import mx.core.*;
public class ResourceManager_eyeballImage extends BitmapAsset {
}
}//package
Section 475
//ResourceManager_eyeballmaskImage (ResourceManager_eyeballmaskImage)
package {
import mx.core.*;
public class ResourceManager_eyeballmaskImage extends BitmapAsset {
}
}//package
Section 476
//ResourceManager_eyedropper_1Image (ResourceManager_eyedropper_1Image)
package {
import mx.core.*;
public class ResourceManager_eyedropper_1Image extends BitmapAsset {
}
}//package
Section 477
//ResourceManager_eyedropper_1maskImage (ResourceManager_eyedropper_1maskImage)
package {
import mx.core.*;
public class ResourceManager_eyedropper_1maskImage extends BitmapAsset {
}
}//package
Section 478
//ResourceManager_eyedropper_dispImage (ResourceManager_eyedropper_dispImage)
package {
import mx.core.*;
public class ResourceManager_eyedropper_dispImage extends BitmapAsset {
}
}//package
Section 479
//ResourceManager_eyedropper_dispmaskImage (ResourceManager_eyedropper_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_eyedropper_dispmaskImage extends BitmapAsset {
}
}//package
Section 480
//ResourceManager_eyedropperImage (ResourceManager_eyedropperImage)
package {
import mx.core.*;
public class ResourceManager_eyedropperImage extends BitmapAsset {
}
}//package
Section 481
//ResourceManager_eyedroppermaskImage (ResourceManager_eyedroppermaskImage)
package {
import mx.core.*;
public class ResourceManager_eyedroppermaskImage extends BitmapAsset {
}
}//package
Section 482
//ResourceManager_eyelid0_16Image (ResourceManager_eyelid0_16Image)
package {
import mx.core.*;
public class ResourceManager_eyelid0_16Image extends BitmapAsset {
}
}//package
Section 483
//ResourceManager_eyelid0_16maskImage (ResourceManager_eyelid0_16maskImage)
package {
import mx.core.*;
public class ResourceManager_eyelid0_16maskImage extends BitmapAsset {
}
}//package
Section 484
//ResourceManager_eyelid0_32Image (ResourceManager_eyelid0_32Image)
package {
import mx.core.*;
public class ResourceManager_eyelid0_32Image extends BitmapAsset {
}
}//package
Section 485
//ResourceManager_eyelid0_32maskImage (ResourceManager_eyelid0_32maskImage)
package {
import mx.core.*;
public class ResourceManager_eyelid0_32maskImage extends BitmapAsset {
}
}//package
Section 486
//ResourceManager_eyelid0Image (ResourceManager_eyelid0Image)
package {
import mx.core.*;
public class ResourceManager_eyelid0Image extends BitmapAsset {
}
}//package
Section 487
//ResourceManager_eyelid0maskImage (ResourceManager_eyelid0maskImage)
package {
import mx.core.*;
public class ResourceManager_eyelid0maskImage extends BitmapAsset {
}
}//package
Section 488
//ResourceManager_eyelid1_16Image (ResourceManager_eyelid1_16Image)
package {
import mx.core.*;
public class ResourceManager_eyelid1_16Image extends BitmapAsset {
}
}//package
Section 489
//ResourceManager_eyelid1_16maskImage (ResourceManager_eyelid1_16maskImage)
package {
import mx.core.*;
public class ResourceManager_eyelid1_16maskImage extends BitmapAsset {
}
}//package
Section 490
//ResourceManager_eyelid1_32Image (ResourceManager_eyelid1_32Image)
package {
import mx.core.*;
public class ResourceManager_eyelid1_32Image extends BitmapAsset {
}
}//package
Section 491
//ResourceManager_eyelid1_32maskImage (ResourceManager_eyelid1_32maskImage)
package {
import mx.core.*;
public class ResourceManager_eyelid1_32maskImage extends BitmapAsset {
}
}//package
Section 492
//ResourceManager_eyelid1Image (ResourceManager_eyelid1Image)
package {
import mx.core.*;
public class ResourceManager_eyelid1Image extends BitmapAsset {
}
}//package
Section 493
//ResourceManager_eyelid1maskImage (ResourceManager_eyelid1maskImage)
package {
import mx.core.*;
public class ResourceManager_eyelid1maskImage extends BitmapAsset {
}
}//package
Section 494
//ResourceManager_eyelid2_16Image (ResourceManager_eyelid2_16Image)
package {
import mx.core.*;
public class ResourceManager_eyelid2_16Image extends BitmapAsset {
}
}//package
Section 495
//ResourceManager_eyelid2_16maskImage (ResourceManager_eyelid2_16maskImage)
package {
import mx.core.*;
public class ResourceManager_eyelid2_16maskImage extends BitmapAsset {
}
}//package
Section 496
//ResourceManager_eyelid2_32Image (ResourceManager_eyelid2_32Image)
package {
import mx.core.*;
public class ResourceManager_eyelid2_32Image extends BitmapAsset {
}
}//package
Section 497
//ResourceManager_eyelid2_32maskImage (ResourceManager_eyelid2_32maskImage)
package {
import mx.core.*;
public class ResourceManager_eyelid2_32maskImage extends BitmapAsset {
}
}//package
Section 498
//ResourceManager_eyelid2Image (ResourceManager_eyelid2Image)
package {
import mx.core.*;
public class ResourceManager_eyelid2Image extends BitmapAsset {
}
}//package
Section 499
//ResourceManager_eyelid2maskImage (ResourceManager_eyelid2maskImage)
package {
import mx.core.*;
public class ResourceManager_eyelid2maskImage extends BitmapAsset {
}
}//package
Section 500
//ResourceManager_eyelid3_16Image (ResourceManager_eyelid3_16Image)
package {
import mx.core.*;
public class ResourceManager_eyelid3_16Image extends BitmapAsset {
}
}//package
Section 501
//ResourceManager_eyelid3_16maskImage (ResourceManager_eyelid3_16maskImage)
package {
import mx.core.*;
public class ResourceManager_eyelid3_16maskImage extends BitmapAsset {
}
}//package
Section 502
//ResourceManager_eyelid3_32Image (ResourceManager_eyelid3_32Image)
package {
import mx.core.*;
public class ResourceManager_eyelid3_32Image extends BitmapAsset {
}
}//package
Section 503
//ResourceManager_eyelid3_32maskImage (ResourceManager_eyelid3_32maskImage)
package {
import mx.core.*;
public class ResourceManager_eyelid3_32maskImage extends BitmapAsset {
}
}//package
Section 504
//ResourceManager_eyelid3Image (ResourceManager_eyelid3Image)
package {
import mx.core.*;
public class ResourceManager_eyelid3Image extends BitmapAsset {
}
}//package
Section 505
//ResourceManager_eyelid3maskImage (ResourceManager_eyelid3maskImage)
package {
import mx.core.*;
public class ResourceManager_eyelid3maskImage extends BitmapAsset {
}
}//package
Section 506
//ResourceManager_feather1_1Image (ResourceManager_feather1_1Image)
package {
import mx.core.*;
public class ResourceManager_feather1_1Image extends BitmapAsset {
}
}//package
Section 507
//ResourceManager_feather1_1maskImage (ResourceManager_feather1_1maskImage)
package {
import mx.core.*;
public class ResourceManager_feather1_1maskImage extends BitmapAsset {
}
}//package
Section 508
//ResourceManager_feather1_dispImage (ResourceManager_feather1_dispImage)
package {
import mx.core.*;
public class ResourceManager_feather1_dispImage extends BitmapAsset {
}
}//package
Section 509
//ResourceManager_feather1_dispmaskImage (ResourceManager_feather1_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_feather1_dispmaskImage extends BitmapAsset {
}
}//package
Section 510
//ResourceManager_feather1Image (ResourceManager_feather1Image)
package {
import mx.core.*;
public class ResourceManager_feather1Image extends BitmapAsset {
}
}//package
Section 511
//ResourceManager_feather1maskImage (ResourceManager_feather1maskImage)
package {
import mx.core.*;
public class ResourceManager_feather1maskImage extends BitmapAsset {
}
}//package
Section 512
//ResourceManager_fern1_dispImage (ResourceManager_fern1_dispImage)
package {
import mx.core.*;
public class ResourceManager_fern1_dispImage extends BitmapAsset {
}
}//package
Section 513
//ResourceManager_fern1_dispmaskImage (ResourceManager_fern1_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_fern1_dispmaskImage extends BitmapAsset {
}
}//package
Section 514
//ResourceManager_fern1Image (ResourceManager_fern1Image)
package {
import mx.core.*;
public class ResourceManager_fern1Image extends BitmapAsset {
}
}//package
Section 515
//ResourceManager_fern1maskImage (ResourceManager_fern1maskImage)
package {
import mx.core.*;
public class ResourceManager_fern1maskImage extends BitmapAsset {
}
}//package
Section 516
//ResourceManager_flask_1Image (ResourceManager_flask_1Image)
package {
import mx.core.*;
public class ResourceManager_flask_1Image extends BitmapAsset {
}
}//package
Section 517
//ResourceManager_flask_1maskImage (ResourceManager_flask_1maskImage)
package {
import mx.core.*;
public class ResourceManager_flask_1maskImage extends BitmapAsset {
}
}//package
Section 518
//ResourceManager_flask_2Image (ResourceManager_flask_2Image)
package {
import mx.core.*;
public class ResourceManager_flask_2Image extends BitmapAsset {
}
}//package
Section 519
//ResourceManager_flask_2maskImage (ResourceManager_flask_2maskImage)
package {
import mx.core.*;
public class ResourceManager_flask_2maskImage extends BitmapAsset {
}
}//package
Section 520
//ResourceManager_flask_dispImage (ResourceManager_flask_dispImage)
package {
import mx.core.*;
public class ResourceManager_flask_dispImage extends BitmapAsset {
}
}//package
Section 521
//ResourceManager_flask_dispmaskImage (ResourceManager_flask_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_flask_dispmaskImage extends BitmapAsset {
}
}//package
Section 522
//ResourceManager_flaskImage (ResourceManager_flaskImage)
package {
import mx.core.*;
public class ResourceManager_flaskImage extends BitmapAsset {
}
}//package
Section 523
//ResourceManager_flaskmaskImage (ResourceManager_flaskmaskImage)
package {
import mx.core.*;
public class ResourceManager_flaskmaskImage extends BitmapAsset {
}
}//package
Section 524
//ResourceManager_frog_dispImage (ResourceManager_frog_dispImage)
package {
import mx.core.*;
public class ResourceManager_frog_dispImage extends BitmapAsset {
}
}//package
Section 525
//ResourceManager_frog_dispmaskImage (ResourceManager_frog_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_frog_dispmaskImage extends BitmapAsset {
}
}//package
Section 526
//ResourceManager_frog0Image (ResourceManager_frog0Image)
package {
import mx.core.*;
public class ResourceManager_frog0Image extends BitmapAsset {
}
}//package
Section 527
//ResourceManager_frog0maskImage (ResourceManager_frog0maskImage)
package {
import mx.core.*;
public class ResourceManager_frog0maskImage extends BitmapAsset {
}
}//package
Section 528
//ResourceManager_frog1Image (ResourceManager_frog1Image)
package {
import mx.core.*;
public class ResourceManager_frog1Image extends BitmapAsset {
}
}//package
Section 529
//ResourceManager_frog1maskImage (ResourceManager_frog1maskImage)
package {
import mx.core.*;
public class ResourceManager_frog1maskImage extends BitmapAsset {
}
}//package
Section 530
//ResourceManager_frog1Sound (ResourceManager_frog1Sound)
package {
import mx.core.*;
public class ResourceManager_frog1Sound extends SoundAsset {
}
}//package
Section 531
//ResourceManager_frog2Image (ResourceManager_frog2Image)
package {
import mx.core.*;
public class ResourceManager_frog2Image extends BitmapAsset {
}
}//package
Section 532
//ResourceManager_frog2maskImage (ResourceManager_frog2maskImage)
package {
import mx.core.*;
public class ResourceManager_frog2maskImage extends BitmapAsset {
}
}//package
Section 533
//ResourceManager_frog2Sound (ResourceManager_frog2Sound)
package {
import mx.core.*;
public class ResourceManager_frog2Sound extends SoundAsset {
}
}//package
Section 534
//ResourceManager_frog3Image (ResourceManager_frog3Image)
package {
import mx.core.*;
public class ResourceManager_frog3Image extends BitmapAsset {
}
}//package
Section 535
//ResourceManager_frog3maskImage (ResourceManager_frog3maskImage)
package {
import mx.core.*;
public class ResourceManager_frog3maskImage extends BitmapAsset {
}
}//package
Section 536
//ResourceManager_glass2Sound (ResourceManager_glass2Sound)
package {
import mx.core.*;
public class ResourceManager_glass2Sound extends SoundAsset {
}
}//package
Section 537
//ResourceManager_glass3Sound (ResourceManager_glass3Sound)
package {
import mx.core.*;
public class ResourceManager_glass3Sound extends SoundAsset {
}
}//package
Section 538
//ResourceManager_glass4Sound (ResourceManager_glass4Sound)
package {
import mx.core.*;
public class ResourceManager_glass4Sound extends SoundAsset {
}
}//package
Section 539
//ResourceManager_glass5Sound (ResourceManager_glass5Sound)
package {
import mx.core.*;
public class ResourceManager_glass5Sound extends SoundAsset {
}
}//package
Section 540
//ResourceManager_goo0_128Image (ResourceManager_goo0_128Image)
package {
import mx.core.*;
public class ResourceManager_goo0_128Image extends BitmapAsset {
}
}//package
Section 541
//ResourceManager_goo0_128maskImage (ResourceManager_goo0_128maskImage)
package {
import mx.core.*;
public class ResourceManager_goo0_128maskImage extends BitmapAsset {
}
}//package
Section 542
//ResourceManager_goo0_64Image (ResourceManager_goo0_64Image)
package {
import mx.core.*;
public class ResourceManager_goo0_64Image extends BitmapAsset {
}
}//package
Section 543
//ResourceManager_goo0_64maskImage (ResourceManager_goo0_64maskImage)
package {
import mx.core.*;
public class ResourceManager_goo0_64maskImage extends BitmapAsset {
}
}//package
Section 544
//ResourceManager_goo0Image (ResourceManager_goo0Image)
package {
import mx.core.*;
public class ResourceManager_goo0Image extends BitmapAsset {
}
}//package
Section 545
//ResourceManager_goo0maskImage (ResourceManager_goo0maskImage)
package {
import mx.core.*;
public class ResourceManager_goo0maskImage extends BitmapAsset {
}
}//package
Section 546
//ResourceManager_goo1_128Image (ResourceManager_goo1_128Image)
package {
import mx.core.*;
public class ResourceManager_goo1_128Image extends BitmapAsset {
}
}//package
Section 547
//ResourceManager_goo1_128maskImage (ResourceManager_goo1_128maskImage)
package {
import mx.core.*;
public class ResourceManager_goo1_128maskImage extends BitmapAsset {
}
}//package
Section 548
//ResourceManager_goo1_64Image (ResourceManager_goo1_64Image)
package {
import mx.core.*;
public class ResourceManager_goo1_64Image extends BitmapAsset {
}
}//package
Section 549
//ResourceManager_goo1_64maskImage (ResourceManager_goo1_64maskImage)
package {
import mx.core.*;
public class ResourceManager_goo1_64maskImage extends BitmapAsset {
}
}//package
Section 550
//ResourceManager_goo1Image (ResourceManager_goo1Image)
package {
import mx.core.*;
public class ResourceManager_goo1Image extends BitmapAsset {
}
}//package
Section 551
//ResourceManager_goo1maskImage (ResourceManager_goo1maskImage)
package {
import mx.core.*;
public class ResourceManager_goo1maskImage extends BitmapAsset {
}
}//package
Section 552
//ResourceManager_goo2_128Image (ResourceManager_goo2_128Image)
package {
import mx.core.*;
public class ResourceManager_goo2_128Image extends BitmapAsset {
}
}//package
Section 553
//ResourceManager_goo2_128maskImage (ResourceManager_goo2_128maskImage)
package {
import mx.core.*;
public class ResourceManager_goo2_128maskImage extends BitmapAsset {
}
}//package
Section 554
//ResourceManager_goo2_64Image (ResourceManager_goo2_64Image)
package {
import mx.core.*;
public class ResourceManager_goo2_64Image extends BitmapAsset {
}
}//package
Section 555
//ResourceManager_goo2_64maskImage (ResourceManager_goo2_64maskImage)
package {
import mx.core.*;
public class ResourceManager_goo2_64maskImage extends BitmapAsset {
}
}//package
Section 556
//ResourceManager_goo2Image (ResourceManager_goo2Image)
package {
import mx.core.*;
public class ResourceManager_goo2Image extends BitmapAsset {
}
}//package
Section 557
//ResourceManager_goo2maskImage (ResourceManager_goo2maskImage)
package {
import mx.core.*;
public class ResourceManager_goo2maskImage extends BitmapAsset {
}
}//package
Section 558
//ResourceManager_goo3_128Image (ResourceManager_goo3_128Image)
package {
import mx.core.*;
public class ResourceManager_goo3_128Image extends BitmapAsset {
}
}//package
Section 559
//ResourceManager_goo3_128maskImage (ResourceManager_goo3_128maskImage)
package {
import mx.core.*;
public class ResourceManager_goo3_128maskImage extends BitmapAsset {
}
}//package
Section 560
//ResourceManager_goo3_64Image (ResourceManager_goo3_64Image)
package {
import mx.core.*;
public class ResourceManager_goo3_64Image extends BitmapAsset {
}
}//package
Section 561
//ResourceManager_goo3_64maskImage (ResourceManager_goo3_64maskImage)
package {
import mx.core.*;
public class ResourceManager_goo3_64maskImage extends BitmapAsset {
}
}//package
Section 562
//ResourceManager_goo3Image (ResourceManager_goo3Image)
package {
import mx.core.*;
public class ResourceManager_goo3Image extends BitmapAsset {
}
}//package
Section 563
//ResourceManager_goo3maskImage (ResourceManager_goo3maskImage)
package {
import mx.core.*;
public class ResourceManager_goo3maskImage extends BitmapAsset {
}
}//package
Section 564
//ResourceManager_goo4_128Image (ResourceManager_goo4_128Image)
package {
import mx.core.*;
public class ResourceManager_goo4_128Image extends BitmapAsset {
}
}//package
Section 565
//ResourceManager_goo4_128maskImage (ResourceManager_goo4_128maskImage)
package {
import mx.core.*;
public class ResourceManager_goo4_128maskImage extends BitmapAsset {
}
}//package
Section 566
//ResourceManager_goo4_64Image (ResourceManager_goo4_64Image)
package {
import mx.core.*;
public class ResourceManager_goo4_64Image extends BitmapAsset {
}
}//package
Section 567
//ResourceManager_goo4_64maskImage (ResourceManager_goo4_64maskImage)
package {
import mx.core.*;
public class ResourceManager_goo4_64maskImage extends BitmapAsset {
}
}//package
Section 568
//ResourceManager_goo4Image (ResourceManager_goo4Image)
package {
import mx.core.*;
public class ResourceManager_goo4Image extends BitmapAsset {
}
}//package
Section 569
//ResourceManager_goo4maskImage (ResourceManager_goo4maskImage)
package {
import mx.core.*;
public class ResourceManager_goo4maskImage extends BitmapAsset {
}
}//package
Section 570
//ResourceManager_goo5_128Image (ResourceManager_goo5_128Image)
package {
import mx.core.*;
public class ResourceManager_goo5_128Image extends BitmapAsset {
}
}//package
Section 571
//ResourceManager_goo5_128maskImage (ResourceManager_goo5_128maskImage)
package {
import mx.core.*;
public class ResourceManager_goo5_128maskImage extends BitmapAsset {
}
}//package
Section 572
//ResourceManager_goo5_64Image (ResourceManager_goo5_64Image)
package {
import mx.core.*;
public class ResourceManager_goo5_64Image extends BitmapAsset {
}
}//package
Section 573
//ResourceManager_goo5_64maskImage (ResourceManager_goo5_64maskImage)
package {
import mx.core.*;
public class ResourceManager_goo5_64maskImage extends BitmapAsset {
}
}//package
Section 574
//ResourceManager_goo5Image (ResourceManager_goo5Image)
package {
import mx.core.*;
public class ResourceManager_goo5Image extends BitmapAsset {
}
}//package
Section 575
//ResourceManager_goo5maskImage (ResourceManager_goo5maskImage)
package {
import mx.core.*;
public class ResourceManager_goo5maskImage extends BitmapAsset {
}
}//package
Section 576
//ResourceManager_goo6_128Image (ResourceManager_goo6_128Image)
package {
import mx.core.*;
public class ResourceManager_goo6_128Image extends BitmapAsset {
}
}//package
Section 577
//ResourceManager_goo6_128maskImage (ResourceManager_goo6_128maskImage)
package {
import mx.core.*;
public class ResourceManager_goo6_128maskImage extends BitmapAsset {
}
}//package
Section 578
//ResourceManager_goo6_64Image (ResourceManager_goo6_64Image)
package {
import mx.core.*;
public class ResourceManager_goo6_64Image extends BitmapAsset {
}
}//package
Section 579
//ResourceManager_goo6_64maskImage (ResourceManager_goo6_64maskImage)
package {
import mx.core.*;
public class ResourceManager_goo6_64maskImage extends BitmapAsset {
}
}//package
Section 580
//ResourceManager_goo6Image (ResourceManager_goo6Image)
package {
import mx.core.*;
public class ResourceManager_goo6Image extends BitmapAsset {
}
}//package
Section 581
//ResourceManager_goo6maskImage (ResourceManager_goo6maskImage)
package {
import mx.core.*;
public class ResourceManager_goo6maskImage extends BitmapAsset {
}
}//package
Section 582
//ResourceManager_goo7_128Image (ResourceManager_goo7_128Image)
package {
import mx.core.*;
public class ResourceManager_goo7_128Image extends BitmapAsset {
}
}//package
Section 583
//ResourceManager_goo7_128maskImage (ResourceManager_goo7_128maskImage)
package {
import mx.core.*;
public class ResourceManager_goo7_128maskImage extends BitmapAsset {
}
}//package
Section 584
//ResourceManager_goo7_64Image (ResourceManager_goo7_64Image)
package {
import mx.core.*;
public class ResourceManager_goo7_64Image extends BitmapAsset {
}
}//package
Section 585
//ResourceManager_goo7_64maskImage (ResourceManager_goo7_64maskImage)
package {
import mx.core.*;
public class ResourceManager_goo7_64maskImage extends BitmapAsset {
}
}//package
Section 586
//ResourceManager_goo7Image (ResourceManager_goo7Image)
package {
import mx.core.*;
public class ResourceManager_goo7Image extends BitmapAsset {
}
}//package
Section 587
//ResourceManager_goo7maskImage (ResourceManager_goo7maskImage)
package {
import mx.core.*;
public class ResourceManager_goo7maskImage extends BitmapAsset {
}
}//package
Section 588
//ResourceManager_goodieSound (ResourceManager_goodieSound)
package {
import mx.core.*;
public class ResourceManager_goodieSound extends SoundAsset {
}
}//package
Section 589
//ResourceManager_goohurt1Sound (ResourceManager_goohurt1Sound)
package {
import mx.core.*;
public class ResourceManager_goohurt1Sound extends SoundAsset {
}
}//package
Section 590
//ResourceManager_goohurt2Sound (ResourceManager_goohurt2Sound)
package {
import mx.core.*;
public class ResourceManager_goohurt2Sound extends SoundAsset {
}
}//package
Section 591
//ResourceManager_granitebigImage (ResourceManager_granitebigImage)
package {
import mx.core.*;
public class ResourceManager_granitebigImage extends BitmapAsset {
}
}//package
Section 592
//ResourceManager_granitebigmaskImage (ResourceManager_granitebigmaskImage)
package {
import mx.core.*;
public class ResourceManager_granitebigmaskImage extends BitmapAsset {
}
}//package
Section 593
//ResourceManager_granitesmalledgeImage (ResourceManager_granitesmalledgeImage)
package {
import mx.core.*;
public class ResourceManager_granitesmalledgeImage extends BitmapAsset {
}
}//package
Section 594
//ResourceManager_granitesmalledgemaskImage (ResourceManager_granitesmalledgemaskImage)
package {
import mx.core.*;
public class ResourceManager_granitesmalledgemaskImage extends BitmapAsset {
}
}//package
Section 595
//ResourceManager_granitesmallImage (ResourceManager_granitesmallImage)
package {
import mx.core.*;
public class ResourceManager_granitesmallImage extends BitmapAsset {
}
}//package
Section 596
//ResourceManager_granitesmallmaskImage (ResourceManager_granitesmallmaskImage)
package {
import mx.core.*;
public class ResourceManager_granitesmallmaskImage extends BitmapAsset {
}
}//package
Section 597
//ResourceManager_grassbigImage (ResourceManager_grassbigImage)
package {
import mx.core.*;
public class ResourceManager_grassbigImage extends BitmapAsset {
}
}//package
Section 598
//ResourceManager_grassbigmaskImage (ResourceManager_grassbigmaskImage)
package {
import mx.core.*;
public class ResourceManager_grassbigmaskImage extends BitmapAsset {
}
}//package
Section 599
//ResourceManager_grasshopper_dispImage (ResourceManager_grasshopper_dispImage)
package {
import mx.core.*;
public class ResourceManager_grasshopper_dispImage extends BitmapAsset {
}
}//package
Section 600
//ResourceManager_grasshopper_dispmaskImage (ResourceManager_grasshopper_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_grasshopper_dispmaskImage extends BitmapAsset {
}
}//package
Section 601
//ResourceManager_grasshopper0Image (ResourceManager_grasshopper0Image)
package {
import mx.core.*;
public class ResourceManager_grasshopper0Image extends BitmapAsset {
}
}//package
Section 602
//ResourceManager_grasshopper0maskImage (ResourceManager_grasshopper0maskImage)
package {
import mx.core.*;
public class ResourceManager_grasshopper0maskImage extends BitmapAsset {
}
}//package
Section 603
//ResourceManager_grasshopper1Image (ResourceManager_grasshopper1Image)
package {
import mx.core.*;
public class ResourceManager_grasshopper1Image extends BitmapAsset {
}
}//package
Section 604
//ResourceManager_grasshopper1maskImage (ResourceManager_grasshopper1maskImage)
package {
import mx.core.*;
public class ResourceManager_grasshopper1maskImage extends BitmapAsset {
}
}//package
Section 605
//ResourceManager_grasssmallImage (ResourceManager_grasssmallImage)
package {
import mx.core.*;
public class ResourceManager_grasssmallImage extends BitmapAsset {
}
}//package
Section 606
//ResourceManager_grasssmallmaskImage (ResourceManager_grasssmallmaskImage)
package {
import mx.core.*;
public class ResourceManager_grasssmallmaskImage extends BitmapAsset {
}
}//package
Section 607
//ResourceManager_grasstinyImage (ResourceManager_grasstinyImage)
package {
import mx.core.*;
public class ResourceManager_grasstinyImage extends BitmapAsset {
}
}//package
Section 608
//ResourceManager_grasstinymaskImage (ResourceManager_grasstinymaskImage)
package {
import mx.core.*;
public class ResourceManager_grasstinymaskImage extends BitmapAsset {
}
}//package
Section 609
//ResourceManager_helperarrow_1Image (ResourceManager_helperarrow_1Image)
package {
import mx.core.*;
public class ResourceManager_helperarrow_1Image extends BitmapAsset {
}
}//package
Section 610
//ResourceManager_helperarrowback_1Image (ResourceManager_helperarrowback_1Image)
package {
import mx.core.*;
public class ResourceManager_helperarrowback_1Image extends BitmapAsset {
}
}//package
Section 611
//ResourceManager_helperarrowbackImage (ResourceManager_helperarrowbackImage)
package {
import mx.core.*;
public class ResourceManager_helperarrowbackImage extends BitmapAsset {
}
}//package
Section 612
//ResourceManager_helperarrowImage (ResourceManager_helperarrowImage)
package {
import mx.core.*;
public class ResourceManager_helperarrowImage extends BitmapAsset {
}
}//package
Section 613
//ResourceManager_hmmSound (ResourceManager_hmmSound)
package {
import mx.core.*;
public class ResourceManager_hmmSound extends SoundAsset {
}
}//package
Section 614
//ResourceManager_hotplate_1Image (ResourceManager_hotplate_1Image)
package {
import mx.core.*;
public class ResourceManager_hotplate_1Image extends BitmapAsset {
}
}//package
Section 615
//ResourceManager_hotplate_1maskImage (ResourceManager_hotplate_1maskImage)
package {
import mx.core.*;
public class ResourceManager_hotplate_1maskImage extends BitmapAsset {
}
}//package
Section 616
//ResourceManager_hotplate_dispImage (ResourceManager_hotplate_dispImage)
package {
import mx.core.*;
public class ResourceManager_hotplate_dispImage extends BitmapAsset {
}
}//package
Section 617
//ResourceManager_hotplate_dispmaskImage (ResourceManager_hotplate_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_hotplate_dispmaskImage extends BitmapAsset {
}
}//package
Section 618
//ResourceManager_hotplateImage (ResourceManager_hotplateImage)
package {
import mx.core.*;
public class ResourceManager_hotplateImage extends BitmapAsset {
}
}//package
Section 619
//ResourceManager_hotplatemaskImage (ResourceManager_hotplatemaskImage)
package {
import mx.core.*;
public class ResourceManager_hotplatemaskImage extends BitmapAsset {
}
}//package
Section 620
//ResourceManager_labfloorImage (ResourceManager_labfloorImage)
package {
import mx.core.*;
public class ResourceManager_labfloorImage extends BitmapAsset {
}
}//package
Section 621
//ResourceManager_labfloormaskImage (ResourceManager_labfloormaskImage)
package {
import mx.core.*;
public class ResourceManager_labfloormaskImage extends BitmapAsset {
}
}//package
Section 622
//ResourceManager_labtableedgeImage (ResourceManager_labtableedgeImage)
package {
import mx.core.*;
public class ResourceManager_labtableedgeImage extends BitmapAsset {
}
}//package
Section 623
//ResourceManager_labtableedgeleftImage (ResourceManager_labtableedgeleftImage)
package {
import mx.core.*;
public class ResourceManager_labtableedgeleftImage extends BitmapAsset {
}
}//package
Section 624
//ResourceManager_labtableedgeleftmaskImage (ResourceManager_labtableedgeleftmaskImage)
package {
import mx.core.*;
public class ResourceManager_labtableedgeleftmaskImage extends BitmapAsset {
}
}//package
Section 625
//ResourceManager_labtableedgemaskImage (ResourceManager_labtableedgemaskImage)
package {
import mx.core.*;
public class ResourceManager_labtableedgemaskImage extends BitmapAsset {
}
}//package
Section 626
//ResourceManager_labtableedgerightImage (ResourceManager_labtableedgerightImage)
package {
import mx.core.*;
public class ResourceManager_labtableedgerightImage extends BitmapAsset {
}
}//package
Section 627
//ResourceManager_labtableedgerightmaskImage (ResourceManager_labtableedgerightmaskImage)
package {
import mx.core.*;
public class ResourceManager_labtableedgerightmaskImage extends BitmapAsset {
}
}//package
Section 628
//ResourceManager_largeexplosion1Sound (ResourceManager_largeexplosion1Sound)
package {
import mx.core.*;
public class ResourceManager_largeexplosion1Sound extends SoundAsset {
}
}//package
Section 629
//ResourceManager_largeexplosion2Sound (ResourceManager_largeexplosion2Sound)
package {
import mx.core.*;
public class ResourceManager_largeexplosion2Sound extends SoundAsset {
}
}//package
Section 630
//ResourceManager_largeexplosion3Sound (ResourceManager_largeexplosion3Sound)
package {
import mx.core.*;
public class ResourceManager_largeexplosion3Sound extends SoundAsset {
}
}//package
Section 631
//ResourceManager_larva_dispImage (ResourceManager_larva_dispImage)
package {
import mx.core.*;
public class ResourceManager_larva_dispImage extends BitmapAsset {
}
}//package
Section 632
//ResourceManager_larva_dispmaskImage (ResourceManager_larva_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_larva_dispmaskImage extends BitmapAsset {
}
}//package
Section 633
//ResourceManager_larva0Image (ResourceManager_larva0Image)
package {
import mx.core.*;
public class ResourceManager_larva0Image extends BitmapAsset {
}
}//package
Section 634
//ResourceManager_larva0maskImage (ResourceManager_larva0maskImage)
package {
import mx.core.*;
public class ResourceManager_larva0maskImage extends BitmapAsset {
}
}//package
Section 635
//ResourceManager_magnolia1_dispImage (ResourceManager_magnolia1_dispImage)
package {
import mx.core.*;
public class ResourceManager_magnolia1_dispImage extends BitmapAsset {
}
}//package
Section 636
//ResourceManager_magnolia1_dispmaskImage (ResourceManager_magnolia1_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_magnolia1_dispmaskImage extends BitmapAsset {
}
}//package
Section 637
//ResourceManager_magnolia1Image (ResourceManager_magnolia1Image)
package {
import mx.core.*;
public class ResourceManager_magnolia1Image extends BitmapAsset {
}
}//package
Section 638
//ResourceManager_magnolia1maskImage (ResourceManager_magnolia1maskImage)
package {
import mx.core.*;
public class ResourceManager_magnolia1maskImage extends BitmapAsset {
}
}//package
Section 639
//ResourceManager_mapleleaf_dispImage (ResourceManager_mapleleaf_dispImage)
package {
import mx.core.*;
public class ResourceManager_mapleleaf_dispImage extends BitmapAsset {
}
}//package
Section 640
//ResourceManager_mapleleaf_dispmaskImage (ResourceManager_mapleleaf_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_mapleleaf_dispmaskImage extends BitmapAsset {
}
}//package
Section 641
//ResourceManager_mapleleafImage (ResourceManager_mapleleafImage)
package {
import mx.core.*;
public class ResourceManager_mapleleafImage extends BitmapAsset {
}
}//package
Section 642
//ResourceManager_mapleleafmaskImage (ResourceManager_mapleleafmaskImage)
package {
import mx.core.*;
public class ResourceManager_mapleleafmaskImage extends BitmapAsset {
}
}//package
Section 643
//ResourceManager_metal15Sound (ResourceManager_metal15Sound)
package {
import mx.core.*;
public class ResourceManager_metal15Sound extends SoundAsset {
}
}//package
Section 644
//ResourceManager_metal16Sound (ResourceManager_metal16Sound)
package {
import mx.core.*;
public class ResourceManager_metal16Sound extends SoundAsset {
}
}//package
Section 645
//ResourceManager_microscope_1Image (ResourceManager_microscope_1Image)
package {
import mx.core.*;
public class ResourceManager_microscope_1Image extends BitmapAsset {
}
}//package
Section 646
//ResourceManager_microscope_1maskImage (ResourceManager_microscope_1maskImage)
package {
import mx.core.*;
public class ResourceManager_microscope_1maskImage extends BitmapAsset {
}
}//package
Section 647
//ResourceManager_microscope_dispImage (ResourceManager_microscope_dispImage)
package {
import mx.core.*;
public class ResourceManager_microscope_dispImage extends BitmapAsset {
}
}//package
Section 648
//ResourceManager_microscope_dispmaskImage (ResourceManager_microscope_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_microscope_dispmaskImage extends BitmapAsset {
}
}//package
Section 649
//ResourceManager_microscope1Sound (ResourceManager_microscope1Sound)
package {
import mx.core.*;
public class ResourceManager_microscope1Sound extends SoundAsset {
}
}//package
Section 650
//ResourceManager_microscope2Sound (ResourceManager_microscope2Sound)
package {
import mx.core.*;
public class ResourceManager_microscope2Sound extends SoundAsset {
}
}//package
Section 651
//ResourceManager_microscopeImage (ResourceManager_microscopeImage)
package {
import mx.core.*;
public class ResourceManager_microscopeImage extends BitmapAsset {
}
}//package
Section 652
//ResourceManager_microscopemaskImage (ResourceManager_microscopemaskImage)
package {
import mx.core.*;
public class ResourceManager_microscopemaskImage extends BitmapAsset {
}
}//package
Section 653
//ResourceManager_moon_dispImage (ResourceManager_moon_dispImage)
package {
import mx.core.*;
public class ResourceManager_moon_dispImage extends BitmapAsset {
}
}//package
Section 654
//ResourceManager_moon_dispmaskImage (ResourceManager_moon_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_moon_dispmaskImage extends BitmapAsset {
}
}//package
Section 655
//ResourceManager_moonImage (ResourceManager_moonImage)
package {
import mx.core.*;
public class ResourceManager_moonImage extends BitmapAsset {
}
}//package
Section 656
//ResourceManager_moonmaskImage (ResourceManager_moonmaskImage)
package {
import mx.core.*;
public class ResourceManager_moonmaskImage extends BitmapAsset {
}
}//package
Section 657
//ResourceManager_mouse1Sound (ResourceManager_mouse1Sound)
package {
import mx.core.*;
public class ResourceManager_mouse1Sound extends SoundAsset {
}
}//package
Section 658
//ResourceManager_mouse2Sound (ResourceManager_mouse2Sound)
package {
import mx.core.*;
public class ResourceManager_mouse2Sound extends SoundAsset {
}
}//package
Section 659
//ResourceManager_mushroom1_dispImage (ResourceManager_mushroom1_dispImage)
package {
import mx.core.*;
public class ResourceManager_mushroom1_dispImage extends BitmapAsset {
}
}//package
Section 660
//ResourceManager_mushroom1_dispmaskImage (ResourceManager_mushroom1_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_mushroom1_dispmaskImage extends BitmapAsset {
}
}//package
Section 661
//ResourceManager_mushroom1Image (ResourceManager_mushroom1Image)
package {
import mx.core.*;
public class ResourceManager_mushroom1Image extends BitmapAsset {
}
}//package
Section 662
//ResourceManager_mushroom1maskImage (ResourceManager_mushroom1maskImage)
package {
import mx.core.*;
public class ResourceManager_mushroom1maskImage extends BitmapAsset {
}
}//package
Section 663
//ResourceManager_mushroom3_dispImage (ResourceManager_mushroom3_dispImage)
package {
import mx.core.*;
public class ResourceManager_mushroom3_dispImage extends BitmapAsset {
}
}//package
Section 664
//ResourceManager_mushroom3_dispmaskImage (ResourceManager_mushroom3_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_mushroom3_dispmaskImage extends BitmapAsset {
}
}//package
Section 665
//ResourceManager_mushroom3Image (ResourceManager_mushroom3Image)
package {
import mx.core.*;
public class ResourceManager_mushroom3Image extends BitmapAsset {
}
}//package
Section 666
//ResourceManager_mushroom3maskImage (ResourceManager_mushroom3maskImage)
package {
import mx.core.*;
public class ResourceManager_mushroom3maskImage extends BitmapAsset {
}
}//package
Section 667
//ResourceManager_myArial (ResourceManager_myArial)
package {
import mx.core.*;
public class ResourceManager_myArial extends FontAsset {
}
}//package
Section 668
//ResourceManager_oak_dispImage (ResourceManager_oak_dispImage)
package {
import mx.core.*;
public class ResourceManager_oak_dispImage extends BitmapAsset {
}
}//package
Section 669
//ResourceManager_oak_dispmaskImage (ResourceManager_oak_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_oak_dispmaskImage extends BitmapAsset {
}
}//package
Section 670
//ResourceManager_oakImage (ResourceManager_oakImage)
package {
import mx.core.*;
public class ResourceManager_oakImage extends BitmapAsset {
}
}//package
Section 671
//ResourceManager_oakmaskImage (ResourceManager_oakmaskImage)
package {
import mx.core.*;
public class ResourceManager_oakmaskImage extends BitmapAsset {
}
}//package
Section 672
//ResourceManager_oompahSound (ResourceManager_oompahSound)
package {
import mx.core.*;
public class ResourceManager_oompahSound extends SoundAsset {
}
}//package
Section 673
//ResourceManager_oscilloscope_1Image (ResourceManager_oscilloscope_1Image)
package {
import mx.core.*;
public class ResourceManager_oscilloscope_1Image extends BitmapAsset {
}
}//package
Section 674
//ResourceManager_oscilloscope_1maskImage (ResourceManager_oscilloscope_1maskImage)
package {
import mx.core.*;
public class ResourceManager_oscilloscope_1maskImage extends BitmapAsset {
}
}//package
Section 675
//ResourceManager_oscilloscope_dispImage (ResourceManager_oscilloscope_dispImage)
package {
import mx.core.*;
public class ResourceManager_oscilloscope_dispImage extends BitmapAsset {
}
}//package
Section 676
//ResourceManager_oscilloscope_dispmaskImage (ResourceManager_oscilloscope_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_oscilloscope_dispmaskImage extends BitmapAsset {
}
}//package
Section 677
//ResourceManager_oscilloscopeImage (ResourceManager_oscilloscopeImage)
package {
import mx.core.*;
public class ResourceManager_oscilloscopeImage extends BitmapAsset {
}
}//package
Section 678
//ResourceManager_oscilloscopemaskImage (ResourceManager_oscilloscopemaskImage)
package {
import mx.core.*;
public class ResourceManager_oscilloscopemaskImage extends BitmapAsset {
}
}//package
Section 679
//ResourceManager_paper_1Image (ResourceManager_paper_1Image)
package {
import mx.core.*;
public class ResourceManager_paper_1Image extends BitmapAsset {
}
}//package
Section 680
//ResourceManager_paper_1maskImage (ResourceManager_paper_1maskImage)
package {
import mx.core.*;
public class ResourceManager_paper_1maskImage extends BitmapAsset {
}
}//package
Section 681
//ResourceManager_paper_dispImage (ResourceManager_paper_dispImage)
package {
import mx.core.*;
public class ResourceManager_paper_dispImage extends BitmapAsset {
}
}//package
Section 682
//ResourceManager_paper_dispmaskImage (ResourceManager_paper_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_paper_dispmaskImage extends BitmapAsset {
}
}//package
Section 683
//ResourceManager_paper1Sound (ResourceManager_paper1Sound)
package {
import mx.core.*;
public class ResourceManager_paper1Sound extends SoundAsset {
}
}//package
Section 684
//ResourceManager_paper2Sound (ResourceManager_paper2Sound)
package {
import mx.core.*;
public class ResourceManager_paper2Sound extends SoundAsset {
}
}//package
Section 685
//ResourceManager_paperImage (ResourceManager_paperImage)
package {
import mx.core.*;
public class ResourceManager_paperImage extends BitmapAsset {
}
}//package
Section 686
//ResourceManager_papermaskImage (ResourceManager_papermaskImage)
package {
import mx.core.*;
public class ResourceManager_papermaskImage extends BitmapAsset {
}
}//package
Section 687
//ResourceManager_particle0Image (ResourceManager_particle0Image)
package {
import mx.core.*;
public class ResourceManager_particle0Image extends BitmapAsset {
}
}//package
Section 688
//ResourceManager_particle0maskImage (ResourceManager_particle0maskImage)
package {
import mx.core.*;
public class ResourceManager_particle0maskImage extends BitmapAsset {
}
}//package
Section 689
//ResourceManager_particle1_1maskImage (ResourceManager_particle1_1maskImage)
package {
import mx.core.*;
public class ResourceManager_particle1_1maskImage extends BitmapAsset {
}
}//package
Section 690
//ResourceManager_particle1_2maskImage (ResourceManager_particle1_2maskImage)
package {
import mx.core.*;
public class ResourceManager_particle1_2maskImage extends BitmapAsset {
}
}//package
Section 691
//ResourceManager_particle1_3maskImage (ResourceManager_particle1_3maskImage)
package {
import mx.core.*;
public class ResourceManager_particle1_3maskImage extends BitmapAsset {
}
}//package
Section 692
//ResourceManager_particle1_4maskImage (ResourceManager_particle1_4maskImage)
package {
import mx.core.*;
public class ResourceManager_particle1_4maskImage extends BitmapAsset {
}
}//package
Section 693
//ResourceManager_particle1_5maskImage (ResourceManager_particle1_5maskImage)
package {
import mx.core.*;
public class ResourceManager_particle1_5maskImage extends BitmapAsset {
}
}//package
Section 694
//ResourceManager_particle1_6maskImage (ResourceManager_particle1_6maskImage)
package {
import mx.core.*;
public class ResourceManager_particle1_6maskImage extends BitmapAsset {
}
}//package
Section 695
//ResourceManager_particle1_7maskImage (ResourceManager_particle1_7maskImage)
package {
import mx.core.*;
public class ResourceManager_particle1_7maskImage extends BitmapAsset {
}
}//package
Section 696
//ResourceManager_particle1Image (ResourceManager_particle1Image)
package {
import mx.core.*;
public class ResourceManager_particle1Image extends BitmapAsset {
}
}//package
Section 697
//ResourceManager_particle1maskImage (ResourceManager_particle1maskImage)
package {
import mx.core.*;
public class ResourceManager_particle1maskImage extends BitmapAsset {
}
}//package
Section 698
//ResourceManager_particle2maskImage (ResourceManager_particle2maskImage)
package {
import mx.core.*;
public class ResourceManager_particle2maskImage extends BitmapAsset {
}
}//package
Section 699
//ResourceManager_particle3_1maskImage (ResourceManager_particle3_1maskImage)
package {
import mx.core.*;
public class ResourceManager_particle3_1maskImage extends BitmapAsset {
}
}//package
Section 700
//ResourceManager_particle3_2maskImage (ResourceManager_particle3_2maskImage)
package {
import mx.core.*;
public class ResourceManager_particle3_2maskImage extends BitmapAsset {
}
}//package
Section 701
//ResourceManager_particle3_3maskImage (ResourceManager_particle3_3maskImage)
package {
import mx.core.*;
public class ResourceManager_particle3_3maskImage extends BitmapAsset {
}
}//package
Section 702
//ResourceManager_particle3_4maskImage (ResourceManager_particle3_4maskImage)
package {
import mx.core.*;
public class ResourceManager_particle3_4maskImage extends BitmapAsset {
}
}//package
Section 703
//ResourceManager_particle3_5maskImage (ResourceManager_particle3_5maskImage)
package {
import mx.core.*;
public class ResourceManager_particle3_5maskImage extends BitmapAsset {
}
}//package
Section 704
//ResourceManager_particle3maskImage (ResourceManager_particle3maskImage)
package {
import mx.core.*;
public class ResourceManager_particle3maskImage extends BitmapAsset {
}
}//package
Section 705
//ResourceManager_particle4maskImage (ResourceManager_particle4maskImage)
package {
import mx.core.*;
public class ResourceManager_particle4maskImage extends BitmapAsset {
}
}//package
Section 706
//ResourceManager_particle5_1maskImage (ResourceManager_particle5_1maskImage)
package {
import mx.core.*;
public class ResourceManager_particle5_1maskImage extends BitmapAsset {
}
}//package
Section 707
//ResourceManager_particle5_2maskImage (ResourceManager_particle5_2maskImage)
package {
import mx.core.*;
public class ResourceManager_particle5_2maskImage extends BitmapAsset {
}
}//package
Section 708
//ResourceManager_particle5_3maskImage (ResourceManager_particle5_3maskImage)
package {
import mx.core.*;
public class ResourceManager_particle5_3maskImage extends BitmapAsset {
}
}//package
Section 709
//ResourceManager_particle5_4maskImage (ResourceManager_particle5_4maskImage)
package {
import mx.core.*;
public class ResourceManager_particle5_4maskImage extends BitmapAsset {
}
}//package
Section 710
//ResourceManager_particle5_5maskImage (ResourceManager_particle5_5maskImage)
package {
import mx.core.*;
public class ResourceManager_particle5_5maskImage extends BitmapAsset {
}
}//package
Section 711
//ResourceManager_particle5maskImage (ResourceManager_particle5maskImage)
package {
import mx.core.*;
public class ResourceManager_particle5maskImage extends BitmapAsset {
}
}//package
Section 712
//ResourceManager_particle6maskImage (ResourceManager_particle6maskImage)
package {
import mx.core.*;
public class ResourceManager_particle6maskImage extends BitmapAsset {
}
}//package
Section 713
//ResourceManager_petridish_dispImage (ResourceManager_petridish_dispImage)
package {
import mx.core.*;
public class ResourceManager_petridish_dispImage extends BitmapAsset {
}
}//package
Section 714
//ResourceManager_petridish_dispmaskImage (ResourceManager_petridish_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_petridish_dispmaskImage extends BitmapAsset {
}
}//package
Section 715
//ResourceManager_petridish0Image (ResourceManager_petridish0Image)
package {
import mx.core.*;
public class ResourceManager_petridish0Image extends BitmapAsset {
}
}//package
Section 716
//ResourceManager_petridish0maskImage (ResourceManager_petridish0maskImage)
package {
import mx.core.*;
public class ResourceManager_petridish0maskImage extends BitmapAsset {
}
}//package
Section 717
//ResourceManager_petridish1Image (ResourceManager_petridish1Image)
package {
import mx.core.*;
public class ResourceManager_petridish1Image extends BitmapAsset {
}
}//package
Section 718
//ResourceManager_petridish1maskImage (ResourceManager_petridish1maskImage)
package {
import mx.core.*;
public class ResourceManager_petridish1maskImage extends BitmapAsset {
}
}//package
Section 719
//ResourceManager_petridish2Image (ResourceManager_petridish2Image)
package {
import mx.core.*;
public class ResourceManager_petridish2Image extends BitmapAsset {
}
}//package
Section 720
//ResourceManager_petridish2maskImage (ResourceManager_petridish2maskImage)
package {
import mx.core.*;
public class ResourceManager_petridish2maskImage extends BitmapAsset {
}
}//package
Section 721
//ResourceManager_progressbackImage (ResourceManager_progressbackImage)
package {
import mx.core.*;
public class ResourceManager_progressbackImage extends BitmapAsset {
}
}//package
Section 722
//ResourceManager_progressbarImage (ResourceManager_progressbarImage)
package {
import mx.core.*;
public class ResourceManager_progressbarImage extends BitmapAsset {
}
}//package
Section 723
//ResourceManager_puff1Sound (ResourceManager_puff1Sound)
package {
import mx.core.*;
public class ResourceManager_puff1Sound extends SoundAsset {
}
}//package
Section 724
//ResourceManager_puff2Sound (ResourceManager_puff2Sound)
package {
import mx.core.*;
public class ResourceManager_puff2Sound extends SoundAsset {
}
}//package
Section 725
//ResourceManager_pupil_10Image (ResourceManager_pupil_10Image)
package {
import mx.core.*;
public class ResourceManager_pupil_10Image extends BitmapAsset {
}
}//package
Section 726
//ResourceManager_pupil_10maskImage (ResourceManager_pupil_10maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_10maskImage extends BitmapAsset {
}
}//package
Section 727
//ResourceManager_pupil_11Image (ResourceManager_pupil_11Image)
package {
import mx.core.*;
public class ResourceManager_pupil_11Image extends BitmapAsset {
}
}//package
Section 728
//ResourceManager_pupil_11maskImage (ResourceManager_pupil_11maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_11maskImage extends BitmapAsset {
}
}//package
Section 729
//ResourceManager_pupil_12Image (ResourceManager_pupil_12Image)
package {
import mx.core.*;
public class ResourceManager_pupil_12Image extends BitmapAsset {
}
}//package
Section 730
//ResourceManager_pupil_12maskImage (ResourceManager_pupil_12maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_12maskImage extends BitmapAsset {
}
}//package
Section 731
//ResourceManager_pupil_13Image (ResourceManager_pupil_13Image)
package {
import mx.core.*;
public class ResourceManager_pupil_13Image extends BitmapAsset {
}
}//package
Section 732
//ResourceManager_pupil_13maskImage (ResourceManager_pupil_13maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_13maskImage extends BitmapAsset {
}
}//package
Section 733
//ResourceManager_pupil_14Image (ResourceManager_pupil_14Image)
package {
import mx.core.*;
public class ResourceManager_pupil_14Image extends BitmapAsset {
}
}//package
Section 734
//ResourceManager_pupil_14maskImage (ResourceManager_pupil_14maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_14maskImage extends BitmapAsset {
}
}//package
Section 735
//ResourceManager_pupil_15Image (ResourceManager_pupil_15Image)
package {
import mx.core.*;
public class ResourceManager_pupil_15Image extends BitmapAsset {
}
}//package
Section 736
//ResourceManager_pupil_15maskImage (ResourceManager_pupil_15maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_15maskImage extends BitmapAsset {
}
}//package
Section 737
//ResourceManager_pupil_16Image (ResourceManager_pupil_16Image)
package {
import mx.core.*;
public class ResourceManager_pupil_16Image extends BitmapAsset {
}
}//package
Section 738
//ResourceManager_pupil_16maskImage (ResourceManager_pupil_16maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_16maskImage extends BitmapAsset {
}
}//package
Section 739
//ResourceManager_pupil_17Image (ResourceManager_pupil_17Image)
package {
import mx.core.*;
public class ResourceManager_pupil_17Image extends BitmapAsset {
}
}//package
Section 740
//ResourceManager_pupil_17maskImage (ResourceManager_pupil_17maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_17maskImage extends BitmapAsset {
}
}//package
Section 741
//ResourceManager_pupil_18Image (ResourceManager_pupil_18Image)
package {
import mx.core.*;
public class ResourceManager_pupil_18Image extends BitmapAsset {
}
}//package
Section 742
//ResourceManager_pupil_18maskImage (ResourceManager_pupil_18maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_18maskImage extends BitmapAsset {
}
}//package
Section 743
//ResourceManager_pupil_19Image (ResourceManager_pupil_19Image)
package {
import mx.core.*;
public class ResourceManager_pupil_19Image extends BitmapAsset {
}
}//package
Section 744
//ResourceManager_pupil_19maskImage (ResourceManager_pupil_19maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_19maskImage extends BitmapAsset {
}
}//package
Section 745
//ResourceManager_pupil_20Image (ResourceManager_pupil_20Image)
package {
import mx.core.*;
public class ResourceManager_pupil_20Image extends BitmapAsset {
}
}//package
Section 746
//ResourceManager_pupil_20maskImage (ResourceManager_pupil_20maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_20maskImage extends BitmapAsset {
}
}//package
Section 747
//ResourceManager_pupil_21Image (ResourceManager_pupil_21Image)
package {
import mx.core.*;
public class ResourceManager_pupil_21Image extends BitmapAsset {
}
}//package
Section 748
//ResourceManager_pupil_21maskImage (ResourceManager_pupil_21maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_21maskImage extends BitmapAsset {
}
}//package
Section 749
//ResourceManager_pupil_22Image (ResourceManager_pupil_22Image)
package {
import mx.core.*;
public class ResourceManager_pupil_22Image extends BitmapAsset {
}
}//package
Section 750
//ResourceManager_pupil_22maskImage (ResourceManager_pupil_22maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_22maskImage extends BitmapAsset {
}
}//package
Section 751
//ResourceManager_pupil_23Image (ResourceManager_pupil_23Image)
package {
import mx.core.*;
public class ResourceManager_pupil_23Image extends BitmapAsset {
}
}//package
Section 752
//ResourceManager_pupil_23maskImage (ResourceManager_pupil_23maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_23maskImage extends BitmapAsset {
}
}//package
Section 753
//ResourceManager_pupil_24Image (ResourceManager_pupil_24Image)
package {
import mx.core.*;
public class ResourceManager_pupil_24Image extends BitmapAsset {
}
}//package
Section 754
//ResourceManager_pupil_24maskImage (ResourceManager_pupil_24maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_24maskImage extends BitmapAsset {
}
}//package
Section 755
//ResourceManager_pupil_25Image (ResourceManager_pupil_25Image)
package {
import mx.core.*;
public class ResourceManager_pupil_25Image extends BitmapAsset {
}
}//package
Section 756
//ResourceManager_pupil_25maskImage (ResourceManager_pupil_25maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_25maskImage extends BitmapAsset {
}
}//package
Section 757
//ResourceManager_pupil_26Image (ResourceManager_pupil_26Image)
package {
import mx.core.*;
public class ResourceManager_pupil_26Image extends BitmapAsset {
}
}//package
Section 758
//ResourceManager_pupil_26maskImage (ResourceManager_pupil_26maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_26maskImage extends BitmapAsset {
}
}//package
Section 759
//ResourceManager_pupil_27Image (ResourceManager_pupil_27Image)
package {
import mx.core.*;
public class ResourceManager_pupil_27Image extends BitmapAsset {
}
}//package
Section 760
//ResourceManager_pupil_27maskImage (ResourceManager_pupil_27maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_27maskImage extends BitmapAsset {
}
}//package
Section 761
//ResourceManager_pupil_28Image (ResourceManager_pupil_28Image)
package {
import mx.core.*;
public class ResourceManager_pupil_28Image extends BitmapAsset {
}
}//package
Section 762
//ResourceManager_pupil_28maskImage (ResourceManager_pupil_28maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_28maskImage extends BitmapAsset {
}
}//package
Section 763
//ResourceManager_pupil_29Image (ResourceManager_pupil_29Image)
package {
import mx.core.*;
public class ResourceManager_pupil_29Image extends BitmapAsset {
}
}//package
Section 764
//ResourceManager_pupil_29maskImage (ResourceManager_pupil_29maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_29maskImage extends BitmapAsset {
}
}//package
Section 765
//ResourceManager_pupil_2Image (ResourceManager_pupil_2Image)
package {
import mx.core.*;
public class ResourceManager_pupil_2Image extends BitmapAsset {
}
}//package
Section 766
//ResourceManager_pupil_2maskImage (ResourceManager_pupil_2maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_2maskImage extends BitmapAsset {
}
}//package
Section 767
//ResourceManager_pupil_30Image (ResourceManager_pupil_30Image)
package {
import mx.core.*;
public class ResourceManager_pupil_30Image extends BitmapAsset {
}
}//package
Section 768
//ResourceManager_pupil_30maskImage (ResourceManager_pupil_30maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_30maskImage extends BitmapAsset {
}
}//package
Section 769
//ResourceManager_pupil_31Image (ResourceManager_pupil_31Image)
package {
import mx.core.*;
public class ResourceManager_pupil_31Image extends BitmapAsset {
}
}//package
Section 770
//ResourceManager_pupil_31maskImage (ResourceManager_pupil_31maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_31maskImage extends BitmapAsset {
}
}//package
Section 771
//ResourceManager_pupil_3Image (ResourceManager_pupil_3Image)
package {
import mx.core.*;
public class ResourceManager_pupil_3Image extends BitmapAsset {
}
}//package
Section 772
//ResourceManager_pupil_3maskImage (ResourceManager_pupil_3maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_3maskImage extends BitmapAsset {
}
}//package
Section 773
//ResourceManager_pupil_4Image (ResourceManager_pupil_4Image)
package {
import mx.core.*;
public class ResourceManager_pupil_4Image extends BitmapAsset {
}
}//package
Section 774
//ResourceManager_pupil_4maskImage (ResourceManager_pupil_4maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_4maskImage extends BitmapAsset {
}
}//package
Section 775
//ResourceManager_pupil_5Image (ResourceManager_pupil_5Image)
package {
import mx.core.*;
public class ResourceManager_pupil_5Image extends BitmapAsset {
}
}//package
Section 776
//ResourceManager_pupil_5maskImage (ResourceManager_pupil_5maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_5maskImage extends BitmapAsset {
}
}//package
Section 777
//ResourceManager_pupil_6Image (ResourceManager_pupil_6Image)
package {
import mx.core.*;
public class ResourceManager_pupil_6Image extends BitmapAsset {
}
}//package
Section 778
//ResourceManager_pupil_6maskImage (ResourceManager_pupil_6maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_6maskImage extends BitmapAsset {
}
}//package
Section 779
//ResourceManager_pupil_7Image (ResourceManager_pupil_7Image)
package {
import mx.core.*;
public class ResourceManager_pupil_7Image extends BitmapAsset {
}
}//package
Section 780
//ResourceManager_pupil_7maskImage (ResourceManager_pupil_7maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_7maskImage extends BitmapAsset {
}
}//package
Section 781
//ResourceManager_pupil_8Image (ResourceManager_pupil_8Image)
package {
import mx.core.*;
public class ResourceManager_pupil_8Image extends BitmapAsset {
}
}//package
Section 782
//ResourceManager_pupil_8maskImage (ResourceManager_pupil_8maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_8maskImage extends BitmapAsset {
}
}//package
Section 783
//ResourceManager_pupil_9Image (ResourceManager_pupil_9Image)
package {
import mx.core.*;
public class ResourceManager_pupil_9Image extends BitmapAsset {
}
}//package
Section 784
//ResourceManager_pupil_9maskImage (ResourceManager_pupil_9maskImage)
package {
import mx.core.*;
public class ResourceManager_pupil_9maskImage extends BitmapAsset {
}
}//package
Section 785
//ResourceManager_pupilImage (ResourceManager_pupilImage)
package {
import mx.core.*;
public class ResourceManager_pupilImage extends BitmapAsset {
}
}//package
Section 786
//ResourceManager_pupilmaskImage (ResourceManager_pupilmaskImage)
package {
import mx.core.*;
public class ResourceManager_pupilmaskImage extends BitmapAsset {
}
}//package
Section 787
//ResourceManager_rat_dispImage (ResourceManager_rat_dispImage)
package {
import mx.core.*;
public class ResourceManager_rat_dispImage extends BitmapAsset {
}
}//package
Section 788
//ResourceManager_rat_dispmaskImage (ResourceManager_rat_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_rat_dispmaskImage extends BitmapAsset {
}
}//package
Section 789
//ResourceManager_rat0_1Image (ResourceManager_rat0_1Image)
package {
import mx.core.*;
public class ResourceManager_rat0_1Image extends BitmapAsset {
}
}//package
Section 790
//ResourceManager_rat0_1maskImage (ResourceManager_rat0_1maskImage)
package {
import mx.core.*;
public class ResourceManager_rat0_1maskImage extends BitmapAsset {
}
}//package
Section 791
//ResourceManager_rat0Image (ResourceManager_rat0Image)
package {
import mx.core.*;
public class ResourceManager_rat0Image extends BitmapAsset {
}
}//package
Section 792
//ResourceManager_rat0maskImage (ResourceManager_rat0maskImage)
package {
import mx.core.*;
public class ResourceManager_rat0maskImage extends BitmapAsset {
}
}//package
Section 793
//ResourceManager_rat1_1Image (ResourceManager_rat1_1Image)
package {
import mx.core.*;
public class ResourceManager_rat1_1Image extends BitmapAsset {
}
}//package
Section 794
//ResourceManager_rat1_1maskImage (ResourceManager_rat1_1maskImage)
package {
import mx.core.*;
public class ResourceManager_rat1_1maskImage extends BitmapAsset {
}
}//package
Section 795
//ResourceManager_rat1Image (ResourceManager_rat1Image)
package {
import mx.core.*;
public class ResourceManager_rat1Image extends BitmapAsset {
}
}//package
Section 796
//ResourceManager_rat1maskImage (ResourceManager_rat1maskImage)
package {
import mx.core.*;
public class ResourceManager_rat1maskImage extends BitmapAsset {
}
}//package
Section 797
//ResourceManager_rat2_1Image (ResourceManager_rat2_1Image)
package {
import mx.core.*;
public class ResourceManager_rat2_1Image extends BitmapAsset {
}
}//package
Section 798
//ResourceManager_rat2_1maskImage (ResourceManager_rat2_1maskImage)
package {
import mx.core.*;
public class ResourceManager_rat2_1maskImage extends BitmapAsset {
}
}//package
Section 799
//ResourceManager_rat2Image (ResourceManager_rat2Image)
package {
import mx.core.*;
public class ResourceManager_rat2Image extends BitmapAsset {
}
}//package
Section 800
//ResourceManager_rat2maskImage (ResourceManager_rat2maskImage)
package {
import mx.core.*;
public class ResourceManager_rat2maskImage extends BitmapAsset {
}
}//package
Section 801
//ResourceManager_redSound (ResourceManager_redSound)
package {
import mx.core.*;
public class ResourceManager_redSound extends SoundAsset {
}
}//package
Section 802
//ResourceManager_reticle_1Image (ResourceManager_reticle_1Image)
package {
import mx.core.*;
public class ResourceManager_reticle_1Image extends BitmapAsset {
}
}//package
Section 803
//ResourceManager_reticle_1maskImage (ResourceManager_reticle_1maskImage)
package {
import mx.core.*;
public class ResourceManager_reticle_1maskImage extends BitmapAsset {
}
}//package
Section 804
//ResourceManager_reticle_2Image (ResourceManager_reticle_2Image)
package {
import mx.core.*;
public class ResourceManager_reticle_2Image extends BitmapAsset {
}
}//package
Section 805
//ResourceManager_reticle_2maskImage (ResourceManager_reticle_2maskImage)
package {
import mx.core.*;
public class ResourceManager_reticle_2maskImage extends BitmapAsset {
}
}//package
Section 806
//ResourceManager_reticle_3Image (ResourceManager_reticle_3Image)
package {
import mx.core.*;
public class ResourceManager_reticle_3Image extends BitmapAsset {
}
}//package
Section 807
//ResourceManager_reticle_3maskImage (ResourceManager_reticle_3maskImage)
package {
import mx.core.*;
public class ResourceManager_reticle_3maskImage extends BitmapAsset {
}
}//package
Section 808
//ResourceManager_reticleImage (ResourceManager_reticleImage)
package {
import mx.core.*;
public class ResourceManager_reticleImage extends BitmapAsset {
}
}//package
Section 809
//ResourceManager_reticlemaskImage (ResourceManager_reticlemaskImage)
package {
import mx.core.*;
public class ResourceManager_reticlemaskImage extends BitmapAsset {
}
}//package
Section 810
//ResourceManager_rock1_dispImage (ResourceManager_rock1_dispImage)
package {
import mx.core.*;
public class ResourceManager_rock1_dispImage extends BitmapAsset {
}
}//package
Section 811
//ResourceManager_rock1_dispmaskImage (ResourceManager_rock1_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_rock1_dispmaskImage extends BitmapAsset {
}
}//package
Section 812
//ResourceManager_rock1Image (ResourceManager_rock1Image)
package {
import mx.core.*;
public class ResourceManager_rock1Image extends BitmapAsset {
}
}//package
Section 813
//ResourceManager_rock1maskImage (ResourceManager_rock1maskImage)
package {
import mx.core.*;
public class ResourceManager_rock1maskImage extends BitmapAsset {
}
}//package
Section 814
//ResourceManager_scientistold0Image (ResourceManager_scientistold0Image)
package {
import mx.core.*;
public class ResourceManager_scientistold0Image extends BitmapAsset {
}
}//package
Section 815
//ResourceManager_scientistold0maskImage (ResourceManager_scientistold0maskImage)
package {
import mx.core.*;
public class ResourceManager_scientistold0maskImage extends BitmapAsset {
}
}//package
Section 816
//ResourceManager_scientistold1Image (ResourceManager_scientistold1Image)
package {
import mx.core.*;
public class ResourceManager_scientistold1Image extends BitmapAsset {
}
}//package
Section 817
//ResourceManager_scientistold1maskImage (ResourceManager_scientistold1maskImage)
package {
import mx.core.*;
public class ResourceManager_scientistold1maskImage extends BitmapAsset {
}
}//package
Section 818
//ResourceManager_scientistold2Image (ResourceManager_scientistold2Image)
package {
import mx.core.*;
public class ResourceManager_scientistold2Image extends BitmapAsset {
}
}//package
Section 819
//ResourceManager_scientistold2maskImage (ResourceManager_scientistold2maskImage)
package {
import mx.core.*;
public class ResourceManager_scientistold2maskImage extends BitmapAsset {
}
}//package
Section 820
//ResourceManager_scientistyoung0Image (ResourceManager_scientistyoung0Image)
package {
import mx.core.*;
public class ResourceManager_scientistyoung0Image extends BitmapAsset {
}
}//package
Section 821
//ResourceManager_scientistyoung0maskImage (ResourceManager_scientistyoung0maskImage)
package {
import mx.core.*;
public class ResourceManager_scientistyoung0maskImage extends BitmapAsset {
}
}//package
Section 822
//ResourceManager_scientistyoung1Image (ResourceManager_scientistyoung1Image)
package {
import mx.core.*;
public class ResourceManager_scientistyoung1Image extends BitmapAsset {
}
}//package
Section 823
//ResourceManager_scientistyoung1maskImage (ResourceManager_scientistyoung1maskImage)
package {
import mx.core.*;
public class ResourceManager_scientistyoung1maskImage extends BitmapAsset {
}
}//package
Section 824
//ResourceManager_scientistyoung2Image (ResourceManager_scientistyoung2Image)
package {
import mx.core.*;
public class ResourceManager_scientistyoung2Image extends BitmapAsset {
}
}//package
Section 825
//ResourceManager_scientistyoung2maskImage (ResourceManager_scientistyoung2maskImage)
package {
import mx.core.*;
public class ResourceManager_scientistyoung2maskImage extends BitmapAsset {
}
}//package
Section 826
//ResourceManager_shrew_dispImage (ResourceManager_shrew_dispImage)
package {
import mx.core.*;
public class ResourceManager_shrew_dispImage extends BitmapAsset {
}
}//package
Section 827
//ResourceManager_shrew_dispmaskImage (ResourceManager_shrew_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_shrew_dispmaskImage extends BitmapAsset {
}
}//package
Section 828
//ResourceManager_shrew0_1Image (ResourceManager_shrew0_1Image)
package {
import mx.core.*;
public class ResourceManager_shrew0_1Image extends BitmapAsset {
}
}//package
Section 829
//ResourceManager_shrew0_1maskImage (ResourceManager_shrew0_1maskImage)
package {
import mx.core.*;
public class ResourceManager_shrew0_1maskImage extends BitmapAsset {
}
}//package
Section 830
//ResourceManager_shrew0Image (ResourceManager_shrew0Image)
package {
import mx.core.*;
public class ResourceManager_shrew0Image extends BitmapAsset {
}
}//package
Section 831
//ResourceManager_shrew0maskImage (ResourceManager_shrew0maskImage)
package {
import mx.core.*;
public class ResourceManager_shrew0maskImage extends BitmapAsset {
}
}//package
Section 832
//ResourceManager_shrew1_1Image (ResourceManager_shrew1_1Image)
package {
import mx.core.*;
public class ResourceManager_shrew1_1Image extends BitmapAsset {
}
}//package
Section 833
//ResourceManager_shrew1_1maskImage (ResourceManager_shrew1_1maskImage)
package {
import mx.core.*;
public class ResourceManager_shrew1_1maskImage extends BitmapAsset {
}
}//package
Section 834
//ResourceManager_shrew1Image (ResourceManager_shrew1Image)
package {
import mx.core.*;
public class ResourceManager_shrew1Image extends BitmapAsset {
}
}//package
Section 835
//ResourceManager_shrew1maskImage (ResourceManager_shrew1maskImage)
package {
import mx.core.*;
public class ResourceManager_shrew1maskImage extends BitmapAsset {
}
}//package
Section 836
//ResourceManager_shrew2_1Image (ResourceManager_shrew2_1Image)
package {
import mx.core.*;
public class ResourceManager_shrew2_1Image extends BitmapAsset {
}
}//package
Section 837
//ResourceManager_shrew2_1maskImage (ResourceManager_shrew2_1maskImage)
package {
import mx.core.*;
public class ResourceManager_shrew2_1maskImage extends BitmapAsset {
}
}//package
Section 838
//ResourceManager_shrew2Image (ResourceManager_shrew2Image)
package {
import mx.core.*;
public class ResourceManager_shrew2Image extends BitmapAsset {
}
}//package
Section 839
//ResourceManager_shrew2maskImage (ResourceManager_shrew2maskImage)
package {
import mx.core.*;
public class ResourceManager_shrew2maskImage extends BitmapAsset {
}
}//package
Section 840
//ResourceManager_simon_dispImage (ResourceManager_simon_dispImage)
package {
import mx.core.*;
public class ResourceManager_simon_dispImage extends BitmapAsset {
}
}//package
Section 841
//ResourceManager_simon_dispmaskImage (ResourceManager_simon_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_simon_dispmaskImage extends BitmapAsset {
}
}//package
Section 842
//ResourceManager_simon0Image (ResourceManager_simon0Image)
package {
import mx.core.*;
public class ResourceManager_simon0Image extends BitmapAsset {
}
}//package
Section 843
//ResourceManager_simon0maskImage (ResourceManager_simon0maskImage)
package {
import mx.core.*;
public class ResourceManager_simon0maskImage extends BitmapAsset {
}
}//package
Section 844
//ResourceManager_simon1Image (ResourceManager_simon1Image)
package {
import mx.core.*;
public class ResourceManager_simon1Image extends BitmapAsset {
}
}//package
Section 845
//ResourceManager_simon1maskImage (ResourceManager_simon1maskImage)
package {
import mx.core.*;
public class ResourceManager_simon1maskImage extends BitmapAsset {
}
}//package
Section 846
//ResourceManager_simon2Image (ResourceManager_simon2Image)
package {
import mx.core.*;
public class ResourceManager_simon2Image extends BitmapAsset {
}
}//package
Section 847
//ResourceManager_simon2maskImage (ResourceManager_simon2maskImage)
package {
import mx.core.*;
public class ResourceManager_simon2maskImage extends BitmapAsset {
}
}//package
Section 848
//ResourceManager_smallsquish1Sound (ResourceManager_smallsquish1Sound)
package {
import mx.core.*;
public class ResourceManager_smallsquish1Sound extends SoundAsset {
}
}//package
Section 849
//ResourceManager_smallsquish2Sound (ResourceManager_smallsquish2Sound)
package {
import mx.core.*;
public class ResourceManager_smallsquish2Sound extends SoundAsset {
}
}//package
Section 850
//ResourceManager_starssmallImage (ResourceManager_starssmallImage)
package {
import mx.core.*;
public class ResourceManager_starssmallImage extends BitmapAsset {
}
}//package
Section 851
//ResourceManager_starssmallmaskImage (ResourceManager_starssmallmaskImage)
package {
import mx.core.*;
public class ResourceManager_starssmallmaskImage extends BitmapAsset {
}
}//package
Section 852
//ResourceManager_stone1Sound (ResourceManager_stone1Sound)
package {
import mx.core.*;
public class ResourceManager_stone1Sound extends SoundAsset {
}
}//package
Section 853
//ResourceManager_stone2Sound (ResourceManager_stone2Sound)
package {
import mx.core.*;
public class ResourceManager_stone2Sound extends SoundAsset {
}
}//package
Section 854
//ResourceManager_stone3Sound (ResourceManager_stone3Sound)
package {
import mx.core.*;
public class ResourceManager_stone3Sound extends SoundAsset {
}
}//package
Section 855
//ResourceManager_stone4Sound (ResourceManager_stone4Sound)
package {
import mx.core.*;
public class ResourceManager_stone4Sound extends SoundAsset {
}
}//package
Section 856
//ResourceManager_stone5Sound (ResourceManager_stone5Sound)
package {
import mx.core.*;
public class ResourceManager_stone5Sound extends SoundAsset {
}
}//package
Section 857
//ResourceManager_stone6Sound (ResourceManager_stone6Sound)
package {
import mx.core.*;
public class ResourceManager_stone6Sound extends SoundAsset {
}
}//package
Section 858
//ResourceManager_stonesmall1Sound (ResourceManager_stonesmall1Sound)
package {
import mx.core.*;
public class ResourceManager_stonesmall1Sound extends SoundAsset {
}
}//package
Section 859
//ResourceManager_stonesmall2Sound (ResourceManager_stonesmall2Sound)
package {
import mx.core.*;
public class ResourceManager_stonesmall2Sound extends SoundAsset {
}
}//package
Section 860
//ResourceManager_struthiomimus_dispImage (ResourceManager_struthiomimus_dispImage)
package {
import mx.core.*;
public class ResourceManager_struthiomimus_dispImage extends BitmapAsset {
}
}//package
Section 861
//ResourceManager_struthiomimus_dispmaskImage (ResourceManager_struthiomimus_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_struthiomimus_dispmaskImage extends BitmapAsset {
}
}//package
Section 862
//ResourceManager_struthiomimus0Image (ResourceManager_struthiomimus0Image)
package {
import mx.core.*;
public class ResourceManager_struthiomimus0Image extends BitmapAsset {
}
}//package
Section 863
//ResourceManager_struthiomimus0maskImage (ResourceManager_struthiomimus0maskImage)
package {
import mx.core.*;
public class ResourceManager_struthiomimus0maskImage extends BitmapAsset {
}
}//package
Section 864
//ResourceManager_struthiomimus1Image (ResourceManager_struthiomimus1Image)
package {
import mx.core.*;
public class ResourceManager_struthiomimus1Image extends BitmapAsset {
}
}//package
Section 865
//ResourceManager_struthiomimus1maskImage (ResourceManager_struthiomimus1maskImage)
package {
import mx.core.*;
public class ResourceManager_struthiomimus1maskImage extends BitmapAsset {
}
}//package
Section 866
//ResourceManager_struthiomimus2Image (ResourceManager_struthiomimus2Image)
package {
import mx.core.*;
public class ResourceManager_struthiomimus2Image extends BitmapAsset {
}
}//package
Section 867
//ResourceManager_struthiomimus2maskImage (ResourceManager_struthiomimus2maskImage)
package {
import mx.core.*;
public class ResourceManager_struthiomimus2maskImage extends BitmapAsset {
}
}//package
Section 868
//ResourceManager_stygimoloch_dispImage (ResourceManager_stygimoloch_dispImage)
package {
import mx.core.*;
public class ResourceManager_stygimoloch_dispImage extends BitmapAsset {
}
}//package
Section 869
//ResourceManager_stygimoloch_dispmaskImage (ResourceManager_stygimoloch_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_stygimoloch_dispmaskImage extends BitmapAsset {
}
}//package
Section 870
//ResourceManager_stygimoloch0Image (ResourceManager_stygimoloch0Image)
package {
import mx.core.*;
public class ResourceManager_stygimoloch0Image extends BitmapAsset {
}
}//package
Section 871
//ResourceManager_stygimoloch0maskImage (ResourceManager_stygimoloch0maskImage)
package {
import mx.core.*;
public class ResourceManager_stygimoloch0maskImage extends BitmapAsset {
}
}//package
Section 872
//ResourceManager_stygimoloch1Image (ResourceManager_stygimoloch1Image)
package {
import mx.core.*;
public class ResourceManager_stygimoloch1Image extends BitmapAsset {
}
}//package
Section 873
//ResourceManager_stygimoloch1maskImage (ResourceManager_stygimoloch1maskImage)
package {
import mx.core.*;
public class ResourceManager_stygimoloch1maskImage extends BitmapAsset {
}
}//package
Section 874
//ResourceManager_stygimoloch2Image (ResourceManager_stygimoloch2Image)
package {
import mx.core.*;
public class ResourceManager_stygimoloch2Image extends BitmapAsset {
}
}//package
Section 875
//ResourceManager_stygimoloch2maskImage (ResourceManager_stygimoloch2maskImage)
package {
import mx.core.*;
public class ResourceManager_stygimoloch2maskImage extends BitmapAsset {
}
}//package
Section 876
//ResourceManager_styracosaurus_dispImage (ResourceManager_styracosaurus_dispImage)
package {
import mx.core.*;
public class ResourceManager_styracosaurus_dispImage extends BitmapAsset {
}
}//package
Section 877
//ResourceManager_styracosaurus_dispmaskImage (ResourceManager_styracosaurus_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_styracosaurus_dispmaskImage extends BitmapAsset {
}
}//package
Section 878
//ResourceManager_styracosaurus0_1Image (ResourceManager_styracosaurus0_1Image)
package {
import mx.core.*;
public class ResourceManager_styracosaurus0_1Image extends BitmapAsset {
}
}//package
Section 879
//ResourceManager_styracosaurus0_1maskImage (ResourceManager_styracosaurus0_1maskImage)
package {
import mx.core.*;
public class ResourceManager_styracosaurus0_1maskImage extends BitmapAsset {
}
}//package
Section 880
//ResourceManager_styracosaurus0Image (ResourceManager_styracosaurus0Image)
package {
import mx.core.*;
public class ResourceManager_styracosaurus0Image extends BitmapAsset {
}
}//package
Section 881
//ResourceManager_styracosaurus0maskImage (ResourceManager_styracosaurus0maskImage)
package {
import mx.core.*;
public class ResourceManager_styracosaurus0maskImage extends BitmapAsset {
}
}//package
Section 882
//ResourceManager_styracosaurus1_1Image (ResourceManager_styracosaurus1_1Image)
package {
import mx.core.*;
public class ResourceManager_styracosaurus1_1Image extends BitmapAsset {
}
}//package
Section 883
//ResourceManager_styracosaurus1_1maskImage (ResourceManager_styracosaurus1_1maskImage)
package {
import mx.core.*;
public class ResourceManager_styracosaurus1_1maskImage extends BitmapAsset {
}
}//package
Section 884
//ResourceManager_styracosaurus1Image (ResourceManager_styracosaurus1Image)
package {
import mx.core.*;
public class ResourceManager_styracosaurus1Image extends BitmapAsset {
}
}//package
Section 885
//ResourceManager_styracosaurus1maskImage (ResourceManager_styracosaurus1maskImage)
package {
import mx.core.*;
public class ResourceManager_styracosaurus1maskImage extends BitmapAsset {
}
}//package
Section 886
//ResourceManager_styracosaurus2_1Image (ResourceManager_styracosaurus2_1Image)
package {
import mx.core.*;
public class ResourceManager_styracosaurus2_1Image extends BitmapAsset {
}
}//package
Section 887
//ResourceManager_styracosaurus2_1maskImage (ResourceManager_styracosaurus2_1maskImage)
package {
import mx.core.*;
public class ResourceManager_styracosaurus2_1maskImage extends BitmapAsset {
}
}//package
Section 888
//ResourceManager_styracosaurus2Image (ResourceManager_styracosaurus2Image)
package {
import mx.core.*;
public class ResourceManager_styracosaurus2Image extends BitmapAsset {
}
}//package
Section 889
//ResourceManager_styracosaurus2maskImage (ResourceManager_styracosaurus2maskImage)
package {
import mx.core.*;
public class ResourceManager_styracosaurus2maskImage extends BitmapAsset {
}
}//package
Section 890
//ResourceManager_testtube1_1Image (ResourceManager_testtube1_1Image)
package {
import mx.core.*;
public class ResourceManager_testtube1_1Image extends BitmapAsset {
}
}//package
Section 891
//ResourceManager_testtube1_1maskImage (ResourceManager_testtube1_1maskImage)
package {
import mx.core.*;
public class ResourceManager_testtube1_1maskImage extends BitmapAsset {
}
}//package
Section 892
//ResourceManager_testtube1_dispImage (ResourceManager_testtube1_dispImage)
package {
import mx.core.*;
public class ResourceManager_testtube1_dispImage extends BitmapAsset {
}
}//package
Section 893
//ResourceManager_testtube1_dispmaskImage (ResourceManager_testtube1_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_testtube1_dispmaskImage extends BitmapAsset {
}
}//package
Section 894
//ResourceManager_testtube1Image (ResourceManager_testtube1Image)
package {
import mx.core.*;
public class ResourceManager_testtube1Image extends BitmapAsset {
}
}//package
Section 895
//ResourceManager_testtube1maskImage (ResourceManager_testtube1maskImage)
package {
import mx.core.*;
public class ResourceManager_testtube1maskImage extends BitmapAsset {
}
}//package
Section 896
//ResourceManager_timemachine_dispImage (ResourceManager_timemachine_dispImage)
package {
import mx.core.*;
public class ResourceManager_timemachine_dispImage extends BitmapAsset {
}
}//package
Section 897
//ResourceManager_timemachine_dispmaskImage (ResourceManager_timemachine_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_timemachine_dispmaskImage extends BitmapAsset {
}
}//package
Section 898
//ResourceManager_timemachineImage (ResourceManager_timemachineImage)
package {
import mx.core.*;
public class ResourceManager_timemachineImage extends BitmapAsset {
}
}//package
Section 899
//ResourceManager_timemachinemaskImage (ResourceManager_timemachinemaskImage)
package {
import mx.core.*;
public class ResourceManager_timemachinemaskImage extends BitmapAsset {
}
}//package
Section 900
//ResourceManager_timerbackImage (ResourceManager_timerbackImage)
package {
import mx.core.*;
public class ResourceManager_timerbackImage extends BitmapAsset {
}
}//package
Section 901
//ResourceManager_tree1Sound (ResourceManager_tree1Sound)
package {
import mx.core.*;
public class ResourceManager_tree1Sound extends SoundAsset {
}
}//package
Section 902
//ResourceManager_tree2Sound (ResourceManager_tree2Sound)
package {
import mx.core.*;
public class ResourceManager_tree2Sound extends SoundAsset {
}
}//package
Section 903
//ResourceManager_tree3Sound (ResourceManager_tree3Sound)
package {
import mx.core.*;
public class ResourceManager_tree3Sound extends SoundAsset {
}
}//package
Section 904
//ResourceManager_triceratops_dispImage (ResourceManager_triceratops_dispImage)
package {
import mx.core.*;
public class ResourceManager_triceratops_dispImage extends BitmapAsset {
}
}//package
Section 905
//ResourceManager_triceratops_dispmaskImage (ResourceManager_triceratops_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_triceratops_dispmaskImage extends BitmapAsset {
}
}//package
Section 906
//ResourceManager_triceratops0Image (ResourceManager_triceratops0Image)
package {
import mx.core.*;
public class ResourceManager_triceratops0Image extends BitmapAsset {
}
}//package
Section 907
//ResourceManager_triceratops0maskImage (ResourceManager_triceratops0maskImage)
package {
import mx.core.*;
public class ResourceManager_triceratops0maskImage extends BitmapAsset {
}
}//package
Section 908
//ResourceManager_triceratops1Image (ResourceManager_triceratops1Image)
package {
import mx.core.*;
public class ResourceManager_triceratops1Image extends BitmapAsset {
}
}//package
Section 909
//ResourceManager_triceratops1maskImage (ResourceManager_triceratops1maskImage)
package {
import mx.core.*;
public class ResourceManager_triceratops1maskImage extends BitmapAsset {
}
}//package
Section 910
//ResourceManager_triceratops2Image (ResourceManager_triceratops2Image)
package {
import mx.core.*;
public class ResourceManager_triceratops2Image extends BitmapAsset {
}
}//package
Section 911
//ResourceManager_triceratops2maskImage (ResourceManager_triceratops2maskImage)
package {
import mx.core.*;
public class ResourceManager_triceratops2maskImage extends BitmapAsset {
}
}//package
Section 912
//ResourceManager_turtle_dispImage (ResourceManager_turtle_dispImage)
package {
import mx.core.*;
public class ResourceManager_turtle_dispImage extends BitmapAsset {
}
}//package
Section 913
//ResourceManager_turtle_dispmaskImage (ResourceManager_turtle_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_turtle_dispmaskImage extends BitmapAsset {
}
}//package
Section 914
//ResourceManager_turtle0Image (ResourceManager_turtle0Image)
package {
import mx.core.*;
public class ResourceManager_turtle0Image extends BitmapAsset {
}
}//package
Section 915
//ResourceManager_turtle0maskImage (ResourceManager_turtle0maskImage)
package {
import mx.core.*;
public class ResourceManager_turtle0maskImage extends BitmapAsset {
}
}//package
Section 916
//ResourceManager_turtle1Image (ResourceManager_turtle1Image)
package {
import mx.core.*;
public class ResourceManager_turtle1Image extends BitmapAsset {
}
}//package
Section 917
//ResourceManager_turtle1maskImage (ResourceManager_turtle1maskImage)
package {
import mx.core.*;
public class ResourceManager_turtle1maskImage extends BitmapAsset {
}
}//package
Section 918
//ResourceManager_turtle2Image (ResourceManager_turtle2Image)
package {
import mx.core.*;
public class ResourceManager_turtle2Image extends BitmapAsset {
}
}//package
Section 919
//ResourceManager_turtle2maskImage (ResourceManager_turtle2maskImage)
package {
import mx.core.*;
public class ResourceManager_turtle2maskImage extends BitmapAsset {
}
}//package
Section 920
//ResourceManager_tyrannosaurus_dispImage (ResourceManager_tyrannosaurus_dispImage)
package {
import mx.core.*;
public class ResourceManager_tyrannosaurus_dispImage extends BitmapAsset {
}
}//package
Section 921
//ResourceManager_tyrannosaurus_dispmaskImage (ResourceManager_tyrannosaurus_dispmaskImage)
package {
import mx.core.*;
public class ResourceManager_tyrannosaurus_dispmaskImage extends BitmapAsset {
}
}//package
Section 922
//ResourceManager_tyrannosaurus0_1Image (ResourceManager_tyrannosaurus0_1Image)
package {
import mx.core.*;
public class ResourceManager_tyrannosaurus0_1Image extends BitmapAsset {
}
}//package
Section 923
//ResourceManager_tyrannosaurus0_1maskImage (ResourceManager_tyrannosaurus0_1maskImage)
package {
import mx.core.*;
public class ResourceManager_tyrannosaurus0_1maskImage extends BitmapAsset {
}
}//package
Section 924
//ResourceManager_tyrannosaurus0Image (ResourceManager_tyrannosaurus0Image)
package {
import mx.core.*;
public class ResourceManager_tyrannosaurus0Image extends BitmapAsset {
}
}//package
Section 925
//ResourceManager_tyrannosaurus0maskImage (ResourceManager_tyrannosaurus0maskImage)
package {
import mx.core.*;
public class ResourceManager_tyrannosaurus0maskImage extends BitmapAsset {
}
}//package
Section 926
//ResourceManager_tyrannosaurus1_1Image (ResourceManager_tyrannosaurus1_1Image)
package {
import mx.core.*;
public class ResourceManager_tyrannosaurus1_1Image extends BitmapAsset {
}
}//package
Section 927
//ResourceManager_tyrannosaurus1_1maskImage (ResourceManager_tyrannosaurus1_1maskImage)
package {
import mx.core.*;
public class ResourceManager_tyrannosaurus1_1maskImage extends BitmapAsset {
}
}//package
Section 928
//ResourceManager_tyrannosaurus1Image (ResourceManager_tyrannosaurus1Image)
package {
import mx.core.*;
public class ResourceManager_tyrannosaurus1Image extends BitmapAsset {
}
}//package
Section 929
//ResourceManager_tyrannosaurus1maskImage (ResourceManager_tyrannosaurus1maskImage)
package {
import mx.core.*;
public class ResourceManager_tyrannosaurus1maskImage extends BitmapAsset {
}
}//package
Section 930
//ResourceManager_tyrannosaurus2_1Image (ResourceManager_tyrannosaurus2_1Image)
package {
import mx.core.*;
public class ResourceManager_tyrannosaurus2_1Image extends BitmapAsset {
}
}//package
Section 931
//ResourceManager_tyrannosaurus2_1maskImage (ResourceManager_tyrannosaurus2_1maskImage)
package {
import mx.core.*;
public class ResourceManager_tyrannosaurus2_1maskImage extends BitmapAsset {
}
}//package
Section 932
//ResourceManager_tyrannosaurus2Image (ResourceManager_tyrannosaurus2Image)
package {
import mx.core.*;
public class ResourceManager_tyrannosaurus2Image extends BitmapAsset {
}
}//package
Section 933
//ResourceManager_tyrannosaurus2maskImage (ResourceManager_tyrannosaurus2maskImage)
package {
import mx.core.*;
public class ResourceManager_tyrannosaurus2maskImage extends BitmapAsset {
}
}//package
Section 934
//ResourceManager_woodsmall1Sound (ResourceManager_woodsmall1Sound)
package {
import mx.core.*;
public class ResourceManager_woodsmall1Sound extends SoundAsset {
}
}//package
Section 935
//ResourceManager_woodsmall2Sound (ResourceManager_woodsmall2Sound)
package {
import mx.core.*;
public class ResourceManager_woodsmall2Sound extends SoundAsset {
}
}//package
Section 936
//ResourceManager_woodsmall3Sound (ResourceManager_woodsmall3Sound)
package {
import mx.core.*;
public class ResourceManager_woodsmall3Sound extends SoundAsset {
}
}//package
Section 937
//ResourceManager_yummySound (ResourceManager_yummySound)
package {
import mx.core.*;
public class ResourceManager_yummySound extends SoundAsset {
}
}//package
Section 938
//ResourceManager_yumyumSound (ResourceManager_yumyumSound)
package {
import mx.core.*;
public class ResourceManager_yumyumSound extends SoundAsset {
}
}//package
Section 939
//ScheduledEmitVars (ScheduledEmitVars)
package {
public class ScheduledEmitVars {
public var time:Number;// = 0
public var pathPos:Number;// = 0
public function ScheduledEmitVars(aTime:Number=0, aPathPos:Number=0){
super();
time = aTime;
pathPos = aPathPos;
}
}
}//package
Section 940
//ShapeDrawer (ShapeDrawer)
package {
import flash.display.*;
import flash.geom.*;
import org.flixel.*;
public class ShapeDrawer {
public function ShapeDrawer(){
super();
}
public static function drawLine(x1:Number, y1:Number, x2:Number, y2:Number, color:uint, alpha:Number=1):void{
var my_shape:Shape = new Shape();
my_shape.graphics.lineStyle(1, color, 1);
my_shape.graphics.moveTo(x1, y1);
my_shape.graphics.lineTo(x2, y2);
FlxG.buffer.draw(my_shape, null, new ColorTransform(1, 1, 1, alpha));
}
public static function drawCircleEdge(x:Number, y:Number, radius:Number, color:uint, alpha:Number=1):void{
var my_shape:Shape = new Shape();
my_shape.graphics.lineStyle(1, color, 1);
my_shape.graphics.drawCircle(x, y, radius);
FlxG.buffer.draw(my_shape, null, new ColorTransform(1, 1, 1, alpha));
}
public static function drawFillRect(x1:Number, y1:Number, x2:Number, y2:Number, color:uint, alpha:Number=1):void{
var my_shape:Shape = new Shape();
my_shape.graphics.beginFill(color, alpha);
my_shape.graphics.drawRect(x1, y1, (x2 - x1), (y2 - y1));
my_shape.graphics.endFill();
FlxG.buffer.draw(my_shape, null, new ColorTransform(1, 1, 1, alpha));
}
public static function drawRectEdge(x1:Number, y1:Number, x2:Number, y2:Number, color:uint, alpha:Number=1):void{
var my_shape:Shape = new Shape();
my_shape.graphics.lineStyle(1, color, 1);
my_shape.graphics.drawRect(x1, y1, (x2 - x1), (y2 - y1));
FlxG.buffer.draw(my_shape, null, new ColorTransform(1, 1, 1, alpha));
}
public static function drawFillCircle(x:Number, y:Number, radius:Number, color:uint, alpha:Number=1):void{
var Y1:int;
var dx:int;
var R:Number = (Number(radius) * radius);
var top:int = (y - radius);
var bot:int = (y + radius);
Y1 = top;
while (Y1 < bot) {
dx = int((Math.sqrt((R - Number(((y - Y1) * (y - Y1))))) + 0.5));
drawLine(Number((x - dx)), Number(Y1), Number((x + dx)), Number(Y1), color, alpha);
Y1++;
};
}
}
}//package
Section 941
//SoundEffectSystem (SoundEffectSystem)
package {
import flash.utils.*;
import org.flixel.*;
public class SoundEffectSystem {
protected const soundEffectsXML:Class;
public var totalTime:Number;// = 0
public var soundEffects:Array;
public var loopingSoundEffects:Array;
private static var instance:SoundEffectSystem;
public function SoundEffectSystem():void{
soundEffects = new Array();
loopingSoundEffects = new Array();
soundEffectsXML = SoundEffectSystem_soundEffectsXML;
super();
readXML();
}
public function readXML():void{
var entityDef:EntityDef;
var reaction:Reaction;
var name:String;
var soundXML:XML;
var value:String;
var dingoSoundEffect:DingoSoundEffect;
var dingoSoundEffectLoop:DingoSoundEffectLoop;
var file:ByteArray = new soundEffectsXML();
var str:String = file.readUTFBytes(file.length);
var xml:XML = new XML(str);
for each (soundXML in xml.children()) {
value = soundXML.name();
if (value == "sound"){
name = soundXML.attribute("name");
dingoSoundEffect = new DingoSoundEffect();
dingoSoundEffect.readXML(soundXML);
soundEffects[name] = dingoSoundEffect;
} else {
if (value == "loopsound"){
name = soundXML.attribute("name");
dingoSoundEffectLoop = new DingoSoundEffectLoop();
dingoSoundEffectLoop.readXML(soundXML);
loopingSoundEffects[name] = dingoSoundEffectLoop;
};
};
};
}
public function getSoundEffect(name:String):DingoSoundEffect{
return (soundEffects[name]);
}
public function getGlobalEffectVolume():Number{
return (Utilities.convertToSoundVolume((FlxG.volume * 1)));
}
public function getSoundEffectLoop(name:String):DingoSoundEffectLoop{
return (loopingSoundEffects[name]);
}
public function update():void{
totalTime = (totalTime + FlxG.elapsed);
}
public function stopLoopSounds():void{
var loop:DingoSoundEffectLoop;
for each (loop in loopingSoundEffects) {
loop.stopAllSamples();
};
}
public static function getInstance():SoundEffectSystem{
if (instance == null){
instance = new (SoundEffectSystem);
};
return (instance);
}
}
}//package
Section 942
//SoundEffectSystem_soundEffectsXML (SoundEffectSystem_soundEffectsXML)
package {
import mx.core.*;
public class SoundEffectSystem_soundEffectsXML extends ByteArrayAsset {
}
}//package
Section 943
//Spline (Spline)
package {
public class Spline {
public function Spline(){
super();
}
public function getPointFromCtrlPoint(sPoint:SplinePoint, controlP1:SplinePoint, controlP2:SplinePoint, controlP3:SplinePoint, position:Number):void{
var b1:Number;
var b2:Number;
var b3:Number;
if (sPoint == null){
return;
};
b1 = (position * position);
b2 = ((2 * position) * (1 - position));
b3 = ((1 - position) * (1 - position));
sPoint.x = (((controlP1.x * b1) + (controlP2.x * b2)) + (controlP3.x * b3));
sPoint.y = (((controlP1.y * b1) + (controlP2.y * b2)) + (controlP3.y * b3));
}
public function getPoint(sPoint:SplinePoint, x1:Number, y1:Number, x2:Number, y2:Number, coefX1:Number, coefY1:Number, coefX2:Number, coefY2:Number, position:Number):void{
var a:Number;
var b:Number;
if (sPoint == null){
return;
};
a = (1 - position);
b = position;
sPoint.x = ((((((x1 * a) * a) * a) + ((((coefX1 * 3) * a) * a) * b)) + ((((coefX2 * 3) * a) * b) * b)) + (((x2 * b) * b) * b));
sPoint.y = ((((((y1 * a) * a) * a) + ((((coefY1 * 3) * a) * a) * b)) + ((((coefY2 * 3) * a) * b) * b)) + (((y2 * b) * b) * b));
}
}
}//package
Section 944
//SplinePair (SplinePair)
package {
public class SplinePair {
public var x1:Number;// = 0
public var coefy1:Number;// = 0
public var coefx1:Number;// = 0
public var coefx2:Number;// = 0
public var coefy2:Number;// = 0
public var y1:Number;// = 0
public var y2:Number;// = 0
public var x2:Number;// = 0
public function SplinePair(){
super();
}
public function SplintPair():void{
}
}
}//package
Section 945
//SplinePoint (SplinePoint)
package {
public class SplinePoint {
public var x:Number;// = 0
public var y:Number;// = 0
public var coefx:Number;// = 0
public var coefy:Number;// = 0
public function SplinePoint(){
super();
}
}
}//package
Section 946
//tastyplanet (tastyplanet)
package {
import org.flixel.*;
public class tastyplanet extends FlxGame {
public function tastyplanet(){
super(640, 480, PlayState, 1);
FlxG.framerate = 30;
FlxG.volume = 0.8;
pause = null;
}
}
}//package
Section 947
//Tile (Tile)
package {
import org.flixel.*;
public class Tile {
public var angle:int;// = 0
public var tileDef:TileDef;// = null
public var flipX:Boolean;// = false
public var flipY:Boolean;// = false
public function Tile():void{
super();
}
public function readXML(tileXML:XML):void{
var tileName:String = tileXML.attribute("name");
if (tileXML.attribute("angle") != undefined){
angle = tileXML.attribute("angle");
};
if (tileXML.attribute("flipx") != undefined){
flipX = Utilities.XMLListToBoolean(tileXML.attribute("flipx"));
};
if (tileXML.attribute("flipy") != undefined){
flipY = Utilities.XMLListToBoolean(tileXML.attribute("flipy"));
};
if (tileName == "null"){
tileDef = null;
} else {
tileDef = TileDefs.getInstance().getTileDef(tileName);
};
}
public function draw(x:int, y:int):void{
if (tileDef){
tileDef.draw(x, y, flipX, flipY, angle);
};
}
public function update():void{
}
}
}//package
Section 948
//TileDef (TileDef)
package {
import flash.display.*;
import flash.geom.*;
import org.flixel.*;
public final class TileDef {
public var bitmapRot180:BitmapData;// = null
public var bitmapRot270:BitmapData;// = null
public var name:String;
public var imageName:String;
public var bitmapFlipXRot180:BitmapData;// = null
public var bitmapFlipXRot270:BitmapData;// = null
public var bitmapFlipXRot90:BitmapData;// = null
public var bitmapFlipX:BitmapData;// = null
public var bitmapNormal:BitmapData;// = null
public var bitmapRot90:BitmapData;// = null
public function TileDef():void{
super();
}
public function readXML(tileDefXML:XML):void{
name = tileDefXML.attribute("name");
imageName = tileDefXML.attribute("imagemap");
bitmapNormal = ResourceManager.getInstance().getBitmapDataMasked(imageName);
}
public function draw(x:int, y:int, flipX:Boolean, flipY:Boolean, angle:int):void{
if (flipY){
(angle + 180);
flipX = !(flipX);
flipY = false;
};
if (angle < 0){
angle = (angle + 360);
};
angle = (angle % 360);
var useBitmap:BitmapData;
if (((!(flipX)) && ((angle == 0)))){
useBitmap = bitmapNormal;
} else {
if (((!(flipX)) && ((angle == 90)))){
bitmapRot90 = generateBitmap(bitmapRot90, flipX, angle);
useBitmap = bitmapRot90;
} else {
if (((!(flipX)) && ((angle == 180)))){
bitmapRot180 = generateBitmap(bitmapRot180, flipX, angle);
useBitmap = bitmapRot180;
} else {
if (((!(flipX)) && ((angle == 270)))){
bitmapRot270 = generateBitmap(bitmapRot270, flipX, angle);
useBitmap = bitmapRot270;
} else {
if (((flipX) && ((angle == 0)))){
bitmapFlipX = generateBitmap(bitmapFlipX, flipX, angle);
useBitmap = bitmapFlipX;
} else {
if (((flipX) && ((angle == 90)))){
bitmapFlipXRot90 = generateBitmap(bitmapFlipXRot90, flipX, angle);
useBitmap = bitmapFlipXRot90;
} else {
if (((flipX) && ((angle == 180)))){
bitmapFlipXRot180 = generateBitmap(bitmapFlipXRot180, flipX, angle);
useBitmap = bitmapFlipXRot180;
} else {
if (((flipX) && ((angle == 270)))){
bitmapFlipXRot270 = generateBitmap(bitmapFlipXRot270, flipX, angle);
useBitmap = bitmapFlipXRot270;
};
};
};
};
};
};
};
};
FlxG.buffer.copyPixels(useBitmap, useBitmap.rect, new Point(x, y), null, null, true);
}
public function generateBitmap(existingBitmap:BitmapData, flipX:Boolean, angle:int):BitmapData{
var width:int;
var height:int;
var newBitmap:BitmapData;
var x:int;
var y:int;
if (existingBitmap){
return (existingBitmap);
};
width = bitmapNormal.width;
height = bitmapNormal.height;
if ((((angle == 90)) || ((angle == 270)))){
width = bitmapNormal.height;
height = bitmapNormal.width;
};
newBitmap = new BitmapData(width, height, true, 4294967295);
x = 0;
y = 0;
if (((!(flipX)) && ((angle == 90)))){
x = 0;
while (x < bitmapNormal.width) {
y = 0;
while (y < bitmapNormal.height) {
newBitmap.setPixel32(y, ((bitmapNormal.width - x) - 1), bitmapNormal.getPixel32(x, y));
y++;
};
x++;
};
} else {
if (((!(flipX)) && ((angle == 180)))){
x = 0;
while (x < bitmapNormal.width) {
y = 0;
while (y < bitmapNormal.height) {
newBitmap.setPixel32(((bitmapNormal.width - x) - 1), ((bitmapNormal.height - y) - 1), bitmapNormal.getPixel32(x, y));
y++;
};
x++;
};
} else {
if (((!(flipX)) && ((angle == 270)))){
x = 0;
while (x < bitmapNormal.width) {
y = 0;
while (y < bitmapNormal.height) {
newBitmap.setPixel32(((bitmapNormal.height - y) - 1), x, bitmapNormal.getPixel32(x, y));
y++;
};
x++;
};
} else {
if (((flipX) && ((angle == 0)))){
x = 0;
while (x < bitmapNormal.width) {
y = 0;
while (y < bitmapNormal.height) {
newBitmap.setPixel32(((bitmapNormal.width - x) - 1), y, bitmapNormal.getPixel32(x, y));
y++;
};
x++;
};
} else {
if (((flipX) && ((angle == 90)))){
x = 0;
while (x < bitmapNormal.width) {
y = 0;
while (y < bitmapNormal.height) {
newBitmap.setPixel32(y, x, bitmapNormal.getPixel32(x, y));
y++;
};
x++;
};
} else {
if (((flipX) && ((angle == 180)))){
x = 0;
while (x < bitmapNormal.width) {
y = 0;
while (y < bitmapNormal.height) {
newBitmap.setPixel32(x, ((bitmapNormal.height - y) - 1), bitmapNormal.getPixel32(x, y));
y++;
};
x++;
};
} else {
if (((flipX) && ((angle == 270)))){
x = 0;
while (x < bitmapNormal.width) {
y = 0;
while (y < bitmapNormal.height) {
newBitmap.setPixel32(((bitmapNormal.height - y) - 1), ((bitmapNormal.width - x) - 1), bitmapNormal.getPixel32(x, y));
y++;
};
x++;
};
};
};
};
};
};
};
};
return (newBitmap);
}
}
}//package
Section 949
//TileDefs (TileDefs)
package {
import flash.display.*;
import flash.utils.*;
public final class TileDefs {
protected const tileDefsXML:Class;
public var tileDefs:Object;
private static var instance:TileDefs;
public function TileDefs():void{
tileDefsXML = TileDefs_tileDefsXML;
super();
readXML();
}
public function getTileDef(tileDefName:String):TileDef{
return (tileDefs[tileDefName]);
}
public function readXML():void{
var tileDefXML:XML;
var tileDef:TileDef;
tileDefs = new Object();
var file:ByteArray = new tileDefsXML();
var str:String = file.readUTFBytes(file.length);
var xml:XML = new XML(str);
for each (tileDefXML in xml.children()) {
tileDef = new TileDef();
tileDef.readXML(tileDefXML);
tileDefs[tileDef.name] = tileDef;
};
}
public static function getInstance():TileDefs{
if (instance == null){
instance = new (TileDefs);
};
return (instance);
}
}
}//package
Section 950
//TileDefs_tileDefsXML (TileDefs_tileDefsXML)
package {
import mx.core.*;
public class TileDefs_tileDefsXML extends ByteArrayAsset {
}
}//package
Section 951
//TileEngine (TileEngine)
package {
public class TileEngine {
public var levelWidth:Number;// = 0
public var gameWindow:GameWindow;
public var levelLeft:Number;// = 0
public var tileLayers:Array;// = null
public var levelTop:Number;// = 0
public var levelHeight:Number;// = 0
public function TileEngine(aGameWindow:GameWindow):void{
super();
gameWindow = aGameWindow;
tileLayers = new Array();
}
public function readXML(tileLayersXML:XML):void{
var tileLayerXML:XML;
var tileLayer:TileLayer;
for each (tileLayerXML in tileLayersXML.children()) {
tileLayer = new TileLayer(this);
tileLayer.readXML(tileLayerXML);
tileLayers.push(tileLayer);
};
}
public function setLevelDim(aLevelWidth:Number, aLevelHeight:Number, aLevelLeft:Number, aLevelTop:Number):void{
levelWidth = aLevelWidth;
levelHeight = aLevelHeight;
levelLeft = aLevelLeft;
levelTop = aLevelTop;
}
public function update():void{
}
public function draw(camera:Camera):void{
var i:int;
while (i < tileLayers.length) {
tileLayers[i].draw(camera);
i++;
};
}
}
}//package
Section 952
//TileLayer (TileLayer)
package {
public class TileLayer {
public var tileStartX:int;// = 0
public var tileStartY:int;// = 0
public var tilesHigh:int;// = 0
public var tiles:Array;// = null
public var tileEngine:TileEngine;// = null
public var tileHeight:int;// = 0
public var tileWidth:int;// = 0
public var tilesWide:int;// = 0
public function TileLayer(aTileEngine:TileEngine):void{
super();
tileEngine = aTileEngine;
}
public function readXML(tileLayerXML:XML):void{
var tileXML:XML;
if (tileLayerXML.attribute("tilestartx") != undefined){
tileStartX = tileLayerXML.attribute("tilestartx");
};
if (tileLayerXML.attribute("tilestarty") != undefined){
tileStartY = tileLayerXML.attribute("tilestarty");
};
tileStartX = Utilities.scaleDist(tileStartX);
tileStartY = Utilities.scaleDist(tileStartY);
if (tileLayerXML.attribute("tileswide") != undefined){
tilesWide = tileLayerXML.attribute("tileswide");
};
if (tileLayerXML.attribute("tileshigh") != undefined){
tilesHigh = tileLayerXML.attribute("tileshigh");
};
if (tileLayerXML.attribute("tilewidth") != undefined){
tileWidth = tileLayerXML.attribute("tilewidth");
tileWidth = Utilities.scaleDist(tileWidth);
};
if (tileLayerXML.attribute("tileheight") != undefined){
tileHeight = tileLayerXML.attribute("tileheight");
tileHeight = Utilities.scaleDist(tileHeight);
};
tiles = new Array();
var x:int;
var y:int;
x = 0;
while (x < tilesWide) {
tiles.push(new Array());
y = 0;
while (y < tilesHigh) {
tiles[x].push(null);
y++;
};
x++;
};
var tileIndex:int;
y = 0;
while (y < tilesHigh) {
x = 0;
while (x < tilesWide) {
tileXML = tileLayerXML.children()[tileIndex];
tiles[x][y] = new Tile();
tiles[x][y].readXML(tileXML);
tileIndex++;
x++;
};
y++;
};
}
public function update():void{
}
public function draw(camera:Camera):void{
var x:int;
var startX:int = ((camera.spriteLeft - tileStartX) / tileWidth);
var endX:int = ((camera.spriteRight - tileStartX) / tileWidth);
var startY:int = ((camera.spriteTop - tileStartY) / tileHeight);
var endY:int = ((camera.spriteBottom - tileStartY) / tileHeight);
if (startX < 0){
startX = 0;
};
if (endX >= tilesWide){
endX = (tilesWide - 1);
};
if (startY < 0){
startY = 0;
};
if (endY >= tilesHigh){
endY = (tilesHigh - 1);
};
var offsetX:Number = Utilities.roundToInt((tileStartX - camera.spriteLeft));
var offsetY:Number = Utilities.roundToInt((tileStartY - camera.spriteTop));
var y:int = startY;
while (y <= endY) {
x = startX;
while (x <= endX) {
tiles[x][y].draw(((x * tileWidth) + offsetX), ((y * tileHeight) + offsetY));
x++;
};
y++;
};
}
}
}//package
Section 953
//TimerDisplay (TimerDisplay)
package {
import flash.display.*;
import flash.text.*;
import flash.geom.*;
import org.flixel.*;
public class TimerDisplay {
public var image:DingoImage;// = null
public var visible:Boolean;// = true
public var label:TextField;
public var textBitmap:BitmapData;// = null
public static var IMAGE_WIDTH:int = 59;
public static var IMAGE_HEIGHT:int = 24;
public function TimerDisplay(aGameWindow:GameWindow):void{
super();
var format:TextFormat = new TextFormat();
format.font = "myarial";
format.color = 0xFFFFFF;
format.size = 12;
format.align = TextFormatAlign.CENTER;
label = new TextField();
label.embedFonts = true;
label.width = IMAGE_WIDTH;
label.height = IMAGE_HEIGHT;
label.autoSize = TextFieldAutoSize.CENTER;
label.antiAliasType = AntiAliasType.ADVANCED;
label.defaultTextFormat = format;
label.text = "";
image = ResourceManager.getInstance().getDingoImage("timerback");
textBitmap = new BitmapData(IMAGE_WIDTH, IMAGE_HEIGHT, true, 0);
}
public function update():void{
}
public function draw():void{
var x:int;
var y:int;
var sourceRect:Rectangle;
var destPoint:Point;
if (visible){
x = ((640 - (IMAGE_WIDTH / 2)) - 5);
y = (5 + (IMAGE_HEIGHT / 2));
image.blitAlphaRectFxCenter(1, x, y, 0, 1, 1);
if (textBitmap){
sourceRect = new Rectangle(0, 0, 102, 32);
destPoint = new Point((x - (IMAGE_WIDTH / 2)), ((y - (IMAGE_HEIGHT / 2)) + 3));
FlxG.buffer.copyPixels(textBitmap, sourceRect, destPoint, null, null, true);
};
};
}
public function setTimerVisible(aVisible:Boolean):void{
visible = aVisible;
}
public function setTimeCountUp(aTimeCountUp:Number):void{
label.text = Utilities.numberToTime(aTimeCountUp, false);
var matrix:Matrix = new Matrix();
matrix.tx = 0;
matrix.ty = 0;
textBitmap.fillRect(new Rectangle(0, 0, 102, 32), 0);
textBitmap.draw(label, matrix);
}
public function setTimeLeft(aTimeLeft:Number):void{
label.text = Utilities.numberToTime(aTimeLeft, true);
var matrix:Matrix = new Matrix();
matrix.tx = 0;
matrix.ty = 0;
textBitmap.fillRect(new Rectangle(0, 0, 102, 32), 0);
textBitmap.draw(label, matrix);
}
}
}//package
Section 954
//UnitConverter (UnitConverter)
package {
public final class UnitConverter {
public var abrGigaPC:String;// = "Gpc"
public var EPSILON_MULT:Number;// = 0.9995
public var abrKiloPC:String;// = "kpc"
public var M_IN_MICRO_M:Number;// = 1E-6
public var abrExaPC:String;// = "Epc"
public var M_IN_PICO_M:Number;// = 1E-12
public var M_IN_AU:Number;// = 149600000000
public var abrGigaM:String;// = "Gm"
public var abrKiloM:String;// = "km"
public var abrPC:String;// = "pc"
public var M_IN_MEGA_M:Number;// = 1000000
public var M_IN_KILO_PC:Number;// = 3.086E19
public var abrMegaM:String;// = "Mm"
public var abrTeraPC:String;// = "Tpc"
public var abrKiloAU:String;// = "kau"
public var abrNanoM:String;// = "nm"
public var M_IN_CENTI_M:Number;// = 0.01
public var M_IN_PETA_PC:Number;// = 3.086E31
public var M_IN_EXA_PC:Number;// = 3.086E34
public var abrMegaPC:String;// = "Mpc"
public var M_IN_TERA_PC:Number;// = 3.086E28
public var M_IN_MILLI_M:Number;// = 0.001
public var abrMicroM:String;// = "um"
public var M_IN_PC:Number;// = 3.086E16
public var M_IN_KILO_M:Number;// = 1000
public var M_IN_M:Number;// = 1
public var abrPicoM:String;// = "pm"
public var M_IN_NANO_M:Number;// = 1E-9
public var abrPetaPC:String;// = "Ppc"
public var M_IN_GIGA_PC:Number;// = 3.086E25
public var abrMilliM:String;// = "mm"
public var M_IN_GIGA_M:Number;// = 1000000000
public var abrAU:String;// = "au"
public var M_IN_KILO_AU:Number;// = 149600000000000
public var abrM:String;// = "m"
public var abrCentiM:String;// = "cm"
public var M_IN_MEGA_PC:Number;// = 3.086E22
private static var instance:UnitConverter;
public function UnitConverter():void{
super();
}
public function metersUnitDisplay(meterDistance:Number, conversion:Number, unitName:String):String{
var i:int;
var c:String;
var mantissa:Number = (meterDistance / conversion);
var mantissaS:String = mantissa.toPrecision(3);
var decimalIndex:int = mantissaS.indexOf(".");
if (decimalIndex != -1){
i = (mantissaS.length - 1);
while (i >= 0) {
c = mantissaS.charAt(i);
if (c == "."){
mantissaS = mantissaS.substring(0, i);
break;
} else {
if (c != "0"){
mantissaS = mantissaS.substring(0, (i + 1));
break;
};
};
i--;
};
};
return ((mantissaS + unitName));
}
public function metersToDisplay(meterDistance:Number):String{
if (meterDistance >= (M_IN_EXA_PC * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_EXA_PC, abrExaPC));
};
if (meterDistance >= (M_IN_PETA_PC * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_PETA_PC, abrPetaPC));
};
if (meterDistance >= (M_IN_TERA_PC * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_TERA_PC, abrTeraPC));
};
if (meterDistance >= (M_IN_GIGA_PC * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_GIGA_PC, abrGigaPC));
};
if (meterDistance >= (M_IN_MEGA_PC * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_MEGA_PC, abrMegaPC));
};
if (meterDistance >= (M_IN_KILO_PC * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_KILO_PC, abrKiloPC));
};
if (meterDistance >= (M_IN_PC * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_PC, abrPC));
};
if (meterDistance >= (M_IN_KILO_AU * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_KILO_AU, abrKiloAU));
};
if (meterDistance >= (M_IN_AU * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_AU, abrAU));
};
if (meterDistance >= (M_IN_GIGA_M * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_GIGA_M, abrGigaM));
};
if (meterDistance >= (M_IN_MEGA_M * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_MEGA_M, abrMegaM));
};
if (meterDistance >= (M_IN_KILO_M * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_KILO_M, abrKiloM));
};
if (meterDistance >= (M_IN_M * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_M, abrM));
};
if (meterDistance >= (M_IN_CENTI_M * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_CENTI_M, abrCentiM));
};
if (meterDistance >= (M_IN_MILLI_M * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_MILLI_M, abrMilliM));
};
if (meterDistance >= (M_IN_MICRO_M * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_MICRO_M, abrMicroM));
};
if (meterDistance >= (M_IN_NANO_M * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_NANO_M, abrNanoM));
};
if (meterDistance >= (M_IN_PICO_M * EPSILON_MULT)){
return (metersUnitDisplay(meterDistance, M_IN_PICO_M, abrPicoM));
};
return ("0");
}
public static function getInstance():UnitConverter{
if (instance == null){
instance = new (UnitConverter);
};
return (instance);
}
}
}//package
Section 955
//Utilities (Utilities)
package {
import flash.geom.*;
public class Utilities {
public static var tempV:Number;
public static var tempR:Number;
public static var hardModeOn:Boolean = false;
public static var soundOn:Boolean = true;
public static var musicOn:Boolean = true;
public static var tempB:Number;
public static var tempG:Number;
public static var tempH:Number;
public static var RAD_DEG_CONVERT:Number = 57.29577951;
public static var tempS:Number;
public function Utilities(){
super();
}
public static function randomDouble(min:Number, max:Number):Number{
return (((Math.random() * (max - min)) + min));
}
public static function roundDownToInt(inputValue:Number):int{
return (Math.floor(inputValue));
}
public static function roundToInt(inputValue:Number):int{
return (int(Math.round(inputValue)));
}
public static function normalizeVolume(volume:Number):Number{
return (volume);
}
public static function sinDeg(deg:Number):Number{
return (Math.sin(degToRad(deg)));
}
public static function scaleArea(value:Number):Number{
return (((value * 0.75) * 0.75));
}
public static function scaleDist(value:Number):Number{
return ((value * 0.75));
}
public static function numberToTime(input:Number, countDown:Boolean):String{
var timeInSeconds:int;
if (countDown){
timeInSeconds = roundUpToInt(input);
} else {
timeInSeconds = int(input);
};
return (intToTime(timeInSeconds));
}
public static function boundR(accel:Point, minLength:Number, maxLength:Number):void{
if (accel.length < minLength){
accel.normalize(minLength);
} else {
if (accel.length > maxLength){
accel.normalize(maxLength);
};
};
if (accel.length < (minLength - 1)){
accel.x = minLength;
};
}
public static function cosDeg(deg:Number):Number{
return (Math.cos(degToRad(deg)));
}
public static function convertToSoundVolume(volume:Number):Number{
var modSoundVolume:Number = 0.85;
if (soundOn){
return ((volume * modSoundVolume));
};
return (0);
}
public static function changeToSignOf(value:Number, sign:Number):Number{
if (sign > 0){
return (Math.abs(value));
};
return (-(Math.abs(value)));
}
public static function RGBToHSV(r:Number, g:Number, b:Number):void{
var del_R:Number;
var del_G:Number;
var del_B:Number;
var var_Min:Number = Math.min(r, g, b);
var var_Max:Number = Math.max(r, g, b);
var del_Max:Number = (var_Max - var_Min);
tempV = var_Max;
var EPSILON:Number = 0.001;
if (Math.abs(del_Max) < EPSILON){
tempH = 0;
tempS = 0;
} else {
tempS = (del_Max / var_Max);
del_R = ((((var_Max - r) / 6) + (del_Max / 2)) / del_Max);
del_G = ((((var_Max - g) / 6) + (del_Max / 2)) / del_Max);
del_B = ((((var_Max - b) / 6) + (del_Max / 2)) / del_Max);
if (Math.abs((r - var_Max)) < EPSILON){
tempH = (del_B - del_G);
} else {
if (Math.abs((g - var_Max)) < EPSILON){
tempH = (((1 / 3) + del_R) - del_B);
} else {
if (Math.abs((b - var_Max)) < EPSILON){
tempH = (((2 / 3) + del_G) - del_R);
};
};
};
if (tempH < 0){
tempH = (tempH + 1);
};
if (tempH > 1){
tempH = (tempH - 1);
};
};
}
public static function angleOfPoint(point:Point):Number{
return (radToDeg(Math.atan2(-(point.y), point.x)));
}
public static function getClampInt(x:int, min:int, max:int):int{
if (x < min){
return (min);
};
if (x > max){
return (max);
};
return (x);
}
public static function roundUpToInt(inputValue:Number):int{
return (Math.ceil(inputValue));
}
public static function randomInt(min:int, maxExcl:int):int{
return ((int(Math.floor((Math.random() * (maxExcl - min)))) + min));
}
public static function convertToMusicVolume(volume:Number):Number{
if (musicOn){
return (volume);
};
return (0);
}
public static function degToRad(deg:Number):Number{
return ((deg / RAD_DEG_CONVERT));
}
public static function getClampDouble(x:Number, min:Number, max:Number):Number{
if (x < min){
return (min);
};
if (x > max){
return (max);
};
return (x);
}
public static function intToTime(inputInt:int):String{
var SECONDS_IN_MINUTE = 60;
var minutes:int = (inputInt / SECONDS_IN_MINUTE);
var seconds:int = (inputInt - (minutes * SECONDS_IN_MINUTE));
var minuteString:String = intToString(minutes);
var secondString:String = "";
if (seconds <= 0){
secondString = "00";
} else {
if (seconds < 10){
secondString = ("0" + intToString(seconds));
} else {
secondString = intToString(seconds);
};
};
return (((minuteString + ":") + secondString));
}
public static function angleIsBetweenAngles(destAngle:Number, srcAngle:Number, srcVariation:Number):Boolean{
var angleDiff:Number = angleDifference(srcAngle, destAngle);
if (Math.abs(angleDiff) < srcVariation){
return (true);
};
return (false);
}
public static function randomAngle(direction:Number, degreeVariation:Number):Number{
var num:Number = randomDouble((direction - degreeVariation), (direction + degreeVariation));
num = set0To360(num);
return (num);
}
public static function randomDouble0to1():Number{
return (Math.random());
}
public static function scaleDistRound(value:Number):Number{
return (_slot1.roundToInt(scaleDist(value)));
}
public static function set0To360(x:Number):Number{
return ((x - (360 * Math.floor((x / 360)))));
}
public static function randomBoolean():Boolean{
return ((Math.random() >= 0.5));
}
public static function HSVToRGB(h:Number, s:Number, v:Number):void{
var var_h:Number;
var var_i:Number;
var var_1:Number;
var var_2:Number;
var var_3:Number;
var EPSILON:Number = 0.001;
if (Math.abs(s) < EPSILON){
tempR = v;
tempG = v;
tempB = v;
} else {
var_h = (h * 6);
if (Math.abs((var_h - 6)) < EPSILON){
var_h = 0;
};
var_i = Number(int(var_h));
var_1 = (v * (1 - s));
var_2 = (v * (1 - (s * (var_h - var_i))));
var_3 = (v * (1 - (s * (1 - (var_h - var_i)))));
if (Math.abs(var_i) < EPSILON){
tempR = v;
tempG = var_3;
tempB = var_1;
} else {
if (Math.abs((var_i - 1)) < EPSILON){
tempR = var_2;
tempG = v;
tempB = var_1;
} else {
if (Math.abs((var_i - 2)) < EPSILON){
tempR = var_1;
tempG = v;
tempB = var_3;
} else {
if (Math.abs((var_i - 3)) < EPSILON){
tempR = var_1;
tempG = var_2;
tempB = v;
} else {
if (Math.abs((var_i - 4)) < EPSILON){
tempR = var_3;
tempG = var_1;
tempB = v;
} else {
tempR = v;
tempG = var_1;
tempB = var_2;
};
};
};
};
};
};
}
public static function angleDifference(x:Number, y:Number):Number{
x = (x - y);
if (x > 180){
x = (x - 360);
};
if (x < -180){
x = (x + 360);
};
return (x);
}
public static function radToDeg(rad:Number):Number{
return ((rad * RAD_DEG_CONVERT));
}
public static function XMLListToBoolean(inputValue:XMLList):Boolean{
if (inputValue.length() >= 1){
return ((inputValue.toString().toLowerCase() == "true"));
};
return (false);
}
public static function RGBToBrightness(r:Number, g:Number, b:Number):Number{
return ((((r * 0.3) + (g * 0.59)) + (b * 0.11)));
}
public static function intToString(inputValue:Number):String{
return (inputValue.toString());
}
}
}//package