Section 1
//Rippler (be.nascom.flash.graphics.Rippler)
package be.nascom.flash.graphics {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
public class Rippler {
private var _colourTransform:ColorTransform;
private var _origin:Point;
private var _source:DisplayObject;
private var _defData:BitmapData;
private var _expandFilter:ConvolutionFilter;
private var _filter:DisplacementMapFilter;
private var _drawRect:Rectangle;
private var _scaleInv:Number;
private var _matrix:Matrix;
private var _buffer1:BitmapData;
private var _buffer2:BitmapData;
private var _fullRect:Rectangle;
public function Rippler(_arg1:DisplayObject, _arg2:Number, _arg3:Number=2){
var _local4:Number;
var _local5:Number;
_origin = new Point();
super();
_source = _arg1;
_scaleInv = (1 / _arg3);
_buffer1 = new BitmapData((_arg1.width * _scaleInv), (_arg1.height * _scaleInv), false, 0);
_buffer2 = new BitmapData(_buffer1.width, _buffer1.height, false, 0);
_defData = new BitmapData(_arg1.width, _arg1.height);
_local4 = (_defData.width / _buffer1.width);
_local5 = (_defData.height / _buffer1.height);
_fullRect = new Rectangle(0, 0, _buffer1.width, _buffer1.height);
_drawRect = new Rectangle();
_filter = new DisplacementMapFilter(_buffer1, _origin, BitmapDataChannel.BLUE, BitmapDataChannel.BLUE, _arg2, _arg2, "wrap");
_source.filters = [_filter];
_source.addEventListener(Event.ENTER_FRAME, handleEnterFrame);
_expandFilter = new ConvolutionFilter(3, 3, [0.5, 1, 0.5, 1, 0, 1, 0.5, 1, 0.5], 3);
_colourTransform = new ColorTransform(1, 1, 1, 1, 127, 127, 127);
_matrix = new Matrix(_local4, 0, 0, _local5);
}
public function destroy():void{
_source.removeEventListener(Event.ENTER_FRAME, handleEnterFrame);
_buffer1.dispose();
_buffer2.dispose();
_defData.dispose();
}
public function drawRipple(_arg1:int, _arg2:int, _arg3:int, _arg4:Number):void{
var _local5 = (_arg3 >> 1);
var _local6:int = (((_arg4 * 0xFF) & 0xFF) * _arg4);
_drawRect.x = ((-(_local5) + _arg1) * _scaleInv);
_drawRect.y = ((-(_local5) + _arg2) * _scaleInv);
_drawRect.width = (_drawRect.height = (_arg3 * _scaleInv));
_buffer1.fillRect(_drawRect, _local6);
}
public function getRippleImage():BitmapData{
return (_defData);
}
private function switchBuffers():void{
var _local1:BitmapData;
_local1 = _buffer1;
_buffer1 = _buffer2;
_buffer2 = _local1;
}
private function handleEnterFrame(_arg1:Event):void{
var _local2:BitmapData = _buffer2.clone();
_buffer2.applyFilter(_buffer1, _fullRect, _origin, _expandFilter);
_buffer2.draw(_local2, null, null, BlendMode.SUBTRACT, null, false);
_defData.draw(_buffer2, _matrix, _colourTransform, null, null, true);
_filter.mapBitmap = _defData;
_source.filters = [_filter];
_local2.dispose();
switchBuffers();
}
}
}//package be.nascom.flash.graphics
Section 2
//AuxFunctions (caurina.transitions.AuxFunctions)
package caurina.transitions {
public class AuxFunctions {
public static function getObjectLength(_arg1:Object):uint{
var _local3:String;
var _local2:uint;
for (_local3 in _arg1) {
_local2++;
};
return (_local2);
}
public static function numberToG(_arg1:Number):Number{
return (((_arg1 & 0xFF00) >> 8));
}
public static function numberToB(_arg1:Number):Number{
return ((_arg1 & 0xFF));
}
public static function numberToR(_arg1:Number):Number{
return (((_arg1 & 0xFF0000) >> 16));
}
public static function concatObjects(... _args):Object{
var _local3:Object;
var _local5:String;
var _local2:Object = {};
var _local4:int;
while (_local4 < _args.length) {
_local3 = _args[_local4];
for (_local5 in _local3) {
if (_local3[_local5] == null){
delete _local2[_local5];
} else {
_local2[_local5] = _local3[_local5];
};
};
_local4++;
};
return (_local2);
}
}
}//package caurina.transitions
Section 3
//Equations (caurina.transitions.Equations)
package caurina.transitions {
public class Equations {
public function Equations(){
trace("Equations is a static class and should not be instantiated.");
}
public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
if (_arg1 < (1 / 2.75)){
return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2));
};
if (_arg1 < (2 / 2.75)){
_arg1 = (_arg1 - (1.5 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2));
};
if (_arg1 < (2.5 / 2.75)){
_arg1 = (_arg1 - (2.25 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2));
};
_arg1 = (_arg1 - (2.625 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2));
}
public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period;
var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
if (_arg1 < 1){
--_arg1;
return (((-0.5 * ((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2));
};
--_arg1;
return ((((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2));
}
public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2));
};
--_arg1;
return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2));
}
public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2));
};
return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2));
}
public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
_local6 = (_local6 * 1.525);
return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_local6 + 1) * _arg1) - _local6))) + _arg2));
};
_arg1 = (_arg1 - 2);
_local6 = (_local6 * 1.525);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 2)) + _arg2));
}
public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 1)) + _arg2));
}
public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2));
}
public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2));
}
public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function init():void{
Tweener.registerTransition("easenone", easeNone);
Tweener.registerTransition("linear", easeNone);
Tweener.registerTransition("easeinquad", easeInQuad);
Tweener.registerTransition("easeoutquad", easeOutQuad);
Tweener.registerTransition("easeinoutquad", easeInOutQuad);
Tweener.registerTransition("easeoutinquad", easeOutInQuad);
Tweener.registerTransition("easeincubic", easeInCubic);
Tweener.registerTransition("easeoutcubic", easeOutCubic);
Tweener.registerTransition("easeinoutcubic", easeInOutCubic);
Tweener.registerTransition("easeoutincubic", easeOutInCubic);
Tweener.registerTransition("easeinquart", easeInQuart);
Tweener.registerTransition("easeoutquart", easeOutQuart);
Tweener.registerTransition("easeinoutquart", easeInOutQuart);
Tweener.registerTransition("easeoutinquart", easeOutInQuart);
Tweener.registerTransition("easeinquint", easeInQuint);
Tweener.registerTransition("easeoutquint", easeOutQuint);
Tweener.registerTransition("easeinoutquint", easeInOutQuint);
Tweener.registerTransition("easeoutinquint", easeOutInQuint);
Tweener.registerTransition("easeinsine", easeInSine);
Tweener.registerTransition("easeoutsine", easeOutSine);
Tweener.registerTransition("easeinoutsine", easeInOutSine);
Tweener.registerTransition("easeoutinsine", easeOutInSine);
Tweener.registerTransition("easeincirc", easeInCirc);
Tweener.registerTransition("easeoutcirc", easeOutCirc);
Tweener.registerTransition("easeinoutcirc", easeInOutCirc);
Tweener.registerTransition("easeoutincirc", easeOutInCirc);
Tweener.registerTransition("easeinexpo", easeInExpo);
Tweener.registerTransition("easeoutexpo", easeOutExpo);
Tweener.registerTransition("easeinoutexpo", easeInOutExpo);
Tweener.registerTransition("easeoutinexpo", easeOutInExpo);
Tweener.registerTransition("easeinelastic", easeInElastic);
Tweener.registerTransition("easeoutelastic", easeOutElastic);
Tweener.registerTransition("easeinoutelastic", easeInOutElastic);
Tweener.registerTransition("easeoutinelastic", easeOutInElastic);
Tweener.registerTransition("easeinback", easeInBack);
Tweener.registerTransition("easeoutback", easeOutBack);
Tweener.registerTransition("easeinoutback", easeInOutBack);
Tweener.registerTransition("easeoutinback", easeOutInBack);
Tweener.registerTransition("easeinbounce", easeInBounce);
Tweener.registerTransition("easeoutbounce", easeOutBounce);
Tweener.registerTransition("easeinoutbounce", easeInOutBounce);
Tweener.registerTransition("easeoutinbounce", easeOutInBounce);
}
public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2));
}
public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001)));
}
public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2));
}
public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _arg2));
}
public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2));
}
public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2));
}
public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2));
}
public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2));
}
public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
--_arg1;
return ((-(((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2));
}
public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2));
}
public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
}
public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 == 0){
return (_arg2);
};
if (_arg1 == _arg4){
return ((_arg2 + _arg3));
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005)));
};
--_arg1;
return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2));
}
public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
return (((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2));
}
public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2));
}
public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
}
}//package caurina.transitions
Section 4
//PropertyInfoObj (caurina.transitions.PropertyInfoObj)
package caurina.transitions {
public class PropertyInfoObj {
public var modifierParameters:Array;
public var isSpecialProperty:Boolean;
public var valueComplete:Number;
public var modifierFunction:Function;
public var extra:Object;
public var valueStart:Number;
public var hasModifier:Boolean;
public var arrayIndex:Number;
public var originalValueComplete:Object;
public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Object, _arg4:Number, _arg5:Object, _arg6:Boolean, _arg7:Function, _arg8:Array){
valueStart = _arg1;
valueComplete = _arg2;
originalValueComplete = _arg3;
arrayIndex = _arg4;
extra = _arg5;
isSpecialProperty = _arg6;
hasModifier = Boolean(_arg7);
modifierFunction = _arg7;
modifierParameters = _arg8;
}
public function toString():String{
var _local1 = "\n[PropertyInfoObj ";
_local1 = (_local1 + ("valueStart:" + String(valueStart)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("valueComplete:" + String(valueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("originalValueComplete:" + String(originalValueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("arrayIndex:" + String(arrayIndex)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("extra:" + String(extra)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("isSpecialProperty:" + String(isSpecialProperty)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("hasModifier:" + String(hasModifier)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierFunction:" + String(modifierFunction)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierParameters:" + String(modifierParameters)));
_local1 = (_local1 + "]\n");
return (_local1);
}
public function clone():PropertyInfoObj{
var _local1:PropertyInfoObj = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters);
return (_local1);
}
}
}//package caurina.transitions
Section 5
//SpecialProperty (caurina.transitions.SpecialProperty)
package caurina.transitions {
public class SpecialProperty {
public var parameters:Array;
public var getValue:Function;
public var preProcess:Function;
public var setValue:Function;
public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null, _arg4:Function=null){
getValue = _arg1;
setValue = _arg2;
parameters = _arg3;
preProcess = _arg4;
}
public function toString():String{
var _local1 = "";
_local1 = (_local1 + "[SpecialProperty ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("setValue:" + String(setValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("preProcess:" + String(preProcess)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 6
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier)
package caurina.transitions {
public class SpecialPropertyModifier {
public var getValue:Function;
public var modifyValues:Function;
public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){
modifyValues = _arg1;
getValue = _arg2;
}
public function toString():String{
var _local1 = "";
_local1 = (_local1 + "[SpecialPropertyModifier ");
_local1 = (_local1 + ("modifyValues:" + String(modifyValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 7
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter)
package caurina.transitions {
public class SpecialPropertySplitter {
public var parameters:Array;
public var splitValues:Function;
public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){
splitValues = _arg1;
parameters = _arg2;
}
public function toString():String{
var _local1 = "";
_local1 = (_local1 + "[SpecialPropertySplitter ");
_local1 = (_local1 + ("splitValues:" + String(splitValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 8
//Tweener (caurina.transitions.Tweener)
package caurina.transitions {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Tweener {
private static var _timeScale:Number = 1;
private static var _currentTimeFrame:Number;
private static var _specialPropertySplitterList:Object;
private static var _engineExists:Boolean = false;
private static var _specialPropertyModifierList:Object;
private static var _currentTime:Number;
private static var _tweenList:Array;
private static var _specialPropertyList:Object;
private static var _transitionList:Object;
private static var _inited:Boolean = false;
private static var __tweener_controller__:MovieClip;
public function Tweener(){
trace("Tweener is a static class and should not be instantiated.");
}
public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{
if (!_inited){
init();
};
var _local4:SpecialPropertyModifier = new SpecialPropertyModifier(_arg2, _arg3);
_specialPropertyModifierList[_arg1] = _local4;
}
public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{
if (!_inited){
init();
};
var _local6:SpecialProperty = new SpecialProperty(_arg2, _arg3, _arg4, _arg5);
_specialPropertyList[_arg1] = _local6;
}
public static function init(... _args):void{
_inited = true;
_transitionList = new Object();
Equations.init();
_specialPropertyList = new Object();
_specialPropertyModifierList = new Object();
_specialPropertySplitterList = new Object();
}
private static function updateTweens():Boolean{
var _local1:int;
if (_tweenList.length == 0){
return (false);
};
_local1 = 0;
while (_local1 < _tweenList.length) {
if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){
if (!updateTweenByIndex(_local1)){
removeTweenByIndex(_local1);
};
if (_tweenList[_local1] == null){
removeTweenByIndex(_local1, true);
_local1--;
};
};
_local1++;
};
return (true);
}
public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Array;
var _local8:Function;
var _local9:TweenListObj;
var _local10:Number;
var _local11:String;
if (!Boolean(_arg1)){
return (false);
};
if ((_arg1 is Array)){
_local4 = _arg1.concat();
} else {
_local4 = [_arg1];
};
var _local5:Object = _arg2;
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
var _local6:Number = (isNaN(_local5.time)) ? 0 : _local5.time;
var _local7:Number = (isNaN(_local5.delay)) ? 0 : _local5.delay;
if (typeof(_local5.transition) == "string"){
_local11 = _local5.transition.toLowerCase();
_local8 = _transitionList[_local11];
} else {
_local8 = _local5.transition;
};
if (!Boolean(_local8)){
_local8 = _transitionList["easeoutexpo"];
};
_local3 = 0;
while (_local3 < _local4.length) {
if (_local5.useFrames == true){
_local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams);
} else {
_local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams);
};
_local9.properties = null;
_local9.onStart = _local5.onStart;
_local9.onUpdate = _local5.onUpdate;
_local9.onComplete = _local5.onComplete;
_local9.onOverwrite = _local5.onOverwrite;
_local9.onStartParams = _local5.onStartParams;
_local9.onUpdateParams = _local5.onUpdateParams;
_local9.onCompleteParams = _local5.onCompleteParams;
_local9.onOverwriteParams = _local5.onOverwriteParams;
_local9.onStartScope = _local5.onStartScope;
_local9.onUpdateScope = _local5.onUpdateScope;
_local9.onCompleteScope = _local5.onCompleteScope;
_local9.onOverwriteScope = _local5.onOverwriteScope;
_local9.onErrorScope = _local5.onErrorScope;
_local9.isCaller = true;
_local9.count = _local5.count;
_local9.waitFrames = _local5.waitFrames;
_tweenList.push(_local9);
if ((((_local6 == 0)) && ((_local7 == 0)))){
_local10 = (_tweenList.length - 1);
updateTweenByIndex(_local10);
removeTweenByIndex(_local10);
};
_local3++;
};
return (true);
}
public static function pauseAllTweens():Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
var _local1:Boolean;
_local2 = 0;
while (_local2 < _tweenList.length) {
pauseTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function removeTweens(_arg1:Object, ... _args):Boolean{
var _local4:uint;
var _local5:SpecialPropertySplitter;
var _local6:Array;
var _local7:uint;
var _local3:Array = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
if (_specialPropertySplitterList[_args[_local4]]){
_local5 = _specialPropertySplitterList[_args[_local4]];
_local6 = _local5.splitValues(_arg1, null);
_local7 = 0;
while (_local7 < _local6.length) {
_local3.push(_local6[_local7].name);
_local7++;
};
} else {
_local3.push(_args[_local4]);
};
};
_local4++;
};
return (affectTweens(removeTweenByIndex, _arg1, _local3));
}
public static function splitTweens(_arg1:Number, _arg2:Array):uint{
var _local5:uint;
var _local6:String;
var _local7:Boolean;
var _local3:TweenListObj = _tweenList[_arg1];
var _local4:TweenListObj = _local3.clone(false);
_local5 = 0;
while (_local5 < _arg2.length) {
_local6 = _arg2[_local5];
if (Boolean(_local3.properties[_local6])){
_local3.properties[_local6] = undefined;
delete _local3.properties[_local6];
};
_local5++;
};
for (_local6 in _local4.properties) {
_local7 = false;
_local5 = 0;
while (_local5 < _arg2.length) {
if (_arg2[_local5] == _local6){
_local7 = true;
break;
};
_local5++;
};
if (!_local7){
_local4.properties[_local6] = undefined;
delete _local4.properties[_local6];
};
};
_tweenList.push(_local4);
return ((_tweenList.length - 1));
}
public static function updateFrame():void{
_currentTimeFrame++;
}
public static function resumeTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj = _tweenList[_arg1];
if ((((_local2 == null)) || (!(_local2.isPaused)))){
return (false);
};
var _local3:Number = getCurrentTweeningTime(_local2);
_local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused));
_local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused));
_local2.timePaused = undefined;
_local2.isPaused = false;
return (true);
}
public static function getVersion():String{
return ("AS3 1.31.74");
}
public static function onEnterFrame(_arg1:Event):void{
updateTime();
updateFrame();
var _local2:Boolean;
_local2 = updateTweens();
if (!_local2){
stopEngine();
};
}
public static function updateTime():void{
_currentTime = getTimer();
}
private static function updateTweenByIndex(_arg1:Number):Boolean{
var tTweening:TweenListObj;
var mustUpdate:Boolean;
var nv:Number;
var t:Number;
var b:Number;
var c:Number;
var d:Number;
var pName:String;
var eventScope:Object;
var tScope:Object;
var tProperty:Object;
var pv:Number;
var i = _arg1;
tTweening = _tweenList[i];
if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){
return (false);
};
var isOver:Boolean;
var cTime:Number = getCurrentTweeningTime(tTweening);
if (cTime >= tTweening.timeStart){
tScope = tTweening.scope;
if (tTweening.isCaller){
do {
t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1));
b = tTweening.timeStart;
c = (tTweening.timeComplete - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d);
} while (!(cTime >= nv));
} else {
mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates)));
if (cTime >= tTweening.timeComplete){
isOver = true;
mustUpdate = true;
};
if (!tTweening.hasStarted){
if (Boolean(tTweening.onStart)){
eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope;
try {
tTweening.onStart.apply(eventScope, tTweening.onStartParams);
} catch(e2:Error) {
handleError(tTweening, e2, "onStart");
};
};
for (pName in tTweening.properties) {
if (tTweening.properties[pName].isSpecialProperty){
if (Boolean(_specialPropertyList[pName].preProcess)){
tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra);
};
pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
pv = tScope[pName];
};
tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv;
};
mustUpdate = true;
tTweening.hasStarted = true;
};
if (mustUpdate){
for (pName in tTweening.properties) {
tProperty = tTweening.properties[pName];
if (isOver){
nv = tProperty.valueComplete;
} else {
if (tProperty.hasModifier){
t = (cTime - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams);
nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters);
} else {
t = (cTime - tTweening.timeStart);
b = tProperty.valueStart;
c = (tProperty.valueComplete - tProperty.valueStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d, tTweening.transitionParams);
};
};
if (tTweening.rounded){
nv = Math.round(nv);
};
if (tProperty.isSpecialProperty){
_specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
tScope[pName] = nv;
};
};
tTweening.updatesSkipped = 0;
if (Boolean(tTweening.onUpdate)){
eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope;
try {
tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams);
} catch(e3:Error) {
handleError(tTweening, e3, "onUpdate");
};
};
} else {
tTweening.updatesSkipped++;
};
};
if (((isOver) && (Boolean(tTweening.onComplete)))){
eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope;
try {
tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams);
} catch(e4:Error) {
handleError(tTweening, e4, "onComplete");
};
};
return (!(isOver));
};
return (true);
}
public static function setTimeScale(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
if (isNaN(_arg1)){
_arg1 = 1;
};
if (_arg1 < 1E-5){
_arg1 = 1E-5;
};
if (_arg1 != _timeScale){
if (_tweenList != null){
_local2 = 0;
while (_local2 < _tweenList.length) {
_local3 = getCurrentTweeningTime(_tweenList[_local2]);
_tweenList[_local2].timeStart = (_local3 - (((_local3 - _tweenList[_local2].timeStart) * _timeScale) / _arg1));
_tweenList[_local2].timeComplete = (_local3 - (((_local3 - _tweenList[_local2].timeComplete) * _timeScale) / _arg1));
if (_tweenList[_local2].timePaused != undefined){
_tweenList[_local2].timePaused = (_local3 - (((_local3 - _tweenList[_local2].timePaused) * _timeScale) / _arg1));
};
_local2++;
};
};
_timeScale = _arg1;
};
}
public static function resumeAllTweens():Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
var _local1:Boolean;
_local2 = 0;
while (_local2 < _tweenList.length) {
resumeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{
var eventScope:Object;
var pTweening = _arg1;
var pError = _arg2;
var pCallBackName = _arg3;
if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){
eventScope = (Boolean(pTweening.onErrorScope)) ? pTweening.onErrorScope : pTweening.scope;
try {
pTweening.onError.apply(eventScope, [pTweening.scope, pError]);
} catch(metaError:Error) {
printError(((((String(pTweening.scope) + " raised an error while executing the 'onError' handler. Original error:\n ") + pError.getStackTrace()) + "\nonError error: ") + metaError.getStackTrace()));
};
} else {
if (!Boolean(pTweening.onError)){
printError(((((String(pTweening.scope) + " raised an error while executing the '") + pCallBackName) + "'handler. \n") + pError.getStackTrace()));
};
};
}
private static function startEngine():void{
_engineExists = true;
_tweenList = new Array();
__tweener_controller__ = new MovieClip();
__tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
_currentTimeFrame = 0;
updateTime();
}
public static function removeAllTweens():Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
var _local1:Boolean;
_local2 = 0;
while (_local2 < _tweenList.length) {
removeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Number;
var _local5:String;
var _local6:Array;
var _local13:Function;
var _local14:Object;
var _local15:TweenListObj;
var _local16:Number;
var _local17:Array;
var _local18:Array;
var _local19:Array;
var _local20:String;
if (!Boolean(_arg1)){
return (false);
};
if ((_arg1 is Array)){
_local6 = _arg1.concat();
} else {
_local6 = [_arg1];
};
var _local7:Object = TweenListObj.makePropertiesChain(_arg2);
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
var _local8:Number = (isNaN(_local7.time)) ? 0 : _local7.time;
var _local9:Number = (isNaN(_local7.delay)) ? 0 : _local7.delay;
var _local10:Array = new Array();
var _local11:Object = {time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true};
var _local12:Object = new Object();
for (_local5 in _local7) {
if (!_local11[_local5]){
if (_specialPropertySplitterList[_local5]){
_local17 = _specialPropertySplitterList[_local5].splitValues(_local7[_local5], _specialPropertySplitterList[_local5].parameters);
_local3 = 0;
while (_local3 < _local17.length) {
if (_specialPropertySplitterList[_local17[_local3].name]){
_local18 = _specialPropertySplitterList[_local17[_local3].name].splitValues(_local17[_local3].value, _specialPropertySplitterList[_local17[_local3].name].parameters);
_local4 = 0;
while (_local4 < _local18.length) {
_local10[_local18[_local4].name] = {valueStart:undefined, valueComplete:_local18[_local4].value, arrayIndex:_local18[_local4].arrayIndex, isSpecialProperty:false};
_local4++;
};
} else {
_local10[_local17[_local3].name] = {valueStart:undefined, valueComplete:_local17[_local3].value, arrayIndex:_local17[_local3].arrayIndex, isSpecialProperty:false};
};
_local3++;
};
} else {
if (_specialPropertyModifierList[_local5] != undefined){
_local19 = _specialPropertyModifierList[_local5].modifyValues(_local7[_local5]);
_local3 = 0;
while (_local3 < _local19.length) {
_local12[_local19[_local3].name] = {modifierParameters:_local19[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local5].getValue};
_local3++;
};
} else {
_local10[_local5] = {valueStart:undefined, valueComplete:_local7[_local5]};
};
};
};
};
for (_local5 in _local10) {
if (_specialPropertyList[_local5] != undefined){
_local10[_local5].isSpecialProperty = true;
} else {
if (_local6[0][_local5] == undefined){
printError((((("The property '" + _local5) + "' doesn't seem to be a normal object property of ") + String(_local6[0])) + " or a registered special property."));
};
};
};
for (_local5 in _local12) {
if (_local10[_local5] != undefined){
_local10[_local5].modifierParameters = _local12[_local5].modifierParameters;
_local10[_local5].modifierFunction = _local12[_local5].modifierFunction;
};
};
if (typeof(_local7.transition) == "string"){
_local20 = _local7.transition.toLowerCase();
_local13 = _transitionList[_local20];
} else {
_local13 = _local7.transition;
};
if (!Boolean(_local13)){
_local13 = _transitionList["easeoutexpo"];
};
_local3 = 0;
while (_local3 < _local6.length) {
_local14 = new Object();
for (_local5 in _local10) {
_local14[_local5] = new PropertyInfoObj(_local10[_local5].valueStart, _local10[_local5].valueComplete, _local10[_local5].valueComplete, _local10[_local5].arrayIndex, {}, _local10[_local5].isSpecialProperty, _local10[_local5].modifierFunction, _local10[_local5].modifierParameters);
};
if (_local7.useFrames == true){
_local15 = new TweenListObj(_local6[_local3], (_currentTimeFrame + (_local9 / _timeScale)), (_currentTimeFrame + ((_local9 + _local8) / _timeScale)), true, _local13, _local7.transitionParams);
} else {
_local15 = new TweenListObj(_local6[_local3], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), false, _local13, _local7.transitionParams);
};
_local15.properties = _local14;
_local15.onStart = _local7.onStart;
_local15.onUpdate = _local7.onUpdate;
_local15.onComplete = _local7.onComplete;
_local15.onOverwrite = _local7.onOverwrite;
_local15.onError = _local7.onError;
_local15.onStartParams = _local7.onStartParams;
_local15.onUpdateParams = _local7.onUpdateParams;
_local15.onCompleteParams = _local7.onCompleteParams;
_local15.onOverwriteParams = _local7.onOverwriteParams;
_local15.onStartScope = _local7.onStartScope;
_local15.onUpdateScope = _local7.onUpdateScope;
_local15.onCompleteScope = _local7.onCompleteScope;
_local15.onOverwriteScope = _local7.onOverwriteScope;
_local15.onErrorScope = _local7.onErrorScope;
_local15.rounded = _local7.rounded;
_local15.skipUpdates = _local7.skipUpdates;
removeTweensByTime(_local15.scope, _local15.properties, _local15.timeStart, _local15.timeComplete);
_tweenList.push(_local15);
if ((((_local8 == 0)) && ((_local9 == 0)))){
_local16 = (_tweenList.length - 1);
updateTweenByIndex(_local16);
removeTweenByIndex(_local16);
};
_local3++;
};
return (true);
}
public static function registerTransition(_arg1:String, _arg2:Function):void{
if (!_inited){
init();
};
_transitionList[_arg1] = _arg2;
}
public static function printError(_arg1:String):void{
trace(("## [Tweener] Error: " + _arg1));
}
private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{
var _local5:uint;
var _local6:Array;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local4:Boolean;
if (!Boolean(_tweenList)){
return (false);
};
_local5 = 0;
while (_local5 < _tweenList.length) {
if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){
if (_arg3.length == 0){
_arg1(_local5);
_local4 = true;
} else {
_local6 = new Array();
_local7 = 0;
while (_local7 < _arg3.length) {
if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){
_local6.push(_arg3[_local7]);
};
_local7++;
};
if (_local6.length > 0){
_local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties);
if (_local8 == _local6.length){
_arg1(_local5);
_local4 = true;
} else {
_local9 = splitTweens(_local5, _local6);
_arg1(_local9);
_local4 = true;
};
};
};
};
_local5++;
};
return (_local4);
}
public static function getTweens(_arg1:Object):Array{
var _local2:uint;
var _local3:String;
if (!Boolean(_tweenList)){
return ([]);
};
var _local4:Array = new Array();
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
for (_local3 in _tweenList[_local2].properties) {
_local4.push(_local3);
};
};
_local2++;
};
return (_local4);
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
return (true);
};
_local2++;
};
return (false);
}
public static function pauseTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj = _tweenList[_arg1];
if ((((_local2 == null)) || (_local2.isPaused))){
return (false);
};
_local2.timePaused = getCurrentTweeningTime(_local2);
_local2.isPaused = true;
return (true);
}
public static function getCurrentTweeningTime(_arg1:Object):Number{
return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime);
}
public static function getTweenCount(_arg1:Object):Number{
var _local2:uint;
if (!Boolean(_tweenList)){
return (0);
};
var _local3:Number = 0;
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
_local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties));
};
_local2++;
};
return (_local3);
}
private static function stopEngine():void{
_engineExists = false;
_tweenList = null;
_currentTime = 0;
_currentTimeFrame = 0;
__tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
__tweener_controller__ = null;
}
public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{
var removedLocally:Boolean;
var i:uint;
var pName:String;
var eventScope:Object;
var p_scope = _arg1;
var p_properties = _arg2;
var p_timeStart = _arg3;
var p_timeComplete = _arg4;
var removed:Boolean;
var tl:uint = _tweenList.length;
i = 0;
while (i < tl) {
if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){
if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){
removedLocally = false;
for (pName in _tweenList[i].properties) {
if (Boolean(p_properties[pName])){
if (Boolean(_tweenList[i].onOverwrite)){
eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope;
try {
_tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams);
} catch(e:Error) {
handleError(_tweenList[i], e, "onOverwrite");
};
};
_tweenList[i].properties[pName] = undefined;
delete _tweenList[i].properties[pName];
removedLocally = true;
removed = true;
};
};
if (removedLocally){
if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){
removeTweenByIndex(i);
};
};
};
};
i = (i + 1);
};
return (removed);
}
public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{
if (!_inited){
init();
};
var _local4:SpecialPropertySplitter = new SpecialPropertySplitter(_arg2, _arg3);
_specialPropertySplitterList[_arg1] = _local4;
}
public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{
_tweenList[_arg1] = null;
if (_arg2){
_tweenList.splice(_arg1, 1);
};
return (true);
}
public static function resumeTweens(_arg1:Object, ... _args):Boolean{
var _local4:uint;
var _local3:Array = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(resumeTweenByIndex, _arg1, _local3));
}
public static function pauseTweens(_arg1:Object, ... _args):Boolean{
var _local4:uint;
var _local3:Array = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(pauseTweenByIndex, _arg1, _local3));
}
}
}//package caurina.transitions
Section 9
//TweenListObj (caurina.transitions.TweenListObj)
package caurina.transitions {
public class TweenListObj {
public var hasStarted:Boolean;
public var onUpdate:Function;
public var useFrames:Boolean;
public var count:Number;
public var onOverwriteParams:Array;
public var timeStart:Number;
public var timeComplete:Number;
public var onStartParams:Array;
public var onUpdateScope:Object;
public var rounded:Boolean;
public var onUpdateParams:Array;
public var properties:Object;
public var onComplete:Function;
public var transitionParams:Object;
public var updatesSkipped:Number;
public var onStart:Function;
public var onOverwriteScope:Object;
public var skipUpdates:Number;
public var onStartScope:Object;
public var scope:Object;
public var isCaller:Boolean;
public var timePaused:Number;
public var transition:Function;
public var onCompleteParams:Array;
public var onError:Function;
public var timesCalled:Number;
public var onErrorScope:Object;
public var onOverwrite:Function;
public var isPaused:Boolean;
public var waitFrames:Boolean;
public var onCompleteScope:Object;
public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function, _arg6:Object){
scope = _arg1;
timeStart = _arg2;
timeComplete = _arg3;
useFrames = _arg4;
transition = _arg5;
transitionParams = _arg6;
properties = new Object();
isPaused = false;
timePaused = undefined;
isCaller = false;
updatesSkipped = 0;
timesCalled = 0;
skipUpdates = 0;
hasStarted = false;
}
public function clone(_arg1:Boolean):TweenListObj{
var _local3:String;
var _local2:TweenListObj = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams);
_local2.properties = new Array();
for (_local3 in properties) {
_local2.properties[_local3] = properties[_local3].clone();
};
_local2.skipUpdates = skipUpdates;
_local2.updatesSkipped = updatesSkipped;
if (!_arg1){
_local2.onStart = onStart;
_local2.onUpdate = onUpdate;
_local2.onComplete = onComplete;
_local2.onOverwrite = onOverwrite;
_local2.onError = onError;
_local2.onStartParams = onStartParams;
_local2.onUpdateParams = onUpdateParams;
_local2.onCompleteParams = onCompleteParams;
_local2.onOverwriteParams = onOverwriteParams;
_local2.onStartScope = onStartScope;
_local2.onUpdateScope = onUpdateScope;
_local2.onCompleteScope = onCompleteScope;
_local2.onOverwriteScope = onOverwriteScope;
_local2.onErrorScope = onErrorScope;
};
_local2.rounded = rounded;
_local2.isPaused = isPaused;
_local2.timePaused = timePaused;
_local2.isCaller = isCaller;
_local2.count = count;
_local2.timesCalled = timesCalled;
_local2.waitFrames = waitFrames;
_local2.hasStarted = hasStarted;
return (_local2);
}
public function toString():String{
var _local3:String;
var _local1 = "\n[TweenListObj ";
_local1 = (_local1 + ("scope:" + String(scope)));
_local1 = (_local1 + ", properties:");
var _local2:Boolean;
for (_local3 in properties) {
if (!_local2){
_local1 = (_local1 + ",");
};
_local1 = (_local1 + ("[name:" + properties[_local3].name));
_local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart));
_local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete));
_local1 = (_local1 + "]");
_local2 = false;
};
_local1 = (_local1 + (", timeStart:" + String(timeStart)));
_local1 = (_local1 + (", timeComplete:" + String(timeComplete)));
_local1 = (_local1 + (", useFrames:" + String(useFrames)));
_local1 = (_local1 + (", transition:" + String(transition)));
_local1 = (_local1 + (", transitionParams:" + String(transitionParams)));
if (skipUpdates){
_local1 = (_local1 + (", skipUpdates:" + String(skipUpdates)));
};
if (updatesSkipped){
_local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped)));
};
if (Boolean(onStart)){
_local1 = (_local1 + (", onStart:" + String(onStart)));
};
if (Boolean(onUpdate)){
_local1 = (_local1 + (", onUpdate:" + String(onUpdate)));
};
if (Boolean(onComplete)){
_local1 = (_local1 + (", onComplete:" + String(onComplete)));
};
if (Boolean(onOverwrite)){
_local1 = (_local1 + (", onOverwrite:" + String(onOverwrite)));
};
if (Boolean(onError)){
_local1 = (_local1 + (", onError:" + String(onError)));
};
if (onStartParams){
_local1 = (_local1 + (", onStartParams:" + String(onStartParams)));
};
if (onUpdateParams){
_local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams)));
};
if (onCompleteParams){
_local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams)));
};
if (onOverwriteParams){
_local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams)));
};
if (onStartScope){
_local1 = (_local1 + (", onStartScope:" + String(onStartScope)));
};
if (onUpdateScope){
_local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope)));
};
if (onCompleteScope){
_local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope)));
};
if (onOverwriteScope){
_local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope)));
};
if (onErrorScope){
_local1 = (_local1 + (", onErrorScope:" + String(onErrorScope)));
};
if (rounded){
_local1 = (_local1 + (", rounded:" + String(rounded)));
};
if (isPaused){
_local1 = (_local1 + (", isPaused:" + String(isPaused)));
};
if (timePaused){
_local1 = (_local1 + (", timePaused:" + String(timePaused)));
};
if (isCaller){
_local1 = (_local1 + (", isCaller:" + String(isCaller)));
};
if (count){
_local1 = (_local1 + (", count:" + String(count)));
};
if (timesCalled){
_local1 = (_local1 + (", timesCalled:" + String(timesCalled)));
};
if (waitFrames){
_local1 = (_local1 + (", waitFrames:" + String(waitFrames)));
};
if (hasStarted){
_local1 = (_local1 + (", hasStarted:" + String(hasStarted)));
};
_local1 = (_local1 + "]\n");
return (_local1);
}
public static function makePropertiesChain(_arg1:Object):Object{
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local2:Object = _arg1.base;
if (_local2){
_local3 = {};
if ((_local2 is Array)){
_local4 = [];
_local8 = 0;
while (_local8 < _local2.length) {
_local4.push(_local2[_local8]);
_local8++;
};
} else {
_local4 = [_local2];
};
_local4.push(_arg1);
_local6 = _local4.length;
_local7 = 0;
while (_local7 < _local6) {
if (_local4[_local7]["base"]){
_local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]);
} else {
_local5 = _local4[_local7];
};
_local3 = AuxFunctions.concatObjects(_local3, _local5);
_local7++;
};
if (_local3["base"]){
delete _local3["base"];
};
return (_local3);
//unresolved jump
};
return (_arg1);
}
}
}//package caurina.transitions
Section 10
//JSONDecoder (com.adobe.serialization.json.JSONDecoder)
package com.adobe.serialization.json {
public class JSONDecoder {
private var value;
private var tokenizer:JSONTokenizer;
private var token:JSONToken;
public function JSONDecoder(_arg1:String){
tokenizer = new JSONTokenizer(_arg1);
nextToken();
value = parseValue();
}
private function parseObject():Object{
var _local2:String;
var _local1:Object = new Object();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACE){
return (_local1);
};
while (true) {
if (token.type == JSONTokenType.STRING){
_local2 = String(token.value);
nextToken();
if (token.type == JSONTokenType.COLON){
nextToken();
_local1[_local2] = parseValue();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACE){
return (_local1);
};
if (token.type == JSONTokenType.COMMA){
nextToken();
} else {
tokenizer.parseError(("Expecting } or , but found " + token.value));
};
} else {
tokenizer.parseError(("Expecting : but found " + token.value));
};
} else {
tokenizer.parseError(("Expecting string but found " + token.value));
};
};
return (null);
}
private function parseValue():Object{
if (token == null){
tokenizer.parseError("Unexpected end of input");
};
switch (token.type){
case JSONTokenType.LEFT_BRACE:
return (parseObject());
case JSONTokenType.LEFT_BRACKET:
return (parseArray());
case JSONTokenType.STRING:
case JSONTokenType.NUMBER:
case JSONTokenType.TRUE:
case JSONTokenType.FALSE:
case JSONTokenType.NULL:
return (token.value);
default:
tokenizer.parseError(("Unexpected " + token.value));
};
return (null);
}
private function nextToken():JSONToken{
return ((token = tokenizer.getNextToken()));
}
public function getValue(){
return (value);
}
private function parseArray():Array{
var _local1:Array = new Array();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACKET){
return (_local1);
};
while (true) {
_local1.push(parseValue());
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACKET){
return (_local1);
};
if (token.type == JSONTokenType.COMMA){
nextToken();
} else {
tokenizer.parseError(("Expecting ] or , but found " + token.value));
};
};
return (null);
}
}
}//package com.adobe.serialization.json
Section 11
//JSONEncoder (com.adobe.serialization.json.JSONEncoder)
package com.adobe.serialization.json {
import flash.utils.*;
public class JSONEncoder {
private var jsonString:String;
public function JSONEncoder(_arg1){
jsonString = convertToString(_arg1);
}
private function escapeString(_arg1:String):String{
var _local3:String;
var _local6:String;
var _local7:String;
var _local2 = "";
var _local4:Number = _arg1.length;
var _local5:int;
while (_local5 < _local4) {
_local3 = _arg1.charAt(_local5);
switch (_local3){
case "\"":
_local2 = (_local2 + "\\\"");
break;
case "\\":
_local2 = (_local2 + "\\\\");
break;
case "\b":
_local2 = (_local2 + "\\b");
break;
case "\f":
_local2 = (_local2 + "\\f");
break;
case "\n":
_local2 = (_local2 + "\\n");
break;
case "\r":
_local2 = (_local2 + "\\r");
break;
case "\t":
_local2 = (_local2 + "\\t");
break;
default:
if (_local3 < " "){
_local6 = _local3.charCodeAt(0).toString(16);
_local7 = ((_local6.length == 2)) ? "00" : "000";
_local2 = (_local2 + (("\\u" + _local7) + _local6));
} else {
_local2 = (_local2 + _local3);
};
};
_local5++;
};
return ((("\"" + _local2) + "\""));
}
private function arrayToString(_arg1:Array):String{
var _local2 = "";
var _local3:int;
while (_local3 < _arg1.length) {
if (_local2.length > 0){
_local2 = (_local2 + ",");
};
_local2 = (_local2 + convertToString(_arg1[_local3]));
_local3++;
};
return ((("[" + _local2) + "]"));
}
public function getString():String{
return (jsonString);
}
private function objectToString(_arg1:Object):String{
var value:Object;
var key:String;
var v:XML;
var o = _arg1;
var s = "";
var classInfo:XML = describeType(o);
if (classInfo.@name.toString() == "Object"){
for (key in o) {
value = o[key];
if ((value is Function)){
} else {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((escapeString(key) + ":") + convertToString(value)));
};
};
} else {
for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((escapeString(v.@name.toString()) + ":") + convertToString(o[v.@name])));
};
};
return ((("{" + s) + "}"));
}
private function convertToString(_arg1):String{
if ((_arg1 is String)){
return (escapeString((_arg1 as String)));
};
if ((_arg1 is Number)){
return ((isFinite((_arg1 as Number))) ? _arg1.toString() : "null");
} else {
if ((_arg1 is Boolean)){
return ((_arg1) ? "true" : "false");
} else {
if ((_arg1 is Array)){
return (arrayToString((_arg1 as Array)));
};
if ((((_arg1 is Object)) && (!((_arg1 == null))))){
return (objectToString(_arg1));
};
};
};
return ("null");
}
}
}//package com.adobe.serialization.json
Section 12
//JSONParseError (com.adobe.serialization.json.JSONParseError)
package com.adobe.serialization.json {
public class JSONParseError extends Error {
private var _location:int;
private var _text:String;
public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){
super(_arg1);
name = "JSONParseError";
_location = _arg2;
_text = _arg3;
}
public function get location():int{
return (_location);
}
public function get text():String{
return (_text);
}
}
}//package com.adobe.serialization.json
Section 13
//JSONToken (com.adobe.serialization.json.JSONToken)
package com.adobe.serialization.json {
public class JSONToken {
private var _value:Object;
private var _type:int;
public function JSONToken(_arg1:int=-1, _arg2:Object=null){
_type = _arg1;
_value = _arg2;
}
public function get value():Object{
return (_value);
}
public function get type():int{
return (_type);
}
public function set type(_arg1:int):void{
_type = _arg1;
}
public function set value(_arg1:Object):void{
_value = _arg1;
}
}
}//package com.adobe.serialization.json
Section 14
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer)
package com.adobe.serialization.json {
public class JSONTokenizer {
private var loc:int;
private var ch:String;
private var obj:Object;
private var jsonString:String;
public function JSONTokenizer(_arg1:String){
jsonString = _arg1;
loc = 0;
nextChar();
}
private function skipComments():void{
if (ch == "/"){
nextChar();
switch (ch){
case "/":
do {
nextChar();
} while (((!((ch == "\n"))) && (!((ch == "")))));
nextChar();
break;
case "*":
nextChar();
while (true) {
if (ch == "*"){
nextChar();
if (ch == "/"){
nextChar();
break;
};
} else {
nextChar();
};
if (ch == ""){
parseError("Multi-line comment not closed");
};
};
break;
default:
parseError((("Unexpected " + ch) + " encountered (expecting '/' or '*' )"));
};
};
}
private function isDigit(_arg1:String):Boolean{
return ((((_arg1 >= "0")) && ((_arg1 <= "9"))));
}
private function readString():JSONToken{
var _local3:String;
var _local4:int;
var _local1:JSONToken = new JSONToken();
_local1.type = JSONTokenType.STRING;
var _local2 = "";
nextChar();
while (((!((ch == "\""))) && (!((ch == ""))))) {
if (ch == "\\"){
nextChar();
switch (ch){
case "\"":
_local2 = (_local2 + "\"");
break;
case "/":
_local2 = (_local2 + "/");
break;
case "\\":
_local2 = (_local2 + "\\");
break;
case "b":
_local2 = (_local2 + "\b");
break;
case "f":
_local2 = (_local2 + "\f");
break;
case "n":
_local2 = (_local2 + "\n");
break;
case "r":
_local2 = (_local2 + "\r");
break;
case "t":
_local2 = (_local2 + "\t");
break;
case "u":
_local3 = "";
_local4 = 0;
while (_local4 < 4) {
if (!isHexDigit(nextChar())){
parseError((" Excepted a hex digit, but found: " + ch));
};
_local3 = (_local3 + ch);
_local4++;
};
_local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16)));
break;
default:
_local2 = (_local2 + ("\\" + ch));
};
} else {
_local2 = (_local2 + ch);
};
nextChar();
};
if (ch == ""){
parseError("Unterminated string literal");
};
nextChar();
_local1.value = _local2;
return (_local1);
}
private function nextChar():String{
return ((ch = jsonString.charAt(loc++)));
}
public function getNextToken():JSONToken{
var _local2:String;
var _local3:String;
var _local4:String;
var _local1:JSONToken = new JSONToken();
skipIgnored();
switch (ch){
case "{":
_local1.type = JSONTokenType.LEFT_BRACE;
_local1.value = "{";
nextChar();
break;
case "}":
_local1.type = JSONTokenType.RIGHT_BRACE;
_local1.value = "}";
nextChar();
break;
case "[":
_local1.type = JSONTokenType.LEFT_BRACKET;
_local1.value = "[";
nextChar();
break;
case "]":
_local1.type = JSONTokenType.RIGHT_BRACKET;
_local1.value = "]";
nextChar();
break;
case ",":
_local1.type = JSONTokenType.COMMA;
_local1.value = ",";
nextChar();
break;
case ":":
_local1.type = JSONTokenType.COLON;
_local1.value = ":";
nextChar();
break;
case "t":
_local2 = ((("t" + nextChar()) + nextChar()) + nextChar());
if (_local2 == "true"){
_local1.type = JSONTokenType.TRUE;
_local1.value = true;
nextChar();
} else {
parseError(("Expecting 'true' but found " + _local2));
};
break;
case "f":
_local3 = (((("f" + nextChar()) + nextChar()) + nextChar()) + nextChar());
if (_local3 == "false"){
_local1.type = JSONTokenType.FALSE;
_local1.value = false;
nextChar();
} else {
parseError(("Expecting 'false' but found " + _local3));
};
break;
case "n":
_local4 = ((("n" + nextChar()) + nextChar()) + nextChar());
if (_local4 == "null"){
_local1.type = JSONTokenType.NULL;
_local1.value = null;
nextChar();
} else {
parseError(("Expecting 'null' but found " + _local4));
};
break;
case "\"":
_local1 = readString();
break;
default:
if (((isDigit(ch)) || ((ch == "-")))){
_local1 = readNumber();
} else {
if (ch == ""){
return (null);
};
parseError((("Unexpected " + ch) + " encountered"));
};
};
return (_local1);
}
private function skipWhite():void{
while (isWhiteSpace(ch)) {
nextChar();
};
}
public function parseError(_arg1:String):void{
throw (new JSONParseError(_arg1, loc, jsonString));
}
private function isWhiteSpace(_arg1:String):Boolean{
return ((((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n")))) || ((_arg1 == "\r"))));
}
private function skipIgnored():void{
var _local1:int;
do {
_local1 = loc;
skipWhite();
skipComments();
} while (_local1 != loc);
}
private function isHexDigit(_arg1:String):Boolean{
var _local2:String = _arg1.toUpperCase();
return (((isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F"))))));
}
private function readNumber():JSONToken{
var _local1:JSONToken = new JSONToken();
_local1.type = JSONTokenType.NUMBER;
var _local2 = "";
if (ch == "-"){
_local2 = (_local2 + "-");
nextChar();
};
if (!isDigit(ch)){
parseError("Expecting a digit");
};
if (ch == "0"){
_local2 = (_local2 + ch);
nextChar();
if (isDigit(ch)){
parseError("A digit cannot immediately follow 0");
};
} else {
while (isDigit(ch)) {
_local2 = (_local2 + ch);
nextChar();
};
};
if (ch == "."){
_local2 = (_local2 + ".");
nextChar();
if (!isDigit(ch)){
parseError("Expecting a digit");
};
while (isDigit(ch)) {
_local2 = (_local2 + ch);
nextChar();
};
};
if ((((ch == "e")) || ((ch == "E")))){
_local2 = (_local2 + "e");
nextChar();
if ((((ch == "+")) || ((ch == "-")))){
_local2 = (_local2 + ch);
nextChar();
};
if (!isDigit(ch)){
parseError("Scientific notation number needs exponent value");
};
while (isDigit(ch)) {
_local2 = (_local2 + ch);
nextChar();
};
};
var _local3:Number = Number(_local2);
if (((isFinite(_local3)) && (!(isNaN(_local3))))){
_local1.value = _local3;
return (_local1);
};
parseError((("Number " + _local3) + " is not valid!"));
return (null);
}
}
}//package com.adobe.serialization.json
Section 15
//JSONTokenType (com.adobe.serialization.json.JSONTokenType)
package com.adobe.serialization.json {
public class JSONTokenType {
public static const NUMBER:int = 11;
public static const FALSE:int = 8;
public static const RIGHT_BRACKET:int = 4;
public static const NULL:int = 9;
public static const TRUE:int = 7;
public static const RIGHT_BRACE:int = 2;
public static const UNKNOWN:int = -1;
public static const COMMA:int = 0;
public static const LEFT_BRACKET:int = 3;
public static const STRING:int = 10;
public static const LEFT_BRACE:int = 1;
public static const COLON:int = 6;
}
}//package com.adobe.serialization.json
Section 16
//AdHandler (com.ahrooga.flash_ad_manager.components.AdHandler)
package com.ahrooga.flash_ad_manager.components {
import flash.events.*;
import flash.display.*;
import com.ahrooga.flash_ad_manager.interfaces.*;
import caurina.transitions.*;
import flash.utils.*;
public class AdHandler extends Sprite {
private var timer:Timer;
private var customAdLoader:AdLoader;
private var adPath:String;
private var minAdSeconds:uint;
public var preloader:IPreloader;
private var timeRemainderIncrement:Number;
private var adLink:String;
private var modifier:Number;// = 0.7
public var progressPercentage:Number;// = 0
public static const INIT:String = "init";
public static const COMPLETE:String = "complete";
public static const PROGRESS:String = "progress";
public function AdHandler(_arg1:String, _arg2:uint, _arg3:String=null){
this.adPath = _arg1;
this.adLink = _arg3;
this.minAdSeconds = _arg2;
addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);
}
private function loadComplete(_arg1:Event=null):void{
var _local2:Number;
if (timer.running){
_local2 = (timer.repeatCount - timer.currentCount);
timeRemainderIncrement = ((1 - progressPercentage) / _local2);
timer.addEventListener(TimerEvent.TIMER, timerEventListener, false, 0, true);
} else {
if (this.loaderInfo.bytesLoaded < this.loaderInfo.bytesTotal){
modifier = 1;
} else {
this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loadProgress);
this.loaderInfo.removeEventListener(Event.COMPLETE, loadComplete);
timer.removeEventListener(TimerEvent.TIMER, timerEventListener);
timer.removeEventListener(TimerEvent.TIMER_COMPLETE, loadComplete);
timer = null;
dispatchEvent(new Event(AdHandler.COMPLETE));
removeChild(customAdLoader);
customAdLoader = null;
};
};
}
private function loadProgress(_arg1:ProgressEvent):void{
progressPercentage = ((_arg1.bytesLoaded / _arg1.bytesTotal) * modifier);
dispatchEvent(new Event(AdHandler.PROGRESS));
if (progressPercentage > 0.7){
Tweener.addTween(customAdLoader, {time:4, alpha:0});
};
}
private function timerEventListener(_arg1:TimerEvent):void{
progressPercentage = (progressPercentage + timeRemainderIncrement);
dispatchEvent(new Event(AdHandler.PROGRESS));
}
private function init(_arg1:Event):void{
customAdLoader = new AdLoader(adPath, adLink);
customAdLoader.addEventListener(Event.INIT, customAdLoaded, false, 0, true);
customAdLoader.load();
addChild(customAdLoader);
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress, false, 0, true);
this.loaderInfo.addEventListener(Event.COMPLETE, loadComplete, false, 0, true);
timer = new Timer(50, (minAdSeconds * 20));
timer.addEventListener(TimerEvent.TIMER_COMPLETE, loadComplete, false, 0, true);
timer.start();
if (this.loaderInfo.bytesLoaded >= this.loaderInfo.bytesTotal){
loadComplete();
};
}
private function customAdLoaded(_arg1:Event):void{
customAdLoader.removeEventListener(Event.INIT, customAdLoaded);
customAdLoader.x = int(((stage.stageWidth - customAdLoader.width) * 0.5));
customAdLoader.y = int(((stage.stageHeight - customAdLoader.height) * 0.5));
customAdLoader.alpha = 0;
Tweener.addTween(customAdLoader, {time:4, alpha:1});
dispatchEvent(new Event(AdHandler.INIT));
}
}
}//package com.ahrooga.flash_ad_manager.components
Section 17
//AdLoader (com.ahrooga.flash_ad_manager.components.AdLoader)
package com.ahrooga.flash_ad_manager.components {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.system.*;
import flash.errors.*;
public class AdLoader extends Sprite {
private var adWidth:uint;// = 0
private var adPath:String;
private var adHeight:uint;// = 0
private var loader:Loader;
private var adLink:String;
public function AdLoader(_arg1:String, _arg2:String=null){
Security.allowDomain("*");
this.adPath = _arg1;
this.adLink = _arg2;
}
private function adClicked(_arg1:MouseEvent):void{
navigateToURL(new URLRequest(adLink));
_arg1.stopImmediatePropagation();
}
override public function get height():Number{
return (adHeight);
}
private function adLoaded(_arg1:Event):void{
var _local3:Sprite;
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, adLoaded);
adWidth = _arg1.target.width;
adHeight = _arg1.target.height;
var _local2:Sprite = new Sprite();
_local2.graphics.beginFill(0xFF);
_local2.graphics.drawRect(0, 0, adWidth, adHeight);
_local2.graphics.endFill();
addChild(_local2);
_arg1.target.loader.mask = _local2;
if (((!((adLink === null))) && (!((adLink === ""))))){
_local3 = new Sprite();
_local3.graphics.beginFill(0, 0);
_local3.graphics.drawRect(0, 0, adWidth, adHeight);
_local3.graphics.endFill();
_local3.buttonMode = true;
_local3.addEventListener(MouseEvent.MOUSE_DOWN, adClicked, false, 0, true);
addChild(_local3);
};
dispatchEvent(new Event(Event.INIT));
}
public function load():void{
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, adLoaded, false, 0, true);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorListener, false, 0, true);
loader.load(new URLRequest(adPath));
addChild(loader);
}
private function ioErrorListener(_arg1:IOErrorEvent):void{
throw (new IOError(("Ad not found at the following URL: " + adPath)));
}
override public function get width():Number{
return (adWidth);
}
}
}//package com.ahrooga.flash_ad_manager.components
Section 18
//BasicPreloader (com.ahrooga.flash_ad_manager.components.BasicPreloader)
package com.ahrooga.flash_ad_manager.components {
import flash.display.*;
import com.ahrooga.flash_ad_manager.interfaces.*;
import flash.geom.*;
import flash.text.*;
public class BasicPreloader extends Sprite implements IPreloader {
private var _percent:Number;// = 0
private var loadingCompleted:Boolean;// = false
private var barWidth:Number;// = 440
private var animationDone:Boolean;// = false
private var loadingBar:Sprite;
private var _textPercent:TextField;
private var barHeight:Number;// = 20
public function BasicPreloader(){
loadingBar = new Sprite();
loadingBar.x = 100;
loadingBar.y = (CONFIG.SCREEN_HEIGHT - 50);
addChild(loadingBar);
_textPercent = new TextField();
var _local1:TextFormat = new TextFormat("Arial", 14, 0xFFFFFF, true, false, false);
_local1.align = TextFormatAlign.RIGHT;
_textPercent.defaultTextFormat = _local1;
_textPercent.x = (barWidth - 105);
_textPercent.y = 0;
loadingBar.addChild(_textPercent);
}
public function get percentage():Number{
return (_percent);
}
public function set percentage(_arg1:Number):void{
_percent = _arg1;
paint();
if (_percent >= 1){
loadingCompleted = true;
};
}
protected function paint():void{
loadingBar.graphics.clear();
loadingBar.graphics.lineStyle(5, 0xFFFFFF);
loadingBar.graphics.beginFill(7988985, 1);
loadingBar.graphics.drawRoundRect(0, 0, barWidth, barHeight, 20, 20);
loadingBar.graphics.endFill();
loadingBar.graphics.lineStyle(0, 0, 0);
var _local1:Matrix = new Matrix();
_local1.createGradientBox(barWidth, barHeight, ((90 / 180) * Math.PI), 0, 0);
loadingBar.graphics.beginGradientFill(GradientType.LINEAR, [1878476, 11135735], [1, 1], [0, 127], _local1, SpreadMethod.PAD);
loadingBar.graphics.drawRoundRect(2, 2, ((_percent * barWidth) - 4), (barHeight - 4), 20);
loadingBar.graphics.endFill();
_textPercent.text = (int((_percent * 100)) + "%");
}
public function get displayObject():DisplayObject{
return (this);
}
public function destroy():void{
removeChild(loadingBar);
}
}
}//package com.ahrooga.flash_ad_manager.components
Section 19
//ilMareSplash (com.ahrooga.flash_ad_manager.components.ilMareSplash)
package com.ahrooga.flash_ad_manager.components {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import caurina.transitions.*;
import be.nascom.flash.graphics.*;
import flash.net.*;
import flash.text.*;
import flash.filters.*;
public class ilMareSplash extends Sprite {
private const SIZE_WAVE:Number = 100;
private var _curve1Canvas:Sprite;
private var _curve1:Array;
private var _rippler:Rippler;
public var callback:Function;
private var _curve2:Array;
private var buttonPressed:Boolean;// = false
private var IMG_play:Class;
private var _waveCount:Number;// = 0
private var _ilMareGames:Bitmap;
private var animationDone:Boolean;// = false
private var _doWaves:Boolean;// = false
private var _time:Number;
private var loadingCompleted:Boolean;// = false
public var button:Sprite;
private var FONT_makisupa:Class;
private var _curve2Canvas:Sprite;
private var IMG_ilMareGames:Class;
private var wasOver:Boolean;// = false
public function ilMareSplash(){
FONT_makisupa = ilMareSplash_FONT_makisupa;
IMG_ilMareGames = ilMareSplash_IMG_ilMareGames;
IMG_play = ilMareSplash_IMG_play;
super();
_curve1 = [new SpritePoint(0, 0), new SpritePoint(SIZE_WAVE, -(SIZE_WAVE)), new SpritePoint(SIZE_WAVE, -(SIZE_WAVE))];
_curve2 = [new SpritePoint(SIZE_WAVE, 0), new SpritePoint((SIZE_WAVE / 2), (-(SIZE_WAVE) / 4)), _curve1[2]];
useHandCursor = true;
buttonMode = true;
var _local1:Bitmap = (new IMG_play() as Bitmap);
initAnimation();
button = new Sprite();
var _local2:Matrix = new Matrix();
_local2.translate((-(_local1.width) / 2), (-(_local1.height) / 2));
button.graphics.beginBitmapFill(_local1.bitmapData, _local2);
button.graphics.drawRect((-(_local1.width) / 2), (-(_local1.height) / 2), _local1.width, _local1.height);
button.graphics.endFill();
button.useHandCursor = true;
button.buttonMode = true;
button.addEventListener(MouseEvent.CLICK, buttonClicked, false, 0, true);
button.addEventListener(MouseEvent.MOUSE_OVER, buttonOver, false, 0, true);
button.addEventListener(MouseEvent.MOUSE_OUT, buttonOut, false, 0, true);
button.x = (CONFIG.SCREEN_WIDTH / 2);
button.y = ((CONFIG.SCREEN_HEIGHT / 4) + (CONFIG.SCREEN_HEIGHT / 2));
button.visible = false;
var _local3:Sprite = new Sprite();
_local3.addEventListener(MouseEvent.CLICK, onClick, false, 0, true);
_local3.graphics.beginFill(0xFFFFFF, 0.01);
_local3.graphics.drawRect(0, 0, CONFIG.SCREEN_WIDTH, CONFIG.SCREEN_HEIGHT);
_local3.graphics.endFill();
_local3.buttonMode = true;
addChild(_local3);
addChild(button);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
protected function drawCurve(_arg1:Sprite, _arg2:Array):void{
_arg1.graphics.lineStyle(2, 6711039);
_arg1.graphics.moveTo((_arg2[0] as SpritePoint).x, (_arg2[0] as SpritePoint).y);
_arg1.graphics.curveTo((_arg2[1] as SpritePoint).x, (_arg2[1] as SpritePoint).y, (_arg2[2] as SpritePoint).x, (_arg2[2] as SpritePoint).y);
_arg1.graphics.lineStyle();
}
public function destroy():void{
removeEventListener(Event.ENTER_FRAME, update);
removeChild(button);
removeChild(_curve1Canvas);
removeChild(_curve2Canvas);
removeChild(_ilMareGames);
useHandCursor = false;
buttonMode = false;
}
public function initAnimation():void{
var gradientMatrix:Matrix = new Matrix();
gradientMatrix.createGradientBox(CONFIG.SCREEN_WIDTH, CONFIG.SCREEN_HEIGHT, (-(Math.PI) / 2), 0, 0);
var colors:Array = [11001855, 0xFFFFFF];
graphics.beginGradientFill("linear", colors, [1, 1], [0, 0xFF], gradientMatrix, "pad", "RGB");
graphics.drawRect(0, 0, CONFIG.SCREEN_WIDTH, CONFIG.SCREEN_HEIGHT);
graphics.endFill();
var bmpFilter:BitmapFilter = new GlowFilter(9437132, 1, 2, 2);
var newFilter:Array = new Array();
newFilter.push(bmpFilter);
_curve1Canvas = new Sprite();
_curve1Canvas.x = ((CONFIG.SCREEN_WIDTH / 2) - SIZE_WAVE);
_curve1Canvas.y = ((CONFIG.SCREEN_HEIGHT / 2) - 20);
addChild(_curve1Canvas);
_curve1Canvas.filters = newFilter;
_curve1Canvas.visible = false;
_curve2Canvas = new Sprite();
_curve2Canvas.x = (_curve1Canvas.x + SIZE_WAVE);
_curve2Canvas.y = _curve1Canvas.y;
addChild(_curve2Canvas);
_curve2Canvas.filters = newFilter;
_curve2Canvas.visible = false;
_ilMareGames = (new IMG_ilMareGames() as Bitmap);
addChild(_ilMareGames);
_ilMareGames.x = ((CONFIG.SCREEN_WIDTH / 2) - (_ilMareGames.width / 2));
_ilMareGames.y = ((CONFIG.SCREEN_HEIGHT / 2) - (_ilMareGames.height / 2));
_ilMareGames.alpha = 1;
Tweener.addTween((_curve1[1] as Sprite), {delay:2, time:1, x:(SIZE_WAVE / 2), y:-(SIZE_WAVE), transition:"linear"});
Tweener.addTween((_curve1[2] as Sprite), {delay:2.5, time:1, x:SIZE_WAVE, y:(-(SIZE_WAVE) / 2), transition:"linear", onComplete:function ():void{
animationDone = true;
}});
Tweener.addTween(_ilMareGames, {delay:0, time:2, alpha:1, transition:"linear", onComplete:function ():void{
_doWaves = true;
}});
this.alpha = 0;
Tweener.addTween(this, {delay:0, time:2, alpha:1, transition:"linear"});
}
public function buttonClicked(_arg1:MouseEvent):void{
callback();
}
public function isReady():Boolean{
return (buttonPressed);
}
protected function update(_arg1:Event):void{
_curve1Canvas.graphics.clear();
drawCurve(_curve1Canvas, _curve1);
drawCurve(_curve1Canvas, _curve2);
_curve2Canvas.graphics.clear();
drawCurve(_curve2Canvas, _curve1);
drawCurve(_curve2Canvas, _curve2);
}
public function onClick(_arg1:MouseEvent):void{
var _local2:URLRequest;
if ((_arg1.target is Stage)){
_local2 = new URLRequest("http://www.freefootballgames.org");
navigateToURL(_local2, "_blank");
};
}
public function buttonOver(_arg1:MouseEvent):void{
var target:DisplayObjectContainer;
var evt = _arg1;
if ((evt.target is TextField)){
target = evt.target.parent;
} else {
target = (evt.target as DisplayObjectContainer);
};
Tweener.addTween(target, {time:0.2, delay:0, scaleX:1.05, scaleY:1.05, transition:"easeOutBounce", onComplete:function ():void{
}});
wasOver = true;
}
public function buttonOut(_arg1:MouseEvent):void{
var target:DisplayObjectContainer;
var evt = _arg1;
if ((evt.target is TextField)){
target = evt.target.parent;
} else {
target = (evt.target as DisplayObjectContainer);
};
Tweener.addTween(target, {time:0.2, delay:0, scaleX:1, scaleY:1, transition:"easeOutBounce", onComplete:function ():void{
}});
wasOver = false;
}
}
}//package com.ahrooga.flash_ad_manager.components
Section 20
//ilMareSplash_FONT_makisupa (com.ahrooga.flash_ad_manager.components.ilMareSplash_FONT_makisupa)
package com.ahrooga.flash_ad_manager.components {
import mx.core.*;
public class ilMareSplash_FONT_makisupa extends FontAsset {
}
}//package com.ahrooga.flash_ad_manager.components
Section 21
//ilMareSplash_IMG_ilMareGames (com.ahrooga.flash_ad_manager.components.ilMareSplash_IMG_ilMareGames)
package com.ahrooga.flash_ad_manager.components {
import mx.core.*;
public class ilMareSplash_IMG_ilMareGames extends BitmapAsset {
}
}//package com.ahrooga.flash_ad_manager.components
Section 22
//ilMareSplash_IMG_play (com.ahrooga.flash_ad_manager.components.ilMareSplash_IMG_play)
package com.ahrooga.flash_ad_manager.components {
import mx.core.*;
public class ilMareSplash_IMG_play extends BitmapAsset {
}
}//package com.ahrooga.flash_ad_manager.components
Section 23
//SpritePoint (com.ahrooga.flash_ad_manager.components.SpritePoint)
package com.ahrooga.flash_ad_manager.components {
import flash.display.*;
public class SpritePoint extends Sprite {
public function SpritePoint(_arg1:Number, _arg2:Number){
this.x = _arg1;
this.y = _arg2;
}
}
}//package com.ahrooga.flash_ad_manager.components
Section 24
//XMLRetriever (com.ahrooga.flash_ad_manager.components.XMLRetriever)
package com.ahrooga.flash_ad_manager.components {
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class XMLRetriever extends EventDispatcher {
private var voArray:Array;
private var urlLoader:URLLoader;
private var index:uint;// = 0
private var _xml:XML;
public static const XML_RETRIEVED:String = "xmlRetrieved";
public static const XML_FAILED:String = "xmlFailed";
public function XMLRetriever(){
voArray = new Array();
}
private function errorHandler(_arg1:IOErrorEvent=null):void{
if ((index + 1) <= (voArray.length - 1)){
index++;
load();
} else {
dispatchEvent(new Event(XMLRetriever.XML_FAILED));
};
}
public function load():void{
urlLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, loadCompleteListener, false, 0, true);
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler, false, 0, true);
var _local1:XMLRetrieverVO = (voArray[index] as XMLRetrieverVO);
if (_local1.pathToPolicyFile !== null){
Security.loadPolicyFile(_local1.pathToPolicyFile);
};
urlLoader.load(new URLRequest(_local1.pathToXML));
}
public function get adPath():String{
return (_xml.application.ad.(@type == "CUSTOM")[0].ad_path);
}
public function get minAdSeconds():Number{
return (_xml.application.ad.(@type == "CUSTOM")[0].min_ad_seconds);
}
public function get useEmbeddedAd():Boolean{
return (((_xml.application.use_ad_type == "CUSTOM")) ? false : true);
}
private function loadCompleteListener(_arg1:Event):void{
var e = _arg1;
try {
_xml = new XML(e.target.data);
urlLoader.removeEventListener(Event.COMPLETE, loadCompleteListener);
urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler);
dispatchEvent(new Event(XMLRetriever.XML_RETRIEVED));
} catch(e:TypeError) {
errorHandler();
};
}
public function get adDisabledDomains():Array{
var _local3:XML;
var _local1:Array = new Array();
var _local2:XMLList = _xml.application.ad_disabled_domains.domain;
for each (_local3 in _local2) {
_local1.push(_local3.toString());
};
return (_local1);
}
public function addVO(_arg1:XMLRetrieverVO):void{
voArray.push(_arg1);
}
public function get adLink():String{
return (_xml.application.ad.(@type == "CUSTOM")[0].ad_link);
}
public function get embeddedAdName():String{
var adName:String;
adName = _xml.application.ad.(@type == "EMBEDDED")[0].ad_name;
return (adName.toLowerCase());
}
}
}//package com.ahrooga.flash_ad_manager.components
Section 25
//XMLRetrieverVO (com.ahrooga.flash_ad_manager.components.XMLRetrieverVO)
package com.ahrooga.flash_ad_manager.components {
public class XMLRetrieverVO {
public var pathToPolicyFile:String;
public var pathToXML:String;
public function XMLRetrieverVO(_arg1:String, _arg2:String=null){
this.pathToXML = _arg1;
this.pathToPolicyFile = _arg2;
}
}
}//package com.ahrooga.flash_ad_manager.components
Section 26
//IPreloader (com.ahrooga.flash_ad_manager.interfaces.IPreloader)
package com.ahrooga.flash_ad_manager.interfaces {
import flash.display.*;
public interface IPreloader {
function get displayObject():DisplayObject;
function get percentage():Number;
function set percentage(_arg1:Number):void;
function destroy():void;
}
}//package com.ahrooga.flash_ad_manager.interfaces
Section 27
//AdManager (com.ahrooga.flash_ad_manager.AdManager)
package com.ahrooga.flash_ad_manager {
import flash.events.*;
import flash.display.*;
import com.ahrooga.flash_ad_manager.interfaces.*;
import com.ahrooga.flash_ad_manager.components.*;
import flash.net.*;
public class AdManager extends Sprite {
private var xmlRetriever:XMLRetriever;
private var customPreloader:IPreloader;
private var placeHolder:DisplayObject;
private var appInit:Function;
private var _preloaderBaseColor:uint;// = 0xCCCCCC
private var adInitMappings:Object;
private var adHandler:AdHandler;
private var _preloaderBarColor:uint;// = 0xFF0000
private var adDisabledDomains:Array;
public function AdManager(_arg1:Function, _arg2:DisplayObject, _arg3:String, _arg4:String=null){
this.appInit = _arg1;
this.placeHolder = _arg2;
addChild(_arg2);
xmlRetriever = new XMLRetriever();
adDisabledDomains = new Array();
addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);
addAlternateXML(_arg3, _arg4);
}
private function loadProgressListener(_arg1:ProgressEvent):void{
customPreloader.percentage = (_arg1.bytesLoaded / _arg1.bytesTotal);
}
private function loadCompleteHandler(_arg1:Event):void{
if (adHandler !== null){
adHandler.removeEventListener(AdHandler.COMPLETE, loadCompleteHandler);
};
this.loaderInfo.removeEventListener(Event.COMPLETE, loadCompleteHandler);
this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loadProgressListener);
removeChild(customPreloader.displayObject);
appInit();
}
private function failHandler(_arg1:Event=null):void{
if (this.loaderInfo.bytesLoaded == this.loaderInfo.bytesTotal){
removeChild(customPreloader.displayObject);
appInit();
} else {
this.loaderInfo.addEventListener(Event.COMPLETE, loadCompleteHandler, false, 0, true);
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgressListener, false, 0, true);
};
}
public function addAlternateXML(_arg1:String, _arg2:String=null):void{
xmlRetriever.addVO(new XMLRetrieverVO(_arg1, _arg2));
}
private function init(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, init);
if (this.parent == root){
if (customPreloader == null){
customPreloader = new BasicPreloader();
addChild(customPreloader.displayObject);
} else {
addChild(customPreloader.displayObject);
};
xmlRetriever.addEventListener(XMLRetriever.XML_RETRIEVED, xmlRetrieved, false, 0, true);
xmlRetriever.addEventListener(XMLRetriever.XML_FAILED, failHandler, false, 0, true);
xmlRetriever.load();
} else {
throw (new Error("AdManager added as a child of an object which is not the document class.\nAdManager MUST be added to the document class only."));
};
}
private function xmlRetrieved(_arg1:Event):void{
var _local4:int;
var _local5:Function;
xmlRetriever.removeEventListener(XMLRetriever.XML_RETRIEVED, xmlRetrieved);
xmlRetriever.removeEventListener(XMLRetriever.XML_FAILED, xmlRetrieved);
var _local2:Boolean;
var _local3:String = currentDomain;
adDisabledDomains = adDisabledDomains.concat((xmlRetriever.adDisabledDomains as Array));
_local4 = 0;
while (_local4 < adDisabledDomains.length) {
if (_local3 == adDisabledDomains[_local4]){
_local2 = true;
break;
};
_local4++;
};
if (!_local2){
if (xmlRetriever.useEmbeddedAd){
if (adInitMappings[xmlRetriever.embeddedAdName] !== null){
_local5 = (adInitMappings[xmlRetriever.embeddedAdName] as Function);
_local5();
removeChild(customPreloader.displayObject);
} else {
trace((("Init method not found for ad titled '" + xmlRetriever.embeddedAdName) + "'. Embedded ads must be registered with the method registerEmbeddedAd."));
failHandler();
};
} else {
adHandler = new AdHandler(xmlRetriever.adPath, xmlRetriever.minAdSeconds, xmlRetriever.adLink);
adHandler.addEventListener(AdHandler.INIT, customAdInit, false, 0, true);
adHandler.addEventListener(AdHandler.PROGRESS, customAdPreloader, false, 0, true);
adHandler.addEventListener(AdHandler.COMPLETE, loadCompleteHandler, false, 0, true);
addChild(adHandler);
};
};
xmlRetriever = null;
}
override public function set width(_arg1:Number):void{
positionalError();
}
private function positionalError():void{
throw (new Error("positional properties are intentionally disabled on AdManager"));
}
public function registerEmbeddedAd(_arg1:String, _arg2:Function):void{
if (adInitMappings == null){
adInitMappings = new Object();
};
adInitMappings[_arg1.toLowerCase()] = _arg2;
}
override public function set scaleX(_arg1:Number):void{
positionalError();
}
public function get currentDomain():String{
return (new LocalConnection().domain);
}
override public function set scaleY(_arg1:Number):void{
positionalError();
}
public function addDisabledDomain(_arg1:String):void{
adDisabledDomains.push(_arg1);
}
private function customAdInit(_arg1:Event):void{
adHandler.removeEventListener(AdHandler.INIT, customAdInit);
}
private function customAdPreloader(_arg1:Event):void{
customPreloader.percentage = adHandler.progressPercentage;
}
public function get preloaderBarColor():uint{
return (_preloaderBarColor);
}
private function removePlaceHolder():void{
if (placeHolder !== null){
removeChild(placeHolder);
placeHolder = null;
};
}
public function attachPreloader(_arg1:IPreloader):void{
customPreloader = _arg1;
}
override public function set y(_arg1:Number):void{
positionalError();
}
public function set preloaderBaseColor(_arg1:uint):void{
_preloaderBaseColor = _arg1;
}
public function set preloaderBarColor(_arg1:uint):void{
_preloaderBarColor = _arg1;
}
public function destroy():void{
customPreloader.destroy();
}
override public function set height(_arg1:Number):void{
positionalError();
}
public function get preloaderBaseColor():uint{
return (_preloaderBaseColor);
}
override public function set x(_arg1:Number):void{
positionalError();
}
}
}//package com.ahrooga.flash_ad_manager
Section 28
//CampaignInfo (com.google.analytics.campaign.CampaignInfo)
package com.google.analytics.campaign {
import com.google.analytics.utils.*;
public class CampaignInfo {
private var _new:Boolean;
private var _empty:Boolean;
public function CampaignInfo(_arg1:Boolean=true, _arg2:Boolean=false){
_empty = _arg1;
_new = _arg2;
}
public function toURLString():String{
var _local1:Variables = toVariables();
return (_local1.toString());
}
public function isNew():Boolean{
return (_new);
}
public function get utmcn():String{
return ("1");
}
public function isEmpty():Boolean{
return (_empty);
}
public function toVariables():Variables{
var _local1:Variables = new Variables();
_local1.URIencode = true;
if (((!(isEmpty())) && (isNew()))){
_local1.utmcn = utmcn;
};
if (((!(isEmpty())) && (!(isNew())))){
_local1.utmcr = utmcr;
};
return (_local1);
}
public function get utmcr():String{
return ("1");
}
}
}//package com.google.analytics.campaign
Section 29
//CampaignKey (com.google.analytics.campaign.CampaignKey)
package com.google.analytics.campaign {
public class CampaignKey {
public var UCMD:String;// = "utm_medium"
public var UCID:String;// = "utm_id"
public var UCTR:String;// = "utm_term"
public var UCSR:String;// = "utm_source"
public var UCNO:String;// = "utm_nooverride"
public var UCCN:String;// = "utm_campaign"
public var UGCLID:String;// = "gclid"
public var UCCT:String;// = "utm_content"
}
}//package com.google.analytics.campaign
Section 30
//CampaignManager (com.google.analytics.campaign.CampaignManager)
package com.google.analytics.campaign {
import com.google.analytics.core.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import com.google.analytics.utils.*;
public class CampaignManager {
private var _config:Configuration;
private var _domainHash:Number;
private var _debug:DebugConfiguration;
private var _timeStamp:Number;
private var _referrer:String;
private var _buffer:Buffer;
public static const trackingDelimiter:String = "|";
public function CampaignManager(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Number, _arg5:String, _arg6:Number){
_config = _arg1;
_debug = _arg2;
_buffer = _arg3;
_domainHash = _arg4;
_referrer = _arg5;
_timeStamp = _arg6;
}
public function getCampaignInformation(_arg1:String, _arg2:Boolean):CampaignInfo{
var _local4:CampaignTracker;
var _local8:CampaignTracker;
var _local9:int;
var _local3:CampaignInfo = new CampaignInfo();
var _local5:Boolean;
var _local6:Boolean;
var _local7:int;
if (((_config.allowLinker) && (_buffer.isGenuine()))){
if (!_buffer.hasUTMZ()){
return (_local3);
};
};
_local4 = getTrackerFromSearchString(_arg1);
if (isValid(_local4)){
_local6 = hasNoOverride(_arg1);
if (((_local6) && (!(_buffer.hasUTMZ())))){
return (_local3);
};
};
if (!isValid(_local4)){
_local4 = getOrganicCampaign();
if (((!(_buffer.hasUTMZ())) && (isIgnoredKeyword(_local4)))){
return (_local3);
};
};
if (((!(isValid(_local4))) && (_arg2))){
_local4 = getReferrerCampaign();
if (((!(_buffer.hasUTMZ())) && (isIgnoredReferral(_local4)))){
return (_local3);
};
};
if (!isValid(_local4)){
if (((!(_buffer.hasUTMZ())) && (_arg2))){
_local4 = getDirectCampaign();
};
};
if (!isValid(_local4)){
return (_local3);
};
if (((_buffer.hasUTMZ()) && (!(_buffer.utmz.isEmpty())))){
_local8 = new CampaignTracker();
_local8.fromTrackerString(_buffer.utmz.campaignTracking);
_local5 = (_local8.toTrackerString() == _local4.toTrackerString());
_local7 = _buffer.utmz.responseCount;
};
if (((!(_local5)) || (_arg2))){
_local9 = _buffer.utma.sessionCount;
_local7++;
if (_local9 == 0){
_local9 = 1;
};
_buffer.utmz.domainHash = _domainHash;
_buffer.utmz.campaignCreation = _timeStamp;
_buffer.utmz.campaignSessions = _local9;
_buffer.utmz.responseCount = _local7;
_buffer.utmz.campaignTracking = _local4.toTrackerString();
_debug.info(_buffer.utmz.toString(), VisualDebugMode.geek);
_local3 = new CampaignInfo(false, true);
} else {
_local3 = new CampaignInfo(false, false);
};
return (_local3);
}
public function hasNoOverride(_arg1:String):Boolean{
var _local2:CampaignKey = _config.campaignKey;
if (_arg1 == ""){
return (false);
};
var _local3:Variables = new Variables(_arg1);
var _local4 = "";
if (_local3.hasOwnProperty(_local2.UCNO)){
_local4 = _local3[_local2.UCNO];
switch (_local4){
case "1":
return (true);
case "":
case "0":
default:
return (false);
};
};
return (false);
}
public function getTrackerFromSearchString(_arg1:String):CampaignTracker{
var _local2:CampaignTracker = getOrganicCampaign();
var _local3:CampaignTracker = new CampaignTracker();
var _local4:CampaignKey = _config.campaignKey;
if (_arg1 == ""){
return (_local3);
};
var _local5:Variables = new Variables(_arg1);
if (_local5.hasOwnProperty(_local4.UCID)){
_local3.id = _local5[_local4.UCID];
};
if (_local5.hasOwnProperty(_local4.UCSR)){
_local3.source = _local5[_local4.UCSR];
};
if (_local5.hasOwnProperty(_local4.UGCLID)){
_local3.clickId = _local5[_local4.UGCLID];
};
if (_local5.hasOwnProperty(_local4.UCCN)){
_local3.name = _local5[_local4.UCCN];
} else {
_local3.name = "(not set)";
};
if (_local5.hasOwnProperty(_local4.UCMD)){
_local3.medium = _local5[_local4.UCMD];
} else {
_local3.medium = "(not set)";
};
if (_local5.hasOwnProperty(_local4.UCTR)){
_local3.term = _local5[_local4.UCTR];
} else {
if (((_local2) && (!((_local2.term == ""))))){
_local3.term = _local2.term;
};
};
if (_local5.hasOwnProperty(_local4.UCCT)){
_local3.content = _local5[_local4.UCCT];
};
return (_local3);
}
public function getOrganicCampaign():CampaignTracker{
var _local1:CampaignTracker;
var _local4:Array;
var _local5:OrganicReferrer;
var _local6:String;
if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){
return (_local1);
};
var _local2:URL = new URL(_referrer);
var _local3 = "";
if (_local2.hostName != ""){
if (_local2.hostName.indexOf(".") > -1){
_local4 = _local2.hostName.split(".");
switch (_local4.length){
case 2:
_local3 = _local4[0];
break;
case 3:
_local3 = _local4[1];
break;
};
};
};
if (_config.organic.match(_local3)){
_local5 = _config.organic.getReferrerByName(_local3);
_local6 = _config.organic.getKeywordValue(_local5, _local2.search);
_local1 = new CampaignTracker();
_local1.source = _local5.engine;
_local1.name = "(organic)";
_local1.medium = "organic";
_local1.term = _local6;
};
return (_local1);
}
public function getDirectCampaign():CampaignTracker{
var _local1:CampaignTracker = new CampaignTracker();
_local1.source = "(direct)";
_local1.name = "(direct)";
_local1.medium = "(none)";
return (_local1);
}
public function isIgnoredKeyword(_arg1:CampaignTracker):Boolean{
if (((_arg1) && ((_arg1.medium == "organic")))){
return (_config.organic.isIgnoredKeyword(_arg1.term));
};
return (false);
}
public function isIgnoredReferral(_arg1:CampaignTracker):Boolean{
if (((_arg1) && ((_arg1.medium == "referral")))){
return (_config.organic.isIgnoredReferral(_arg1.source));
};
return (false);
}
public function isValid(_arg1:CampaignTracker):Boolean{
if (((_arg1) && (_arg1.isValid()))){
return (true);
};
return (false);
}
public function getReferrerCampaign():CampaignTracker{
var _local1:CampaignTracker;
if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){
return (_local1);
};
var _local2:URL = new URL(_referrer);
var _local3:String = _local2.hostName;
var _local4:String = _local2.path;
if (_local3.indexOf("www.") == 0){
_local3 = _local3.substr(4);
};
_local1 = new CampaignTracker();
_local1.source = _local3;
_local1.name = "(referral)";
_local1.medium = "referral";
_local1.content = _local4;
return (_local1);
}
public static function isInvalidReferrer(_arg1:String):Boolean{
var _local2:URL;
if ((((((_arg1 == "")) || ((_arg1 == "-")))) || ((_arg1 == "0")))){
return (true);
};
if (_arg1.indexOf("://") > -1){
_local2 = new URL(_arg1);
if ((((_local2.protocol == Protocols.file)) || ((_local2.protocol == Protocols.none)))){
return (true);
};
};
return (false);
}
public static function isFromGoogleCSE(_arg1:String, _arg2:Configuration):Boolean{
var _local3:URL = new URL(_arg1);
if (_local3.hostName.indexOf(_arg2.google) > -1){
if (_local3.search.indexOf((_arg2.googleSearchParam + "=")) > -1){
if (_local3.path == ("/" + _arg2.googleCsePath)){
return (true);
};
};
};
return (false);
}
}
}//package com.google.analytics.campaign
Section 31
//CampaignTracker (com.google.analytics.campaign.CampaignTracker)
package com.google.analytics.campaign {
import com.google.analytics.utils.*;
public class CampaignTracker {
public var content:String;
public var source:String;
public var clickId:String;
public var name:String;
public var term:String;
public var medium:String;
public var id:String;
public function CampaignTracker(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String="", _arg6:String="", _arg7:String=""){
this.id = _arg1;
this.source = _arg2;
this.clickId = _arg3;
this.name = _arg4;
this.medium = _arg5;
this.term = _arg6;
this.content = _arg7;
}
public function isValid():Boolean{
if (((((!((id == ""))) || (!((source == ""))))) || (!((clickId == ""))))){
return (true);
};
return (false);
}
public function toTrackerString():String{
var _local1:Array = [];
_addIfNotEmpty(_local1, "utmcsr=", source);
_addIfNotEmpty(_local1, "utmccn=", name);
_addIfNotEmpty(_local1, "utmcmd=", medium);
_addIfNotEmpty(_local1, "utmctr=", term);
_addIfNotEmpty(_local1, "utmcct=", content);
_addIfNotEmpty(_local1, "utmcid=", id);
_addIfNotEmpty(_local1, "utmgclid=", clickId);
return (_local1.join(CampaignManager.trackingDelimiter));
}
private function _addIfNotEmpty(_arg1:Array, _arg2:String, _arg3:String):void{
if (_arg3 != ""){
_arg3 = _arg3.split("+").join("%20");
_arg3 = _arg3.split(" ").join("%20");
_arg1.push((_arg2 + _arg3));
};
}
public function fromTrackerString(_arg1:String):void{
var _local2:String = _arg1.split(CampaignManager.trackingDelimiter).join("&");
var _local3:Variables = new Variables(_local2);
if (_local3.hasOwnProperty("utmcid")){
this.id = _local3["utmcid"];
};
if (_local3.hasOwnProperty("utmcsr")){
this.source = _local3["utmcsr"];
};
if (_local3.hasOwnProperty("utmccn")){
this.name = _local3["utmccn"];
};
if (_local3.hasOwnProperty("utmcmd")){
this.medium = _local3["utmcmd"];
};
if (_local3.hasOwnProperty("utmctr")){
this.term = _local3["utmctr"];
};
if (_local3.hasOwnProperty("utmcct")){
this.content = _local3["utmcct"];
};
if (_local3.hasOwnProperty("utmgclid")){
this.clickId = _local3["utmgclid"];
};
}
}
}//package com.google.analytics.campaign
Section 32
//BrowserInfo (com.google.analytics.core.BrowserInfo)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import com.google.analytics.utils.*;
public class BrowserInfo {
private var _config:Configuration;
private var _info:Environment;
public function BrowserInfo(_arg1:Configuration, _arg2:Environment){
_config = _arg1;
_info = _arg2;
}
public function get utmul():String{
return (_info.language.toLowerCase());
}
public function get utmje():String{
return ("0");
}
public function toURLString():String{
var _local1:Variables = toVariables();
return (_local1.toString());
}
public function get utmsr():String{
return (((_info.screenWidth + "x") + _info.screenHeight));
}
public function get utmfl():String{
var _local1:Version;
if (_config.detectFlash){
_local1 = _info.flashVersion;
return (((((_local1.major + ".") + _local1.minor) + " r") + _local1.build));
};
return ("-");
}
public function get utmcs():String{
return (_info.languageEncoding);
}
public function toVariables():Variables{
var _local1:Variables = new Variables();
_local1.URIencode = true;
_local1.utmcs = utmcs;
_local1.utmsr = utmsr;
_local1.utmsc = utmsc;
_local1.utmul = utmul;
_local1.utmje = utmje;
_local1.utmfl = utmfl;
return (_local1);
}
public function get utmsc():String{
return ((_info.screenColorDepth + "-bit"));
}
}
}//package com.google.analytics.core
Section 33
//Buffer (com.google.analytics.core.Buffer)
package com.google.analytics.core {
import flash.events.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.net.*;
import com.google.analytics.data.*;
public dynamic class Buffer {
private var _SO:SharedObject;
private var _OBJ:Object;
private var _utma:UTMA;
private var _utmb:UTMB;
private var _utmc:UTMC;
private var _debug:DebugConfiguration;
private var _utmk:UTMK;
private var _config:Configuration;
private var _utmv:UTMV;
private var _utmz:UTMZ;
private var _volatile:Boolean;
public function Buffer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Boolean=false, _arg4:Object=null){
var _local5:Boolean;
var _local6:String;
super();
_config = _arg1;
_debug = _arg2;
UTMB.defaultTimespan = _config.sessionTimeout;
UTMZ.defaultTimespan = _config.conversionTimeout;
if (!_arg3){
_SO = SharedObject.getLocal(_config.cookieName, _config.cookiePath);
_local5 = false;
if (_SO.data.utma){
if (!hasUTMA()){
_createUMTA();
};
_utma.fromSharedObject(_SO.data.utma);
if (_debug.verbose){
_debug.info(("found: " + _utma.toString(true)), VisualDebugMode.geek);
};
if (_utma.isExpired()){
if (_debug.verbose){
_debug.warning("UTMA has expired", VisualDebugMode.advanced);
};
_clearUTMA();
_local5 = true;
};
};
if (_SO.data.utmb){
if (!hasUTMB()){
_createUMTB();
};
_utmb.fromSharedObject(_SO.data.utmb);
if (_debug.verbose){
_debug.info(("found: " + _utmb.toString(true)), VisualDebugMode.geek);
};
if (_utmb.isExpired()){
if (_debug.verbose){
_debug.warning("UTMB has expired", VisualDebugMode.advanced);
};
_clearUTMB();
_local5 = true;
};
};
if (_SO.data.utmc){
delete _SO.data.utmc;
_local5 = true;
};
if (_SO.data.utmk){
if (!hasUTMK()){
_createUMTK();
};
_utmk.fromSharedObject(_SO.data.utmk);
if (_debug.verbose){
_debug.info(("found: " + _utmk.toString()), VisualDebugMode.geek);
};
};
if (_SO.data.utmv){
if (!hasUTMV()){
_createUMTV();
};
_utmv.fromSharedObject(_SO.data.utmv);
if (_debug.verbose){
_debug.info(("found: " + _utmv.toString(true)), VisualDebugMode.geek);
};
if (_utmv.isExpired()){
if (_debug.verbose){
_debug.warning("UTMV has expired", VisualDebugMode.advanced);
};
_clearUTMV();
_local5 = true;
};
};
if (_SO.data.utmz){
if (!hasUTMZ()){
_createUMTZ();
};
_utmz.fromSharedObject(_SO.data.utmz);
if (_debug.verbose){
_debug.info(("found: " + _utmz.toString(true)), VisualDebugMode.geek);
};
if (_utmz.isExpired()){
if (_debug.verbose){
_debug.warning("UTMZ has expired", VisualDebugMode.advanced);
};
_clearUTMZ();
_local5 = true;
};
};
if (_local5){
save();
};
} else {
_OBJ = new Object();
if (_arg4){
for (_local6 in _arg4) {
_OBJ[_local6] = _arg4[_local6];
};
};
};
_volatile = _arg3;
}
public function clearCookies():void{
utma.reset();
utmb.reset();
utmc.reset();
utmz.reset();
utmv.reset();
utmk.reset();
}
public function save():void{
var flushStatus:String;
if (!isVolatile()){
flushStatus = null;
try {
flushStatus = _SO.flush();
} catch(e:Error) {
_debug.warning("Error...Could not write SharedObject to disk");
};
switch (flushStatus){
case SharedObjectFlushStatus.PENDING:
_debug.info("Requesting permission to save object...");
_SO.addEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus);
break;
case SharedObjectFlushStatus.FLUSHED:
_debug.info("Value flushed to disk.");
break;
};
};
}
public function get utmv():UTMV{
if (!hasUTMV()){
_createUMTV();
};
return (_utmv);
}
public function get utmz():UTMZ{
if (!hasUTMZ()){
_createUMTZ();
};
return (_utmz);
}
public function hasUTMA():Boolean{
if (_utma){
return (true);
};
return (false);
}
public function hasUTMB():Boolean{
if (_utmb){
return (true);
};
return (false);
}
public function hasUTMC():Boolean{
if (_utmc){
return (true);
};
return (false);
}
public function isGenuine():Boolean{
if (!hasUTMK()){
return (true);
};
return ((utmk.hash == generateCookiesHash()));
}
public function resetCurrentSession():void{
_clearUTMB();
_clearUTMC();
save();
}
public function hasUTMK():Boolean{
if (_utmk){
return (true);
};
return (false);
}
public function generateCookiesHash():Number{
var _local1 = "";
_local1 = (_local1 + utma.valueOf());
_local1 = (_local1 + utmb.valueOf());
_local1 = (_local1 + utmc.valueOf());
_local1 = (_local1 + utmz.valueOf());
_local1 = (_local1 + utmv.valueOf());
return (Utils.generateHash(_local1));
}
private function _createUMTB():void{
_utmb = new UTMB();
_utmb.proxy = this;
}
private function _createUMTC():void{
_utmc = new UTMC();
}
private function _createUMTA():void{
_utma = new UTMA();
_utma.proxy = this;
}
public function hasUTMV():Boolean{
if (_utmv){
return (true);
};
return (false);
}
private function _createUMTK():void{
_utmk = new UTMK();
_utmk.proxy = this;
}
public function hasUTMZ():Boolean{
if (_utmz){
return (true);
};
return (false);
}
private function _createUMTV():void{
_utmv = new UTMV();
_utmv.proxy = this;
}
private function _onFlushStatus(_arg1:NetStatusEvent):void{
_debug.info("User closed permission dialog...");
switch (_arg1.info.code){
case "SharedObject.Flush.Success":
_debug.info("User granted permission -- value saved.");
break;
case "SharedObject.Flush.Failed":
_debug.info("User denied permission -- value not saved.");
break;
};
_SO.removeEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus);
}
private function _createUMTZ():void{
_utmz = new UTMZ();
_utmz.proxy = this;
}
public function updateUTMA(_arg1:Number):void{
if (_debug.verbose){
_debug.info((("updateUTMA( " + _arg1) + " )"), VisualDebugMode.advanced);
};
if (!utma.isEmpty()){
if (isNaN(utma.sessionCount)){
utma.sessionCount = 1;
} else {
utma.sessionCount = (utma.sessionCount + 1);
};
utma.lastTime = utma.currentTime;
utma.currentTime = _arg1;
};
}
private function _clearUTMA():void{
_utma = null;
if (!isVolatile()){
_SO.data.utma = null;
delete _SO.data.utma;
};
}
private function _clearUTMC():void{
_utmc = null;
}
private function _clearUTMB():void{
_utmb = null;
if (!isVolatile()){
_SO.data.utmb = null;
delete _SO.data.utmb;
};
}
public function update(_arg1:String, _arg2):void{
if (isVolatile()){
_OBJ[_arg1] = _arg2;
} else {
_SO.data[_arg1] = _arg2;
};
}
private function _clearUTMZ():void{
_utmz = null;
if (!isVolatile()){
_SO.data.utmz = null;
delete _SO.data.utmz;
};
}
private function _clearUTMV():void{
_utmv = null;
if (!isVolatile()){
_SO.data.utmv = null;
delete _SO.data.utmv;
};
}
public function isVolatile():Boolean{
return (_volatile);
}
public function get utma():UTMA{
if (!hasUTMA()){
_createUMTA();
};
return (_utma);
}
public function get utmb():UTMB{
if (!hasUTMB()){
_createUMTB();
};
return (_utmb);
}
public function get utmc():UTMC{
if (!hasUTMC()){
_createUMTC();
};
return (_utmc);
}
public function get utmk():UTMK{
if (!hasUTMK()){
_createUMTK();
};
return (_utmk);
}
}
}//package com.google.analytics.core
Section 34
//DocumentInfo (com.google.analytics.core.DocumentInfo)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import com.google.analytics.external.*;
import com.google.analytics.utils.*;
public class DocumentInfo {
private var _pageURL:String;
private var _utmr:String;
private var _config:Configuration;
private var _adSense:AdSenseGlobals;
private var _info:Environment;
public function DocumentInfo(_arg1:Configuration, _arg2:Environment, _arg3:String, _arg4:String=null, _arg5:AdSenseGlobals=null){
_config = _arg1;
_info = _arg2;
_utmr = _arg3;
_pageURL = _arg4;
_adSense = _arg5;
}
public function get utmr():String{
if (!_utmr){
return ("-");
};
return (_utmr);
}
public function toURLString():String{
var _local1:Variables = toVariables();
return (_local1.toString());
}
private function _renderPageURL(_arg1:String=""):String{
var _local2:String = _info.locationPath;
var _local3:String = _info.locationSearch;
if (((!(_arg1)) || ((_arg1 == "")))){
_arg1 = (_local2 + unescape(_local3));
};
return (_arg1);
}
public function get utmp():String{
return (_renderPageURL(_pageURL));
}
public function get utmhid():String{
return (String(_generateHitId()));
}
private function _generateHitId():Number{
var _local1:Number;
if (((_adSense.hid) && (!((_adSense.hid == ""))))){
_local1 = Number(_adSense.hid);
} else {
_local1 = Math.round((Math.random() * 2147483647));
_adSense.hid = String(_local1);
};
return (_local1);
}
public function toVariables():Variables{
var _local1:Variables = new Variables();
_local1.URIencode = true;
if (((_config.detectTitle) && (!((utmdt == ""))))){
_local1.utmdt = utmdt;
};
_local1.utmhid = utmhid;
_local1.utmr = utmr;
_local1.utmp = utmp;
return (_local1);
}
public function get utmdt():String{
return (_info.documentTitle);
}
}
}//package com.google.analytics.core
Section 35
//Domain (com.google.analytics.core.Domain)
package com.google.analytics.core {
import com.google.analytics.debug.*;
public class Domain {
private var _mode:DomainNameMode;
private var _debug:DebugConfiguration;
private var _name:String;
public function Domain(_arg1:DomainNameMode=null, _arg2:String="", _arg3:DebugConfiguration=null){
_debug = _arg3;
if (_arg1 == null){
_arg1 = DomainNameMode.auto;
};
_mode = _arg1;
if (_arg1 == DomainNameMode.custom){
this.name = _arg2;
} else {
_name = _arg2;
};
}
public function get mode():DomainNameMode{
return (_mode);
}
public function set mode(_arg1:DomainNameMode):void{
_mode = _arg1;
if (_mode == DomainNameMode.none){
_name = "";
};
}
public function get name():String{
return (_name);
}
public function set name(_arg1:String):void{
if (((!((_arg1.charAt(0) == "."))) && (_debug))){
_debug.warning(("missing leading period \".\", cookie will only be accessible on " + _arg1), VisualDebugMode.geek);
};
_name = _arg1;
}
}
}//package com.google.analytics.core
Section 36
//DomainNameMode (com.google.analytics.core.DomainNameMode)
package com.google.analytics.core {
public class DomainNameMode {
private var _value:int;
private var _name:String;
public static const custom:DomainNameMode = new DomainNameMode(2, "custom");
;
public static const none:DomainNameMode = new DomainNameMode(0, "none");
;
public static const auto:DomainNameMode = new DomainNameMode(1, "auto");
;
public function DomainNameMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.core
Section 37
//EventInfo (com.google.analytics.core.EventInfo)
package com.google.analytics.core {
import com.google.analytics.utils.*;
import com.google.analytics.data.*;
public class EventInfo {
private var _ext10:X10;
private var _isEventHit:Boolean;
private var _x10:X10;
public function EventInfo(_arg1:Boolean, _arg2:X10, _arg3:X10=null){
_isEventHit = _arg1;
_x10 = _arg2;
_ext10 = _arg3;
}
public function toURLString():String{
var _local1:Variables = toVariables();
return (_local1.toString());
}
public function get utmt():String{
return ("event");
}
public function get utme():String{
return (_x10.renderMergedUrlString(_ext10));
}
public function toVariables():Variables{
var _local1:Variables = new Variables();
_local1.URIencode = true;
if (_isEventHit){
_local1.utmt = utmt;
};
_local1.utme = utme;
return (_local1);
}
}
}//package com.google.analytics.core
Section 38
//EventTracker (com.google.analytics.core.EventTracker)
package com.google.analytics.core {
import com.google.analytics.v4.*;
public class EventTracker {
private var _parent:GoogleAnalyticsAPI;
public var name:String;
public function EventTracker(_arg1:String, _arg2:GoogleAnalyticsAPI){
this.name = _arg1;
_parent = _arg2;
}
public function trackEvent(_arg1:String, _arg2:String=null, _arg3:Number=NaN):Boolean{
return (_parent.trackEvent(name, _arg1, _arg2, _arg3));
}
}
}//package com.google.analytics.core
Section 39
//ga_internal (com.google.analytics.core.ga_internal)
package com.google.analytics.core {
public namespace ga_internal;
}//package com.google.analytics.core
Section 40
//GIFRequest (com.google.analytics.core.GIFRequest)
package com.google.analytics.core {
import flash.events.*;
import flash.display.*;
import flash.system.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.net.*;
import com.google.analytics.utils.*;
public class GIFRequest {
private var _info:Environment;
private var _count:int;
private var _utmac:String;
private var _alertcount:int;
private var _debug:DebugConfiguration;
private var _lastRequest:URLRequest;
private var _buffer:Buffer;
private var _config:Configuration;
private var _requests:Array;
public function GIFRequest(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Environment){
_config = _arg1;
_debug = _arg2;
_buffer = _arg3;
_info = _arg4;
_count = 0;
_alertcount = 0;
_requests = [];
}
public function get utmn():String{
return ((Utils.generate32bitRandom() as String));
}
public function onIOError(_arg1:IOErrorEvent):void{
var _local2:String = _lastRequest.url;
var _local3:String = String((_requests.length - 1));
var _local4 = (("Gif Request #" + _local3) + " failed");
if (_debug.GIFRequests){
if (!_debug.verbose){
if (_local2.indexOf("?") > -1){
_local2 = _local2.split("?")[0];
};
_local2 = _shortenURL(_local2);
};
if (int(_debug.mode) > int(VisualDebugMode.basic)){
_local4 = (_local4 + ((" \"" + _local2) + "\" does not exists or is unreachable"));
};
_debug.failure(_local4);
} else {
_debug.warning(_local4);
};
_removeListeners(_arg1.target);
}
public function send(_arg1:String, _arg2:Variables=null, _arg3:Boolean=false, _arg4:Boolean=false):void{
var _local5:String;
var _local6:URLRequest;
var _local7:URLRequest;
_utmac = _arg1;
if (!_arg2){
_arg2 = new Variables();
};
_arg2.URIencode = false;
_arg2.pre = ["utmwv", "utmn", "utmhn", "utmt", "utme", "utmcs", "utmsr", "utmsc", "utmul", "utmje", "utmfl", "utmdt", "utmhid", "utmr", "utmp"];
_arg2.post = ["utmcc"];
if (_debug.verbose){
_debug.info(((("tracking: " + _buffer.utmb.trackCount) + "/") + _config.trackingLimitPerSession), VisualDebugMode.geek);
};
if ((((_buffer.utmb.trackCount < _config.trackingLimitPerSession)) || (_arg3))){
if (_arg4){
updateToken();
};
if (((((_arg3) || (!(_arg4)))) || ((_buffer.utmb.token >= 1)))){
if (((!(_arg3)) && (_arg4))){
_buffer.utmb.token = (_buffer.utmb.token - 1);
};
_buffer.utmb.trackCount = (_buffer.utmb.trackCount + 1);
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
};
_arg2.utmwv = utmwv;
_arg2.utmn = Utils.generate32bitRandom();
if (_info.domainName != ""){
_arg2.utmhn = _info.domainName;
};
if (_config.sampleRate < 1){
_arg2.utmsp = (_config.sampleRate * 100);
};
if ((((_config.serverMode == ServerOperationMode.local)) || ((_config.serverMode == ServerOperationMode.both)))){
_local5 = _info.locationSWFPath;
if (_local5.lastIndexOf("/") > 0){
_local5 = _local5.substring(0, _local5.lastIndexOf("/"));
};
_local6 = new URLRequest();
if (_config.localGIFpath.indexOf("http") == 0){
_local6.url = _config.localGIFpath;
} else {
_local6.url = (_local5 + _config.localGIFpath);
};
_local6.url = (_local6.url + ("?" + _arg2.toString()));
if (((_debug.active) && (_debug.GIFRequests))){
_debugSend(_local6);
} else {
sendRequest(_local6);
};
};
if ((((_config.serverMode == ServerOperationMode.remote)) || ((_config.serverMode == ServerOperationMode.both)))){
_local7 = new URLRequest();
if (_info.protocol == Protocols.HTTPS){
_local7.url = _config.secureRemoteGIFpath;
} else {
if (_info.protocol == Protocols.HTTP){
_local7.url = _config.remoteGIFpath;
} else {
_local7.url = _config.remoteGIFpath;
};
};
_arg2.utmac = utmac;
_arg2.utmcc = encodeURIComponent(utmcc);
_local7.url = (_local7.url + ("?" + _arg2.toString()));
if (((_debug.active) && (_debug.GIFRequests))){
_debugSend(_local7);
} else {
sendRequest(_local7);
};
};
};
};
}
public function onSecurityError(_arg1:SecurityErrorEvent):void{
if (_debug.GIFRequests){
_debug.failure(_arg1.text);
};
}
public function get utmsp():String{
return (((_config.sampleRate * 100) as String));
}
public function get utmcc():String{
var _local1:Array = [];
if (_buffer.hasUTMA()){
_local1.push((_buffer.utma.toURLString() + ";"));
};
if (_buffer.hasUTMZ()){
_local1.push((_buffer.utmz.toURLString() + ";"));
};
if (_buffer.hasUTMV()){
_local1.push((_buffer.utmv.toURLString() + ";"));
};
return (_local1.join("+"));
}
public function get utmac():String{
return (_utmac);
}
public function get utmwv():String{
return (_config.version);
}
public function sendRequest(_arg1:URLRequest):void{
var request = _arg1;
var loader:Loader = new Loader();
loader.name = String(_count++);
var context:LoaderContext = new LoaderContext(false);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
_lastRequest = request;
_requests[loader.name] = new RequestObject(request);
try {
loader.load(request, context);
} catch(e:Error) {
_debug.failure("\"Loader.load()\" could not instanciate Gif Request");
};
}
private function _removeListeners(_arg1:Object):void{
_arg1.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
_arg1.removeEventListener(Event.COMPLETE, onComplete);
}
public function updateToken():void{
var _local2:Number;
var _local1:Number = new Date().getTime();
_local2 = ((_local1 - _buffer.utmb.lastTime) * (_config.tokenRate / 1000));
if (_debug.verbose){
_debug.info(("tokenDelta: " + _local2), VisualDebugMode.geek);
};
if (_local2 >= 1){
_buffer.utmb.token = Math.min(Math.floor((_buffer.utmb.token + _local2)), _config.bucketCapacity);
_buffer.utmb.lastTime = _local1;
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
};
};
}
public function get utmhn():String{
return (_info.domainName);
}
private function _shortenURL(_arg1:String):String{
var _local2:Array;
if (_arg1.length > 60){
_local2 = _arg1.split("/");
while (_arg1.length > 60) {
_local2.shift();
_arg1 = ("../" + _local2.join("/"));
};
};
return (_arg1);
}
private function _debugSend(_arg1:URLRequest):void{
var _local3:String;
var _local2 = "";
switch (_debug.mode){
case VisualDebugMode.geek:
_local2 = ((("Gif Request #" + _alertcount) + ":\n") + _arg1.url);
break;
case VisualDebugMode.advanced:
_local3 = _arg1.url;
if (_local3.indexOf("?") > -1){
_local3 = _local3.split("?")[0];
};
_local3 = _shortenURL(_local3);
_local2 = (((("Send Gif Request #" + _alertcount) + ":\n") + _local3) + " ?");
break;
case VisualDebugMode.basic:
default:
_local2 = (((("Send " + _config.serverMode.toString()) + " Gif Request #") + _alertcount) + " ?");
};
_debug.alertGifRequest(_local2, _arg1, this);
_alertcount++;
}
public function onComplete(_arg1:Event):void{
var _local2:String = _arg1.target.loader.name;
_requests[_local2].complete();
var _local3 = (("Gif Request #" + _local2) + " sent");
var _local4:String = _requests[_local2].request.url;
if (_debug.GIFRequests){
if (!_debug.verbose){
if (_local4.indexOf("?") > -1){
_local4 = _local4.split("?")[0];
};
_local4 = _shortenURL(_local4);
};
if (int(_debug.mode) > int(VisualDebugMode.basic)){
_local3 = (_local3 + ((" to \"" + _local4) + "\""));
};
_debug.success(_local3);
} else {
_debug.info(_local3);
};
_removeListeners(_arg1.target);
}
}
}//package com.google.analytics.core
Section 41
//IdleTimer (com.google.analytics.core.IdleTimer)
package com.google.analytics.core {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
public class IdleTimer {
private var _stage:Stage;
private var _loop:Timer;
private var _lastMove:int;
private var _inactivity:Number;
private var _debug:DebugConfiguration;
private var _session:Timer;
private var _buffer:Buffer;
public function IdleTimer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:DisplayObject, _arg4:Buffer){
var _local5:Number = _arg1.idleLoop;
var _local6:Number = _arg1.idleTimeout;
var _local7:Number = _arg1.sessionTimeout;
_loop = new Timer((_local5 * 1000));
_session = new Timer((_local7 * 1000), 1);
_debug = _arg2;
_stage = _arg3.stage;
_buffer = _arg4;
_lastMove = getTimer();
_inactivity = (_local6 * 1000);
_loop.addEventListener(TimerEvent.TIMER, checkForIdle);
_session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession);
_stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
_debug.info(((((("delay: " + _local5) + "sec , inactivity: ") + _local6) + "sec, sessionTimeout: ") + _local7), VisualDebugMode.geek);
_loop.start();
}
private function onMouseMove(_arg1:MouseEvent):void{
_lastMove = getTimer();
if (_session.running){
_debug.info("session timer reset", VisualDebugMode.geek);
_session.reset();
};
}
public function endSession(_arg1:TimerEvent):void{
_session.removeEventListener(TimerEvent.TIMER_COMPLETE, endSession);
_debug.info("session timer end session", VisualDebugMode.geek);
_session.reset();
_buffer.resetCurrentSession();
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
_debug.info(_buffer.utmc.toString(), VisualDebugMode.geek);
_session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession);
}
public function checkForIdle(_arg1:TimerEvent):void{
var _local2:int = getTimer();
if ((_local2 - _lastMove) >= _inactivity){
if (!_session.running){
_debug.info("session timer start", VisualDebugMode.geek);
_session.start();
};
};
}
}
}//package com.google.analytics.core
Section 42
//Organic (com.google.analytics.core.Organic)
package com.google.analytics.core {
import com.google.analytics.utils.*;
public class Organic {
private var _sourcesCache:Array;
private var _sourcesEngine:Array;
private var _ignoredKeywords:Array;
private var _ignoredReferralsCache:Object;
private var _ignoredReferrals:Array;
private var _ignoredKeywordsCache:Object;
private var _sources:Array;
public static var throwErrors:Boolean = false;
public function Organic(){
_sources = [];
_sourcesCache = [];
_sourcesEngine = [];
_ignoredReferrals = [];
_ignoredReferralsCache = {};
_ignoredKeywords = [];
_ignoredKeywordsCache = {};
}
public function isIgnoredKeyword(_arg1:String):Boolean{
if (_ignoredKeywordsCache.hasOwnProperty(_arg1)){
return (true);
};
return (false);
}
public function getKeywordValue(_arg1:OrganicReferrer, _arg2:String):String{
var _local3:String = _arg1.keyword;
return (getKeywordValueFromPath(_local3, _arg2));
}
public function isIgnoredReferral(_arg1:String):Boolean{
if (_ignoredReferralsCache.hasOwnProperty(_arg1)){
return (true);
};
return (false);
}
public function clear():void{
clearEngines();
clearIgnoredReferrals();
clearIgnoredKeywords();
}
public function get count():int{
return (_sources.length);
}
public function get ignoredKeywordsCount():int{
return (_ignoredKeywords.length);
}
public function match(_arg1:String):Boolean{
if (_arg1 == ""){
return (false);
};
_arg1 = _arg1.toLowerCase();
if (_sourcesEngine[_arg1] != undefined){
return (true);
};
return (false);
}
public function clearIgnoredKeywords():void{
_ignoredKeywords = [];
_ignoredKeywordsCache = {};
}
public function addSource(_arg1:String, _arg2:String):void{
var _local3:OrganicReferrer = new OrganicReferrer(_arg1, _arg2);
if (_sourcesCache[_local3.toString()] == undefined){
_sources.push(_local3);
_sourcesCache[_local3.toString()] = (_sources.length - 1);
if (_sourcesEngine[_local3.engine] == undefined){
_sourcesEngine[_local3.engine] = [(_sources.length - 1)];
} else {
_sourcesEngine[_local3.engine].push((_sources.length - 1));
};
} else {
if (throwErrors){
throw (new Error((_local3.toString() + " already exists, we don't add it.")));
};
};
}
public function clearEngines():void{
_sources = [];
_sourcesCache = [];
_sourcesEngine = [];
}
public function get ignoredReferralsCount():int{
return (_ignoredReferrals.length);
}
public function addIgnoredReferral(_arg1:String):void{
if (_ignoredReferralsCache[_arg1] == undefined){
_ignoredReferrals.push(_arg1);
_ignoredReferralsCache[_arg1] = (_ignoredReferrals.length - 1);
} else {
if (throwErrors){
throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it.")));
};
};
}
public function clearIgnoredReferrals():void{
_ignoredReferrals = [];
_ignoredReferralsCache = {};
}
public function getReferrerByName(_arg1:String):OrganicReferrer{
var _local2:int;
if (match(_arg1)){
_local2 = _sourcesEngine[_arg1][0];
return (_sources[_local2]);
};
return (null);
}
public function addIgnoredKeyword(_arg1:String):void{
if (_ignoredKeywordsCache[_arg1] == undefined){
_ignoredKeywords.push(_arg1);
_ignoredKeywordsCache[_arg1] = (_ignoredKeywords.length - 1);
} else {
if (throwErrors){
throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it.")));
};
};
}
public function get sources():Array{
return (_sources);
}
public static function getKeywordValueFromPath(_arg1:String, _arg2:String):String{
var _local3:String;
var _local4:Variables;
if (_arg2.indexOf((_arg1 + "=")) > -1){
if (_arg2.charAt(0) == "?"){
_arg2 = _arg2.substr(1);
};
_arg2 = _arg2.split("+").join("%20");
_local4 = new Variables(_arg2);
_local3 = _local4[_arg1];
};
return (_local3);
}
}
}//package com.google.analytics.core
Section 43
//OrganicReferrer (com.google.analytics.core.OrganicReferrer)
package com.google.analytics.core {
public class OrganicReferrer {
private var _engine:String;
private var _keyword:String;
public function OrganicReferrer(_arg1:String, _arg2:String){
this.engine = _arg1;
this.keyword = _arg2;
}
public function get keyword():String{
return (_keyword);
}
public function get engine():String{
return (_engine);
}
public function set engine(_arg1:String):void{
_engine = _arg1.toLowerCase();
}
public function toString():String{
return (((engine + "?") + keyword));
}
public function set keyword(_arg1:String):void{
_keyword = _arg1.toLowerCase();
}
}
}//package com.google.analytics.core
Section 44
//RequestObject (com.google.analytics.core.RequestObject)
package com.google.analytics.core {
import flash.utils.*;
import flash.net.*;
public class RequestObject {
public var start:int;
public var end:int;
public var request:URLRequest;
public function RequestObject(_arg1:URLRequest){
start = getTimer();
this.request = _arg1;
}
public function hasCompleted():Boolean{
return ((end > 0));
}
public function toString():String{
var _local1:Array = [];
_local1.push((("duration: " + duration) + "ms"));
_local1.push(("url: " + request.url));
return ((("{ " + _local1.join(", ")) + " }"));
}
public function complete():void{
end = getTimer();
}
public function get duration():int{
if (!hasCompleted()){
return (0);
};
return ((end - start));
}
}
}//package com.google.analytics.core
Section 45
//ServerOperationMode (com.google.analytics.core.ServerOperationMode)
package com.google.analytics.core {
public class ServerOperationMode {
private var _value:int;
private var _name:String;
public static const both:ServerOperationMode = new ServerOperationMode(2, "both");
;
public static const remote:ServerOperationMode = new ServerOperationMode(1, "remote");
;
public static const local:ServerOperationMode = new ServerOperationMode(0, "local");
;
public function ServerOperationMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.core
Section 46
//TrackerCache (com.google.analytics.core.TrackerCache)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import flash.errors.*;
public class TrackerCache implements GoogleAnalyticsAPI {
public var tracker:GoogleAnalyticsAPI;
private var _ar:Array;
public static var CACHE_THROW_ERROR:Boolean;
public function TrackerCache(_arg1:GoogleAnalyticsAPI=null){
this.tracker = _arg1;
_ar = [];
}
public function size():uint{
return (_ar.length);
}
public function flush():void{
var _local1:Object;
var _local2:String;
var _local3:Array;
var _local4:int;
var _local5:int;
if (tracker == null){
return;
};
if (size() > 0){
_local4 = _ar.length;
while (_local5 < _local4) {
_local1 = _ar.shift();
_local2 = (_local1.name as String);
_local3 = (_local1.args as Array);
if (((!((_local2 == null))) && ((_local2 in tracker)))){
(tracker[_local2] as Function).apply(tracker, _local3);
};
_local5++;
};
};
}
public function enqueue(_arg1:String, ... _args):Boolean{
if (_arg1 == null){
return (false);
};
_ar.push({name:_arg1, args:_args});
return (true);
}
public function link(_arg1:String, _arg2:Boolean=false):void{
enqueue("link", _arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
enqueue("addOrganic", _arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
enqueue("setAllowLinker", _arg1);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
enqueue("trackEvent", _arg1, _arg2, _arg3, _arg4);
return (true);
}
public function getClientInfo():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getClientInfo' method for the moment."));
};
return (false);
}
public function trackTrans():void{
enqueue("trackTrans");
}
public function trackPageview(_arg1:String=""):void{
enqueue("trackPageview", _arg1);
}
public function setClientInfo(_arg1:Boolean):void{
enqueue("setClientInfo", _arg1);
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
enqueue("linkByPost", _arg1, _arg2);
}
public function setCookieTimeout(_arg1:int):void{
enqueue("setCookieTimeout", _arg1);
}
public function isEmpty():Boolean{
return ((_ar.length == 0));
}
public function getDetectTitle():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectTitle' method for the moment."));
};
return (false);
}
public function resetSession():void{
enqueue("resetSession");
}
public function setDetectFlash(_arg1:Boolean):void{
enqueue("setDetectFlash", _arg1);
}
public function clear():void{
_ar = [];
}
public function setCampNameKey(_arg1:String):void{
enqueue("setCampNameKey", _arg1);
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
enqueue("addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function createEventTracker(_arg1:String):EventTracker{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'createEventTracker' method for the moment."));
};
return (null);
}
public function setVar(_arg1:String):void{
enqueue("setVar", _arg1);
}
public function clearIgnoredOrganic():void{
enqueue("clearIgnoredOrganic");
}
public function setDomainName(_arg1:String):void{
enqueue("setDomainName", _arg1);
}
public function setCampSourceKey(_arg1:String):void{
enqueue("setCampSourceKey", _arg1);
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'addTrans' method for the moment."));
};
return (null);
}
public function setCampContentKey(_arg1:String):void{
enqueue("setCampContentKey", _arg1);
}
public function setLocalServerMode():void{
enqueue("setLocalServerMode");
}
public function getLocalGifPath():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getLocalGifPath' method for the moment."));
};
return ("");
}
public function setAllowAnchor(_arg1:Boolean):void{
enqueue("setAllowAnchor", _arg1);
}
public function clearIgnoredRef():void{
enqueue("clearIgnoredRef");
}
public function setLocalGifPath(_arg1:String):void{
enqueue("setLocalGifPath", _arg1);
}
public function getVersion():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getVersion' method for the moment."));
};
return ("");
}
public function setCookiePath(_arg1:String):void{
enqueue("setCookiePath", _arg1);
}
public function setSampleRate(_arg1:Number):void{
enqueue("setSampleRate", _arg1);
}
public function setDetectTitle(_arg1:Boolean):void{
enqueue("setDetectTitle", _arg1);
}
public function setAllowHash(_arg1:Boolean):void{
enqueue("setAllowHash", _arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
enqueue("addIgnoredOrganic", _arg1);
}
public function setCampNOKey(_arg1:String):void{
enqueue("setCampNOKey", _arg1);
}
public function getServiceMode():ServerOperationMode{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getServiceMode' method for the moment."));
};
return (null);
}
public function setLocalRemoteServerMode():void{
enqueue("setLocalRemoteServerMode");
}
public function cookiePathCopy(_arg1:String):void{
enqueue("cookiePathCopy", _arg1);
}
public function getDetectFlash():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectFlash' method for the moment."));
};
return (false);
}
public function setCampaignTrack(_arg1:Boolean):void{
enqueue("setCampaignTrack", _arg1);
}
public function clearOrganic():void{
enqueue("clearOrganic");
}
public function setCampTermKey(_arg1:String):void{
enqueue("setCampTermKey", _arg1);
}
public function addIgnoredRef(_arg1:String):void{
enqueue("addIgnoredRef", _arg1);
}
public function setCampMediumKey(_arg1:String):void{
enqueue("setCampMediumKey", _arg1);
}
public function setSessionTimeout(_arg1:int):void{
enqueue("setSessionTimeout", _arg1);
}
public function setRemoteServerMode():void{
enqueue("setRemoteServerMode");
}
public function element(){
return (_ar[0]);
}
public function getAccount():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getAccount' method for the moment."));
};
return ("");
}
}
}//package com.google.analytics.core
Section 47
//TrackerMode (com.google.analytics.core.TrackerMode)
package com.google.analytics.core {
public class TrackerMode {
public static const BRIDGE:String = "Bridge";
public static const AS3:String = "AS3";
}
}//package com.google.analytics.core
Section 48
//Utils (com.google.analytics.core.Utils)
package com.google.analytics.core {
public class Utils {
public static function trim(_arg1:String, _arg2:Boolean=false):String{
var _local5:int;
var _local6:int;
var _local7:int;
if (_arg1 == ""){
return ("");
};
var _local3:Array = [" ", "\n", "\r", "\t"];
var _local4:String = _arg1;
if (_arg2){
_local5 = 0;
while ((((_local5 < _local3.length)) && ((_local4.indexOf(_local3[_local5]) > -1)))) {
_local4 = _local4.split(_local3[_local5]).join("");
_local5++;
};
} else {
_local6 = 0;
while ((((_local6 < _local4.length)) && ((_local3.indexOf(_local4.charAt(_local6)) > -1)))) {
_local6++;
};
_local4 = _local4.substr(_local6);
_local7 = (_local4.length - 1);
while ((((_local7 >= 0)) && ((_local3.indexOf(_local4.charAt(_local7)) > -1)))) {
_local7--;
};
_local4 = _local4.substring(0, (_local7 + 1));
};
return (_local4);
}
public static function generateHash(_arg1:String):int{
var _local4:int;
var _local5:int;
var _local2 = 1;
var _local3:int;
if (((!((_arg1 == null))) && (!((_arg1 == ""))))){
_local2 = 0;
_local4 = (_arg1.length - 1);
while (_local4 >= 0) {
_local5 = _arg1.charCodeAt(_local4);
_local2 = ((((_local2 << 6) & 268435455) + _local5) + (_local5 << 14));
_local3 = (_local2 & 266338304);
if (_local3 != 0){
_local2 = (_local2 ^ (_local3 >> 21));
};
_local4--;
};
};
return (_local2);
}
public static function generate32bitRandom():int{
return (Math.round((Math.random() * 2147483647)));
}
public static function validateAccount(_arg1:String):Boolean{
var _local2:RegExp = /^UA-[0-9]*-[0-9]*$/;
return (_local2.test(_arg1));
}
}
}//package com.google.analytics.core
Section 49
//Cookie (com.google.analytics.data.Cookie)
package com.google.analytics.data {
public interface Cookie {
function fromSharedObject(_arg1:Object):void;
function toURLString():String;
function get creation():Date;
function toSharedObject():Object;
function isExpired():Boolean;
function set creation(_arg1:Date):void;
function set expiration(_arg1:Date):void;
function get expiration():Date;
}
}//package com.google.analytics.data
Section 50
//UTMA (com.google.analytics.data.UTMA)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMA extends UTMCookie {
private var _sessionId:Number;
private var _domainHash:Number;
private var _firstTime:Number;
private var _currentTime:Number;
private var _lastTime:Number;
private var _sessionCount:Number;
public function UTMA(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:Number=NaN, _arg6:Number=NaN){
super("utma", "__utma", ["domainHash", "sessionId", "firstTime", "lastTime", "currentTime", "sessionCount"], (Timespan.twoyears * 1000));
this.domainHash = _arg1;
this.sessionId = _arg2;
this.firstTime = _arg3;
this.lastTime = _arg4;
this.currentTime = _arg5;
this.sessionCount = _arg6;
}
public function get lastTime():Number{
return (_lastTime);
}
public function set lastTime(_arg1:Number):void{
_lastTime = _arg1;
update();
}
public function set currentTime(_arg1:Number):void{
_currentTime = _arg1;
update();
}
public function get sessionId():Number{
return (_sessionId);
}
public function get sessionCount():Number{
return (_sessionCount);
}
public function get firstTime():Number{
return (_firstTime);
}
public function get currentTime():Number{
return (_currentTime);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set sessionId(_arg1:Number):void{
_sessionId = _arg1;
update();
}
public function set sessionCount(_arg1:Number):void{
_sessionCount = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
public function set firstTime(_arg1:Number):void{
_firstTime = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 51
//UTMB (com.google.analytics.data.UTMB)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMB extends UTMCookie {
private var _trackCount:Number;
private var _lastTime:Number;
private var _domainHash:Number;
private var _token:Number;
public static var defaultTimespan:Number = Timespan.thirtyminutes;
public function UTMB(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN){
super("utmb", "__utmb", ["domainHash", "trackCount", "token", "lastTime"], (defaultTimespan * 1000));
this.domainHash = _arg1;
this.trackCount = _arg2;
this.token = _arg3;
this.lastTime = _arg4;
}
public function set token(_arg1:Number):void{
_token = _arg1;
update();
}
public function set trackCount(_arg1:Number):void{
_trackCount = _arg1;
update();
}
public function get lastTime():Number{
return (_lastTime);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set lastTime(_arg1:Number):void{
_lastTime = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
public function get token():Number{
return (_token);
}
public function get trackCount():Number{
return (_trackCount);
}
}
}//package com.google.analytics.data
Section 52
//UTMC (com.google.analytics.data.UTMC)
package com.google.analytics.data {
public class UTMC extends UTMCookie {
private var _domainHash:Number;
public function UTMC(_arg1:Number=NaN){
super("utmc", "__utmc", ["domainHash"]);
this.domainHash = _arg1;
}
public function get domainHash():Number{
return (_domainHash);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 53
//UTMCookie (com.google.analytics.data.UTMCookie)
package com.google.analytics.data {
import com.google.analytics.core.*;
public class UTMCookie implements Cookie {
protected var inURL:String;
protected var name:String;
private var _creation:Date;
private var _expiration:Date;
public var proxy:Buffer;
protected var fields:Array;
private var _timespan:Number;
public function UTMCookie(_arg1:String, _arg2:String, _arg3:Array, _arg4:Number=0){
this.name = _arg1;
this.inURL = _arg2;
this.fields = _arg3;
_timestamp(_arg4);
}
public function isEmpty():Boolean{
var _local2:String;
var _local1:int;
var _local3:int;
while (_local3 < fields.length) {
_local2 = fields[_local3];
if ((((this[_local2] is Number)) && (isNaN(this[_local2])))){
_local1++;
} else {
if ((((this[_local2] is String)) && ((this[_local2] == "")))){
_local1++;
};
};
_local3++;
};
if (_local1 == fields.length){
return (true);
};
return (false);
}
public function resetTimestamp(_arg1:Number=NaN):void{
if (!isNaN(_arg1)){
_timespan = _arg1;
};
_creation = null;
_expiration = null;
_timestamp(_timespan);
}
protected function update():void{
resetTimestamp();
if (proxy){
proxy.update(name, toSharedObject());
};
}
public function reset():void{
var _local1:String;
var _local2:int;
while (_local2 < fields.length) {
_local1 = fields[_local2];
if ((this[_local1] is Number)){
this[_local1] = NaN;
} else {
if ((this[_local1] is String)){
this[_local1] = "";
};
};
_local2++;
};
resetTimestamp();
update();
}
public function fromSharedObject(_arg1:Object):void{
var _local2:String;
var _local3:int = fields.length;
var _local4:int;
while (_local4 < _local3) {
_local2 = fields[_local4];
if (_arg1[_local2]){
this[_local2] = _arg1[_local2];
};
_local4++;
};
if (_arg1.creation){
this.creation = _arg1.creation;
};
if (_arg1.expiration){
this.expiration = _arg1.expiration;
};
}
private function _timestamp(_arg1:Number):void{
creation = new Date();
_timespan = _arg1;
if (_arg1 > 0){
expiration = new Date((creation.valueOf() + _arg1));
};
}
public function isExpired():Boolean{
var _local1:Date = new Date();
var _local2:Number = (expiration.valueOf() - _local1.valueOf());
if (_local2 <= 0){
return (true);
};
return (false);
}
public function set expiration(_arg1:Date):void{
_expiration = _arg1;
}
public function get creation():Date{
return (_creation);
}
public function valueOf():String{
var _local2:String;
var _local3:*;
var _local1:Array = [];
var _local4:int;
while (_local4 < fields.length) {
_local2 = fields[_local4];
_local3 = this[_local2];
if ((_local3 is String)){
if (_local3 == ""){
_local3 = "-";
_local1.push(_local3);
} else {
_local1.push(_local3);
};
} else {
if ((_local3 is Number)){
if (_local3 == 0){
_local1.push(_local3);
} else {
if (isNaN(_local3)){
_local3 = "-";
_local1.push(_local3);
} else {
_local1.push(_local3);
};
};
};
};
_local4++;
};
return (("" + _local1.join(".")));
}
public function toURLString():String{
return (((inURL + "=") + valueOf()));
}
public function get expiration():Date{
if (_expiration){
return (_expiration);
};
return (new Date((new Date().valueOf() + 1000)));
}
public function toSharedObject():Object{
var _local2:String;
var _local3:*;
var _local1:Object = {};
var _local4:int;
for (;_local4 < fields.length;_local4++) {
_local2 = fields[_local4];
_local3 = this[_local2];
if ((_local3 is String)){
_local1[_local2] = _local3;
} else {
if (_local3 == 0){
_local1[_local2] = _local3;
} else {
if (isNaN(_local3)){
continue;
} else {
_local1[_local2] = _local3;
};
};
};
};
_local1.creation = creation;
_local1.expiration = expiration;
return (_local1);
}
public function toString(_arg1:Boolean=false):String{
var _local3:String;
var _local4:*;
var _local2:Array = [];
var _local5:int = fields.length;
var _local6:int;
for (;_local6 < _local5;_local6++) {
_local3 = fields[_local6];
_local4 = this[_local3];
if ((_local4 is String)){
_local2.push((((_local3 + ": \"") + _local4) + "\""));
} else {
if (_local4 == 0){
_local2.push(((_local3 + ": ") + _local4));
} else {
if (isNaN(_local4)){
continue;
} else {
_local2.push(((_local3 + ": ") + _local4));
};
};
};
};
var _local7 = (((name.toUpperCase() + " {") + _local2.join(", ")) + "}");
if (_arg1){
_local7 = (_local7 + (((" creation:" + creation) + ", expiration:") + expiration));
};
return (_local7);
}
public function set creation(_arg1:Date):void{
_creation = _arg1;
}
}
}//package com.google.analytics.data
Section 54
//UTMK (com.google.analytics.data.UTMK)
package com.google.analytics.data {
public class UTMK extends UTMCookie {
private var _hash:Number;
public function UTMK(_arg1:Number=NaN){
super("utmk", "__utmk", ["hash"]);
this.hash = _arg1;
}
public function set hash(_arg1:Number):void{
_hash = _arg1;
update();
}
public function get hash():Number{
return (_hash);
}
}
}//package com.google.analytics.data
Section 55
//UTMV (com.google.analytics.data.UTMV)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMV extends UTMCookie {
private var _domainHash:Number;
private var _value:String;
public function UTMV(_arg1:Number=NaN, _arg2:String=""){
super("utmv", "__utmv", ["domainHash", "value"], (Timespan.twoyears * 1000));
this.domainHash = _arg1;
this.value = _arg2;
}
override public function toURLString():String{
return (((inURL + "=") + encodeURI(valueOf())));
}
public function get value():String{
return (_value);
}
public function get domainHash():Number{
return (_domainHash);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set value(_arg1:String):void{
_value = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 56
//UTMZ (com.google.analytics.data.UTMZ)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMZ extends UTMCookie {
private var _campaignTracking:String;
private var _campaignCreation:Number;
private var _responseCount:Number;
private var _domainHash:Number;
private var _campaignSessions:Number;
public static var defaultTimespan:Number = Timespan.sixmonths;
public function UTMZ(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:String=""){
super("utmz", "__utmz", ["domainHash", "campaignCreation", "campaignSessions", "responseCount", "campaignTracking"], (defaultTimespan * 1000));
this.domainHash = _arg1;
this.campaignCreation = _arg2;
this.campaignSessions = _arg3;
this.responseCount = _arg4;
this.campaignTracking = _arg5;
}
public function set responseCount(_arg1:Number):void{
_responseCount = _arg1;
update();
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set campaignCreation(_arg1:Number):void{
_campaignCreation = _arg1;
update();
}
public function get campaignTracking():String{
return (_campaignTracking);
}
public function get campaignSessions():Number{
return (_campaignSessions);
}
public function get domainHash():Number{
return (_domainHash);
}
public function get responseCount():Number{
return (_responseCount);
}
public function get campaignCreation():Number{
return (_campaignCreation);
}
public function set campaignSessions(_arg1:Number):void{
_campaignSessions = _arg1;
update();
}
public function set campaignTracking(_arg1:String):void{
_campaignTracking = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 57
//X10 (com.google.analytics.data.X10)
package com.google.analytics.data {
public class X10 {
private var _delimEnd:String;// = ")"
private var _minimum:int;
private var _delimSet:String;// = "*"
private var _escapeChar:String;// = "'"
private var _delimBegin:String;// = "("
private var _delimNumValue:String;// = "!"
private var _key:String;// = "k"
private var _set:Array;
private var _hasData:int;
private var _escapeCharMap:Object;
private var _projectData:Object;
private var _value:String;// = "v"
public function X10(){
_set = [_key, _value];
super();
_projectData = {};
_escapeCharMap = {};
_escapeCharMap[_escapeChar] = "'0";
_escapeCharMap[_delimEnd] = "'1";
_escapeCharMap[_delimSet] = "'2";
_escapeCharMap[_delimNumValue] = "'3";
_minimum = 1;
}
private function _setInternal(_arg1:Number, _arg2:String, _arg3:Number, _arg4:String):void{
if (!hasProject(_arg1)){
_projectData[_arg1] = {};
};
if (_projectData[_arg1][_arg2] == undefined){
_projectData[_arg1][_arg2] = [];
};
_projectData[_arg1][_arg2][_arg3] = _arg4;
_hasData = (_hasData + 1);
}
private function _renderProject(_arg1:Object):String{
var _local4:int;
var _local5:Array;
var _local2 = "";
var _local3:Boolean;
var _local6:int = _set.length;
_local4 = 0;
while (_local4 < _local6) {
_local5 = _arg1[_set[_local4]];
if (_local5){
if (_local3){
_local2 = (_local2 + _set[_local4]);
};
_local2 = (_local2 + _renderDataType(_local5));
_local3 = false;
} else {
_local3 = true;
};
_local4++;
};
return (_local2);
}
public function hasProject(_arg1:Number):Boolean{
return (_projectData[_arg1]);
}
public function clearKey(_arg1:Number):void{
_clearInternal(_arg1, _key);
}
private function _renderDataType(_arg1:Array):String{
var _local3:String;
var _local4:int;
var _local2:Array = [];
_local4 = 0;
while (_local4 < _arg1.length) {
if (_arg1[_local4] != undefined){
_local3 = "";
if (((!((_local4 == _minimum))) && ((_arg1[(_local4 - 1)] == undefined)))){
_local3 = (_local3 + _local4.toString());
_local3 = (_local3 + _delimNumValue);
};
_local3 = (_local3 + _escapeExtensibleValue(_arg1[_local4]));
_local2.push(_local3);
};
_local4++;
};
return (((_delimBegin + _local2.join(_delimSet)) + _delimEnd));
}
public function getKey(_arg1:Number, _arg2:Number):String{
return ((_getInternal(_arg1, _key, _arg2) as String));
}
public function hasData():Boolean{
return ((_hasData > 0));
}
public function renderMergedUrlString(_arg1:X10=null):String{
var _local3:String;
if (!_arg1){
return (renderUrlString());
};
var _local2:Array = [_arg1.renderUrlString()];
for (_local3 in _projectData) {
if (((hasProject(Number(_local3))) && (!(_arg1.hasProject(Number(_local3)))))){
_local2.push((_local3 + _renderProject(_projectData[_local3])));
};
};
return (_local2.join(""));
}
public function setValue(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{
if (((((!((Math.round(_arg3) == _arg3))) || (isNaN(_arg3)))) || ((_arg3 == Infinity)))){
return (false);
};
_setInternal(_arg1, _value, _arg2, _arg3.toString());
return (true);
}
public function renderUrlString():String{
var _local2:String;
var _local1:Array = [];
for (_local2 in _projectData) {
if (hasProject(Number(_local2))){
_local1.push((_local2 + _renderProject(_projectData[_local2])));
};
};
return (_local1.join(""));
}
private function _getInternal(_arg1:Number, _arg2:String, _arg3:Number):Object{
if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){
return (_projectData[_arg1][_arg2][_arg3]);
};
return (undefined);
}
public function setKey(_arg1:Number, _arg2:Number, _arg3:String):Boolean{
_setInternal(_arg1, _key, _arg2, _arg3);
return (true);
}
public function clearValue(_arg1:Number):void{
_clearInternal(_arg1, _value);
}
private function _clearInternal(_arg1:Number, _arg2:String):void{
var _local3:Boolean;
var _local4:int;
var _local5:int;
if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){
_projectData[_arg1][_arg2] = undefined;
_local3 = true;
_local5 = _set.length;
_local4 = 0;
while (_local4 < _local5) {
if (_projectData[_arg1][_set[_local4]] != undefined){
_local3 = false;
break;
};
_local4++;
};
if (_local3){
_projectData[_arg1] = undefined;
_hasData = (_hasData - 1);
};
};
}
public function getValue(_arg1:Number, _arg2:Number){
var _local3:* = _getInternal(_arg1, _value, _arg2);
if (_local3 == null){
return (null);
};
return (Number(_local3));
}
private function _escapeExtensibleValue(_arg1:String):String{
var _local3:int;
var _local4:String;
var _local5:String;
var _local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local4 = _arg1.charAt(_local3);
_local5 = _escapeCharMap[_local4];
if (_local5){
_local2 = (_local2 + _local5);
} else {
_local2 = (_local2 + _local4);
};
_local3++;
};
return (_local2);
}
}
}//package com.google.analytics.data
Section 58
//_Style (com.google.analytics.debug._Style)
package com.google.analytics.debug {
import flash.text.*;
import flash.net.*;
public class _Style {
public var failureColor:uint;
public var borderColor:uint;
public var backgroundColor:uint;
private var _sheet:StyleSheet;
public var roundedCorner:uint;
public var warningColor:uint;
public var infoColor:uint;
public var alertColor:uint;
public var successColor:uint;
private var _loader:URLLoader;
private var _defaultSheet:String;
public function _Style(){
_sheet = new StyleSheet();
_loader = new URLLoader();
_init();
}
private function _parseSheet(_arg1:String):void{
_sheet.parseCSS(_arg1);
}
public function get sheet():StyleSheet{
return (_sheet);
}
private function _init():void{
_defaultSheet = "";
_defaultSheet = (_defaultSheet + "a{text-decoration: underline;}\n");
_defaultSheet = (_defaultSheet + ".uiLabel{color: #000000;font-family: Arial;font-size: 12;margin-left: 2;margin-right: 2;}\n");
_defaultSheet = (_defaultSheet + ".uiWarning{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlert{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiInfo{color: #000000;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiSuccess{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiFailure{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlertAction{color: #ffffff;text-align: center;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlertTitle{color: #ffffff;font-family: Arial;font-size: 16;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + "\n");
roundedCorner = 6;
backgroundColor = 0xCCCCCC;
borderColor = 0x555555;
infoColor = 16777113;
alertColor = 0xFFCC00;
warningColor = 0xCC0000;
successColor = 0xFF00;
failureColor = 0xFF0000;
_parseSheet(_defaultSheet);
}
}
}//package com.google.analytics.debug
Section 59
//Alert (com.google.analytics.debug.Alert)
package com.google.analytics.debug {
import flash.events.*;
public class Alert extends Label {
public var autoClose:Boolean;// = true
public var actionOnNextLine:Boolean;// = true
private var _actions:Array;
public function Alert(_arg1:String, _arg2:Array, _arg3:String="uiAlert", _arg4:uint=0, _arg5:Align=null, _arg6:Boolean=false, _arg7:Boolean=true){
if (_arg4 == 0){
_arg4 = Style.alertColor;
};
if (_arg5 == null){
_arg5 = Align.center;
};
super(_arg1, _arg3, _arg4, _arg5, _arg6);
this.selectable = true;
super.mouseChildren = true;
this.buttonMode = true;
this.mouseEnabled = true;
this.useHandCursor = true;
this.actionOnNextLine = _arg7;
_actions = [];
var _local8:int;
while (_local8 < _arg2.length) {
_arg2[_local8].container = this;
_actions.push(_arg2[_local8]);
_local8++;
};
}
private function _defineActions():void{
var _local3:AlertAction;
var _local1 = "";
if (actionOnNextLine){
_local1 = (_local1 + "\n");
} else {
_local1 = (_local1 + " |");
};
_local1 = (_local1 + " ");
var _local2:Array = [];
var _local4:int;
while (_local4 < _actions.length) {
_local3 = _actions[_local4];
_local2.push((((("<a href=\"event:" + _local3.activator) + "\">") + _local3.name) + "</a>"));
_local4++;
};
_local1 = (_local1 + _local2.join(" | "));
appendText(_local1, "uiAlertAction");
}
protected function isValidAction(_arg1:String):Boolean{
var _local2:int;
while (_local2 < _actions.length) {
if (_arg1 == _actions[_local2].activator){
return (true);
};
_local2++;
};
return (false);
}
override protected function layout():void{
super.layout();
_defineActions();
}
protected function getAction(_arg1:String):AlertAction{
var _local2:int;
while (_local2 < _actions.length) {
if (_arg1 == _actions[_local2].activator){
return (_actions[_local2]);
};
_local2++;
};
return (null);
}
protected function spaces(_arg1:int):String{
var _local2 = "";
var _local3 = " ";
var _local4:int;
while (_local4 < (_arg1 + 1)) {
_local2 = (_local2 + _local3);
_local4++;
};
return (_local2);
}
override public function onLink(_arg1:TextEvent):void{
var _local2:AlertAction;
if (isValidAction(_arg1.text)){
_local2 = getAction(_arg1.text);
if (_local2){
_local2.execute();
};
};
if (autoClose){
close();
};
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 60
//AlertAction (com.google.analytics.debug.AlertAction)
package com.google.analytics.debug {
public class AlertAction {
public var container:Alert;
private var _callback;
public var activator:String;
public var name:String;
public function AlertAction(_arg1:String, _arg2:String, _arg3){
this.name = _arg1;
this.activator = _arg2;
_callback = _arg3;
}
public function execute():void{
if (_callback){
if ((_callback is Function)){
(_callback as Function)();
} else {
if ((_callback is String)){
var _local1 = container;
_local1[_callback]();
};
};
};
}
}
}//package com.google.analytics.debug
Section 61
//Align (com.google.analytics.debug.Align)
package com.google.analytics.debug {
public class Align {
private var _value:int;
private var _name:String;
public static const bottomRight:Align = new Align(18, "bottomRight");
;
public static const right:Align = new Align(16, "right");
;
public static const left:Align = new Align(32, "left");
;
public static const topRight:Align = new Align(17, "topRight");
;
public static const bottom:Align = new Align(2, "bottom");
;
public static const bottomLeft:Align = new Align(34, "bottomLeft");
;
public static const topLeft:Align = new Align(33, "topLeft");
;
public static const center:Align = new Align(0x0100, "center");
;
public static const none:Align = new Align(0, "none");
;
public static const top:Align = new Align(1, "top");
;
public function Align(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.debug
Section 62
//Background (com.google.analytics.debug.Background)
package com.google.analytics.debug {
import flash.display.*;
public class Background {
public static function drawRounded(_arg1, _arg2:Graphics, _arg3:uint=0, _arg4:uint=0):void{
var _local5:uint;
var _local6:uint;
var _local7:uint = Style.roundedCorner;
if ((((_arg3 > 0)) && ((_arg4 > 0)))){
_local5 = _arg3;
_local6 = _arg4;
} else {
_local5 = _arg1.width;
_local6 = _arg1.height;
};
if (((_arg1.stickToEdge) && (!((_arg1.alignement == Align.none))))){
switch (_arg1.alignement){
case Align.top:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, _local7);
break;
case Align.topLeft:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, 0, _local7);
break;
case Align.topRight:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, 0);
break;
case Align.bottom:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, _local7, 0, 0);
break;
case Align.bottomLeft:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, 0);
break;
case Align.bottomRight:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, 0, 0);
break;
case Align.left:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, _local7);
break;
case Align.right:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, _local7, 0);
break;
case Align.center:
_arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7);
break;
};
} else {
_arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7);
};
}
}
}//package com.google.analytics.debug
Section 63
//Debug (com.google.analytics.debug.Debug)
package com.google.analytics.debug {
import flash.events.*;
import flash.ui.*;
public class Debug extends Label {
private var _lines:Array;
private var _preferredForcedWidth:uint;// = 540
private var _linediff:int;// = 0
public var maxLines:uint;// = 16
public static var count:uint = 0;
public function Debug(_arg1:uint=0, _arg2:Align=null, _arg3:Boolean=false){
if (_arg2 == null){
_arg2 = Align.bottom;
};
super("", "uiLabel", _arg1, _arg2, _arg3);
this.name = ("Debug" + count++);
_lines = [];
selectable = true;
addEventListener(KeyboardEvent.KEY_DOWN, onKey);
}
public function writeBold(_arg1:String):void{
write(_arg1, true);
}
private function _getLinesToDisplay(_arg1:int=0):Array{
var _local2:Array;
var _local3:uint;
var _local4:uint;
if ((_lines.length - 1) > maxLines){
if ((_linediff <= 0)){
_linediff = (_linediff + _arg1);
} else {
if ((((_linediff > 0)) && ((_arg1 < 0)))){
_linediff = (_linediff + _arg1);
};
};
_local3 = ((_lines.length - maxLines) + _linediff);
_local4 = (_local3 + maxLines);
_local2 = _lines.slice(_local3, _local4);
} else {
_local2 = _lines;
};
return (_local2);
}
private function onKey(_arg1:KeyboardEvent=null):void{
var _local2:Array;
switch (_arg1.keyCode){
case Keyboard.DOWN:
_local2 = _getLinesToDisplay(1);
break;
case Keyboard.UP:
_local2 = _getLinesToDisplay(-1);
break;
default:
_local2 = null;
};
if (_local2 == null){
return;
};
text = _local2.join("\n");
}
override public function get forcedWidth():uint{
if (this.parent){
if (UISprite(this.parent).forcedWidth > _preferredForcedWidth){
return (_preferredForcedWidth);
};
return (UISprite(this.parent).forcedWidth);
//unresolved jump
};
return (super.forcedWidth);
}
public function write(_arg1:String, _arg2:Boolean=false):void{
var _local3:Array;
if (_arg1.indexOf("") > -1){
_local3 = _arg1.split("\n");
} else {
_local3 = [_arg1];
};
var _local4 = "";
var _local5 = "";
if (_arg2){
_local4 = "<b>";
_local5 = "</b>";
};
var _local6:int;
while (_local6 < _local3.length) {
_lines.push(((_local4 + _local3[_local6]) + _local5));
_local6++;
};
var _local7:Array = _getLinesToDisplay();
text = _local7.join("\n");
}
public function close():void{
dispose();
}
override protected function dispose():void{
removeEventListener(KeyboardEvent.KEY_DOWN, onKey);
super.dispose();
}
}
}//package com.google.analytics.debug
Section 64
//DebugConfiguration (com.google.analytics.debug.DebugConfiguration)
package com.google.analytics.debug {
import flash.utils.*;
import com.google.analytics.core.*;
import flash.net.*;
import flash.ui.*;
public class DebugConfiguration {
public var showHideKey:Number;
private var _mode:VisualDebugMode;
private var _verbose:Boolean;// = false
public var destroyKey:Number;
public var GIFRequests:Boolean;// = false
public var showInfos:Boolean;// = true
public var infoTimeout:Number;// = 1000
public var minimizedOnStart:Boolean;// = false
private var _active:Boolean;// = false
public var traceOutput:Boolean;// = false
public var layout:ILayout;
public var warningTimeout:Number;// = 1500
public var javascript:Boolean;// = false
public var showWarnings:Boolean;// = true
private var _visualInitialized:Boolean;// = false
public function DebugConfiguration(){
_mode = VisualDebugMode.basic;
showHideKey = Keyboard.SPACE;
destroyKey = Keyboard.BACKSPACE;
super();
}
public function get verbose():Boolean{
return (_verbose);
}
public function set verbose(_arg1:Boolean):void{
_verbose = _arg1;
}
public function set mode(_arg1):void{
if ((_arg1 is String)){
switch (_arg1){
case "geek":
_arg1 = VisualDebugMode.geek;
break;
case "advanced":
_arg1 = VisualDebugMode.advanced;
break;
case "basic":
default:
_arg1 = VisualDebugMode.basic;
};
};
_mode = _arg1;
}
public function success(_arg1:String):void{
if (layout){
layout.createSuccessAlert(_arg1);
};
if (traceOutput){
trace((("[+] " + _arg1) + " !!"));
};
}
public function get active():Boolean{
return (_active);
}
private function _initializeVisual():void{
if (layout){
layout.init();
_visualInitialized = true;
};
}
private function _destroyVisual():void{
if (((layout) && (_visualInitialized))){
layout.destroy();
};
}
public function warning(_arg1:String, _arg2:VisualDebugMode=null):void{
if (_filter(_arg2)){
return;
};
if (((layout) && (showWarnings))){
layout.createWarning(_arg1);
};
if (traceOutput){
trace((("## " + _arg1) + " ##"));
};
}
private function _filter(_arg1:VisualDebugMode=null):Boolean{
return (((_arg1) && ((int(_arg1) >= int(this.mode)))));
}
public function failure(_arg1:String):void{
if (layout){
layout.createFailureAlert(_arg1);
};
if (traceOutput){
trace((("[-] " + _arg1) + " !!"));
};
}
public function get mode(){
return (_mode);
}
public function set active(_arg1:Boolean):void{
_active = _arg1;
if (_active){
_initializeVisual();
} else {
_destroyVisual();
};
}
protected function trace(_arg1:String):void{
var _local7:Array;
var _local8:int;
var _local2:Array = [];
var _local3 = "";
var _local4 = "";
if (this.mode == VisualDebugMode.geek){
_local3 = (getTimer() + " - ");
_local4 = (new Array(_local3.length).join(" ") + " ");
};
if (_arg1.indexOf("\n") > -1){
_local7 = _arg1.split("\n");
_local8 = 0;
while (_local8 < _local7.length) {
if (_local7[_local8] == ""){
} else {
if (_local8 == 0){
_local2.push((_local3 + _local7[_local8]));
} else {
_local2.push((_local4 + _local7[_local8]));
};
};
_local8++;
};
} else {
_local2.push((_local3 + _arg1));
};
var _local5:int = _local2.length;
var _local6:int;
while (_local6 < _local5) {
trace(_local2[_local6]);
_local6++;
};
}
public function alert(_arg1:String):void{
if (layout){
layout.createAlert(_arg1);
};
if (traceOutput){
trace((("!! " + _arg1) + " !!"));
};
}
public function info(_arg1:String, _arg2:VisualDebugMode=null):void{
if (_filter(_arg2)){
return;
};
if (((layout) && (showInfos))){
layout.createInfo(_arg1);
};
if (traceOutput){
trace(_arg1);
};
}
public function alertGifRequest(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{
if (layout){
layout.createGIFRequestAlert(_arg1, _arg2, _arg3);
};
if (traceOutput){
trace(((">> " + _arg1) + " <<"));
};
}
}
}//package com.google.analytics.debug
Section 65
//FailureAlert (com.google.analytics.debug.FailureAlert)
package com.google.analytics.debug {
public class FailureAlert extends Alert {
public function FailureAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){
var _local4:Align = Align.bottomLeft;
var _local5:Boolean;
var _local6:Boolean;
if (_arg1.verbose){
_arg2 = ((("<u><span class=\"uiAlertTitle\">Failure</span>" + spaces(18)) + "</u>\n\n") + _arg2);
_local4 = Align.center;
_local5 = false;
_local6 = true;
};
super(_arg2, _arg3, "uiFailure", Style.failureColor, _local4, _local5, _local6);
}
}
}//package com.google.analytics.debug
Section 66
//GIFRequestAlert (com.google.analytics.debug.GIFRequestAlert)
package com.google.analytics.debug {
public class GIFRequestAlert extends Alert {
public function GIFRequestAlert(_arg1:String, _arg2:Array){
super(_arg1, _arg2);
}
}
}//package com.google.analytics.debug
Section 67
//ILayout (com.google.analytics.debug.ILayout)
package com.google.analytics.debug {
import flash.display.*;
import com.google.analytics.core.*;
import flash.net.*;
public interface ILayout {
function createAlert(_arg1:String):void;
function addToStage(_arg1:DisplayObject):void;
function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void;
function createWarning(_arg1:String):void;
function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void;
function createInfo(_arg1:String):void;
function createFailureAlert(_arg1:String):void;
function addToPanel(_arg1:String, _arg2:DisplayObject):void;
function init():void;
function createSuccessAlert(_arg1:String):void;
function createVisualDebug():void;
function destroy():void;
function bringToFront(_arg1:DisplayObject):void;
function isAvailable():Boolean;
}
}//package com.google.analytics.debug
Section 68
//Info (com.google.analytics.debug.Info)
package com.google.analytics.debug {
import flash.events.*;
import flash.utils.*;
public class Info extends Label {
private var _timer:Timer;
public function Info(_arg1:String="", _arg2:uint=3000){
super(_arg1, "uiInfo", Style.infoColor, Align.top, true);
if (_arg2 > 0){
_timer = new Timer(_arg2, 1);
_timer.start();
_timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true);
};
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
override public function onLink(_arg1:TextEvent):void{
switch (_arg1.text){
case "hide":
close();
break;
};
}
public function onComplete(_arg1:TimerEvent):void{
close();
}
}
}//package com.google.analytics.debug
Section 69
//Label (com.google.analytics.debug.Label)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class Label extends UISprite {
private var _color:uint;
private var _background:Shape;
private var _textField:TextField;
public var stickToEdge:Boolean;
private var _text:String;
protected var selectable:Boolean;
private var _tag:String;
public static var count:uint = 0;
public function Label(_arg1:String="", _arg2:String="uiLabel", _arg3:uint=0, _arg4:Align=null, _arg5:Boolean=false){
this.name = ("Label" + count++);
selectable = false;
_background = new Shape();
_textField = new TextField();
_text = _arg1;
_tag = _arg2;
if (_arg4 == null){
_arg4 = Align.none;
};
this.alignement = _arg4;
this.stickToEdge = _arg5;
if (_arg3 == 0){
_arg3 = Style.backgroundColor;
};
_color = _arg3;
_textField.addEventListener(TextEvent.LINK, onLink);
}
public function get tag():String{
return (_tag);
}
private function _draw():void{
var _local1:Graphics = _background.graphics;
_local1.clear();
_local1.beginFill(_color);
var _local2:uint = _textField.width;
var _local3:uint = _textField.height;
if (forcedWidth > 0){
_local2 = forcedWidth;
};
Background.drawRounded(this, _local1, _local2, _local3);
_local1.endFill();
}
public function get text():String{
return (_textField.text);
}
public function appendText(_arg1:String, _arg2:String=""):void{
if (_arg1 == ""){
return;
};
if (_arg2 == ""){
_arg2 = tag;
};
_textField.htmlText = (_textField.htmlText + (((("<span class=\"" + _arg2) + "\">") + _arg1) + "</span>"));
_text = (_text + _arg1);
_draw();
resize();
}
public function set text(_arg1:String):void{
if (_arg1 == ""){
_arg1 = _text;
};
_textField.htmlText = (((("<span class=\"" + tag) + "\">") + _arg1) + "</span>");
_text = _arg1;
_draw();
resize();
}
override protected function layout():void{
_textField.type = TextFieldType.DYNAMIC;
_textField.autoSize = TextFieldAutoSize.LEFT;
_textField.background = false;
_textField.selectable = selectable;
_textField.multiline = true;
_textField.styleSheet = Style.sheet;
this.text = _text;
addChild(_background);
addChild(_textField);
}
public function set tag(_arg1:String):void{
_tag = _arg1;
text = "";
}
public function onLink(_arg1:TextEvent):void{
}
override protected function dispose():void{
_textField.removeEventListener(TextEvent.LINK, onLink);
super.dispose();
}
}
}//package com.google.analytics.debug
Section 70
//Layout (com.google.analytics.debug.Layout)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
import com.google.analytics.*;
import com.google.analytics.core.*;
import flash.net.*;
public class Layout implements ILayout {
private var _display:DisplayObject;
private var _infoQueue:Array;
private var _maxCharPerLine:int;// = 85
private var _hasInfo:Boolean;
private var _warningQueue:Array;
private var _hasDebug:Boolean;
private var _hasWarning:Boolean;
private var _mainPanel:Panel;
private var _GRAlertQueue:Array;
private var _debug:DebugConfiguration;
public var visualDebug:Debug;
private var _hasGRAlert:Boolean;
public function Layout(_arg1:DebugConfiguration, _arg2:DisplayObject){
_display = _arg2;
_debug = _arg1;
_hasWarning = false;
_hasInfo = false;
_hasDebug = false;
_hasGRAlert = false;
_warningQueue = [];
_infoQueue = [];
_GRAlertQueue = [];
}
private function onKey(_arg1:KeyboardEvent=null):void{
switch (_arg1.keyCode){
case _debug.showHideKey:
_mainPanel.visible = !(_mainPanel.visible);
break;
case _debug.destroyKey:
destroy();
break;
};
}
public function createWarning(_arg1:String):void{
if (((_hasWarning) || (!(isAvailable())))){
_warningQueue.push(_arg1);
return;
};
_arg1 = _filterMaxChars(_arg1);
_hasWarning = true;
var _local2:Warning = new Warning(_arg1, _debug.warningTimeout);
addToPanel("analytics", _local2);
_local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearWarning, false, 0, true);
if (_hasDebug){
visualDebug.writeBold(_arg1);
};
}
public function bringToFront(_arg1:DisplayObject):void{
_display.stage.setChildIndex(_arg1, (_display.stage.numChildren - 1));
}
public function createFailureAlert(_arg1:String):void{
var _local2:AlertAction;
if (_debug.verbose){
_arg1 = _filterMaxChars(_arg1);
_local2 = new AlertAction("Close", "close", "close");
} else {
_local2 = new AlertAction("X", "close", "close");
};
var _local3:Alert = new FailureAlert(_debug, _arg1, [_local2]);
addToPanel("analytics", _local3);
if (_hasDebug){
if (_debug.verbose){
_arg1 = _arg1.split("\n").join("");
_arg1 = _filterMaxChars(_arg1, 66);
};
visualDebug.writeBold(_arg1);
};
}
public function init():void{
var _local1 = 10;
var _local2:uint = (_display.stage.stageWidth - (_local1 * 2));
var _local3:uint = (_display.stage.stageHeight - (_local1 * 2));
var _local4:Panel = new Panel("analytics", _local2, _local3);
_local4.alignement = Align.top;
_local4.stickToEdge = false;
_local4.title = ("Google Analytics v" + GATracker.version);
_mainPanel = _local4;
addToStage(_local4);
bringToFront(_local4);
if (_debug.minimizedOnStart){
_mainPanel.onToggle();
};
createVisualDebug();
_display.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey, false, 0, true);
}
public function addToPanel(_arg1:String, _arg2:DisplayObject):void{
var _local4:Panel;
var _local3:DisplayObject = _display.stage.getChildByName(_arg1);
if (_local3){
_local4 = (_local3 as Panel);
_local4.addData(_arg2);
} else {
trace((("panel \"" + _arg1) + "\" not found"));
};
}
private function _clearInfo(_arg1:Event):void{
_hasInfo = false;
if (_infoQueue.length > 0){
createInfo(_infoQueue.shift());
};
}
private function _filterMaxChars(_arg1:String, _arg2:int=0):String{
var _local6:String;
var _local3 = "\n";
var _local4:Array = [];
var _local5:Array = _arg1.split(_local3);
if (_arg2 == 0){
_arg2 = _maxCharPerLine;
};
var _local7:int;
while (_local7 < _local5.length) {
_local6 = _local5[_local7];
while (_local6.length > _arg2) {
_local4.push(_local6.substr(0, _arg2));
_local6 = _local6.substring(_arg2);
};
_local4.push(_local6);
_local7++;
};
return (_local4.join(_local3));
}
private function _clearGRAlert(_arg1:Event):void{
_hasGRAlert = false;
if (_GRAlertQueue.length > 0){
createGIFRequestAlert.apply(this, _GRAlertQueue.shift());
};
}
public function createSuccessAlert(_arg1:String):void{
var _local2:AlertAction;
if (_debug.verbose){
_arg1 = _filterMaxChars(_arg1);
_local2 = new AlertAction("Close", "close", "close");
} else {
_local2 = new AlertAction("X", "close", "close");
};
var _local3:Alert = new SuccessAlert(_debug, _arg1, [_local2]);
addToPanel("analytics", _local3);
if (_hasDebug){
if (_debug.verbose){
_arg1 = _arg1.split("\n").join("");
_arg1 = _filterMaxChars(_arg1, 66);
};
visualDebug.writeBold(_arg1);
};
}
public function isAvailable():Boolean{
return (!((_display.stage == null)));
}
public function createAlert(_arg1:String):void{
_arg1 = _filterMaxChars(_arg1);
var _local2:Alert = new Alert(_arg1, [new AlertAction("Close", "close", "close")]);
addToPanel("analytics", _local2);
if (_hasDebug){
visualDebug.writeBold(_arg1);
};
}
public function createInfo(_arg1:String):void{
if (((_hasInfo) || (!(isAvailable())))){
_infoQueue.push(_arg1);
return;
};
_arg1 = _filterMaxChars(_arg1);
_hasInfo = true;
var _local2:Info = new Info(_arg1, _debug.infoTimeout);
addToPanel("analytics", _local2);
_local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearInfo, false, 0, true);
if (_hasDebug){
visualDebug.write(_arg1);
};
}
public function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{
var message = _arg1;
var request = _arg2;
var ref = _arg3;
if (_hasGRAlert){
_GRAlertQueue.push([message, request, ref]);
return;
};
_hasGRAlert = true;
var f:Function = function ():void{
ref.sendRequest(request);
};
message = _filterMaxChars(message);
var gra:GIFRequestAlert = new GIFRequestAlert(message, [new AlertAction("OK", "ok", f), new AlertAction("Cancel", "cancel", "close")]);
addToPanel("analytics", gra);
gra.addEventListener(Event.REMOVED_FROM_STAGE, _clearGRAlert, false, 0, true);
if (_hasDebug){
if (_debug.verbose){
message = message.split("\n").join("");
message = _filterMaxChars(message, 66);
};
visualDebug.write(message);
};
}
public function createVisualDebug():void{
if (!visualDebug){
visualDebug = new Debug();
visualDebug.alignement = Align.bottom;
visualDebug.stickToEdge = true;
addToPanel("analytics", visualDebug);
_hasDebug = true;
};
}
public function addToStage(_arg1:DisplayObject):void{
_display.stage.addChild(_arg1);
}
private function _clearWarning(_arg1:Event):void{
_hasWarning = false;
if (_warningQueue.length > 0){
createWarning(_warningQueue.shift());
};
}
public function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void{
var _local4:Panel = new Panel(_arg1, _arg2, _arg3);
_local4.alignement = Align.center;
_local4.stickToEdge = false;
addToStage(_local4);
bringToFront(_local4);
}
public function destroy():void{
_mainPanel.close();
_debug.layout = null;
}
}
}//package com.google.analytics.debug
Section 71
//Margin (com.google.analytics.debug.Margin)
package com.google.analytics.debug {
public class Margin {
public var top:int;
public var left:int;
public var bottom:int;
public var right:int;
public function Margin(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0){
this.top = _arg1;
this.bottom = _arg2;
this.left = _arg3;
this.right = _arg4;
}
}
}//package com.google.analytics.debug
Section 72
//Panel (com.google.analytics.debug.Panel)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
public class Panel extends UISprite {
private var _savedH:uint;
private var _data:UISprite;
private var _mask:Sprite;
private var _background:Shape;
private var _savedW:uint;
private var _stickToEdge:Boolean;
private var _border:Shape;
private var _borderColor:uint;
protected var baseAlpha:Number;
private var _backgroundColor:uint;
private var _title:Label;
private var _colapsed:Boolean;
private var _name:String;
public function Panel(_arg1:String, _arg2:uint, _arg3:uint, _arg4:uint=0, _arg5:uint=0, _arg6:Number=0.3, _arg7:Align=null, _arg8:Boolean=false){
_name = _arg1;
this.name = _arg1;
this.mouseEnabled = false;
_colapsed = false;
forcedWidth = _arg2;
forcedHeight = _arg3;
this.baseAlpha = _arg6;
_background = new Shape();
_data = new UISprite();
_data.forcedWidth = _arg2;
_data.forcedHeight = _arg3;
_data.mouseEnabled = false;
_title = new Label(_arg1, "uiLabel", 0xFFFFFF, Align.topLeft, _arg8);
_title.buttonMode = true;
_title.margin.top = 0.6;
_title.margin.left = 0.6;
_title.addEventListener(MouseEvent.CLICK, onToggle);
_title.mouseChildren = false;
_border = new Shape();
_mask = new Sprite();
_mask.useHandCursor = false;
_mask.mouseEnabled = false;
_mask.mouseChildren = false;
if (_arg7 == null){
_arg7 = Align.none;
};
this.alignement = _arg7;
this.stickToEdge = _arg8;
if (_arg4 == 0){
_arg4 = Style.backgroundColor;
};
_backgroundColor = _arg4;
if (_arg5 == 0){
_arg5 = Style.borderColor;
};
_borderColor = _arg5;
}
public function get stickToEdge():Boolean{
return (_stickToEdge);
}
public function onToggle(_arg1:MouseEvent=null):void{
if (_colapsed){
_data.visible = true;
} else {
_data.visible = false;
};
_colapsed = !(_colapsed);
_update();
resize();
}
public function set stickToEdge(_arg1:Boolean):void{
_stickToEdge = _arg1;
_title.stickToEdge = _arg1;
}
override protected function dispose():void{
_title.removeEventListener(MouseEvent.CLICK, onToggle);
super.dispose();
}
private function _draw():void{
var _local1:uint;
var _local2:uint;
if (((_savedW) && (_savedH))){
forcedWidth = _savedW;
forcedHeight = _savedH;
};
if (!_colapsed){
_local1 = forcedWidth;
_local2 = forcedHeight;
} else {
_local1 = _title.width;
_local2 = _title.height;
_savedW = forcedWidth;
_savedH = forcedHeight;
forcedWidth = _local1;
forcedHeight = _local2;
};
var _local3:Graphics = _background.graphics;
_local3.clear();
_local3.beginFill(_backgroundColor);
Background.drawRounded(this, _local3, _local1, _local2);
_local3.endFill();
var _local4:Graphics = _data.graphics;
_local4.clear();
_local4.beginFill(_backgroundColor, 0);
Background.drawRounded(this, _local4, _local1, _local2);
_local4.endFill();
var _local5:Graphics = _border.graphics;
_local5.clear();
_local5.lineStyle(0.1, _borderColor);
Background.drawRounded(this, _local5, _local1, _local2);
_local5.endFill();
var _local6:Graphics = _mask.graphics;
_local6.clear();
_local6.beginFill(_backgroundColor);
Background.drawRounded(this, _local6, (_local1 + 1), (_local2 + 1));
_local6.endFill();
}
public function get title():String{
return (_title.text);
}
private function _update():void{
_draw();
if (baseAlpha < 1){
_background.alpha = baseAlpha;
_border.alpha = baseAlpha;
};
}
public function addData(_arg1:DisplayObject):void{
_data.addChild(_arg1);
}
override protected function layout():void{
_update();
addChild(_background);
addChild(_data);
addChild(_title);
addChild(_border);
addChild(_mask);
mask = _mask;
}
public function set title(_arg1:String):void{
_title.text = _arg1;
}
public function close():void{
dispose();
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 73
//Style (com.google.analytics.debug.Style)
package com.google.analytics.debug {
public const Style:_Style = new _Style();
}//package com.google.analytics.debug
Section 74
//SuccessAlert (com.google.analytics.debug.SuccessAlert)
package com.google.analytics.debug {
public class SuccessAlert extends Alert {
public function SuccessAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){
var _local4:Align = Align.bottomLeft;
var _local5:Boolean;
var _local6:Boolean;
if (_arg1.verbose){
_arg2 = ((("<u><span class=\"uiAlertTitle\">Success</span>" + spaces(18)) + "</u>\n\n") + _arg2);
_local4 = Align.center;
_local5 = false;
_local6 = true;
};
super(_arg2, _arg3, "uiSuccess", Style.successColor, _local4, _local5, _local6);
}
}
}//package com.google.analytics.debug
Section 75
//UISprite (com.google.analytics.debug.UISprite)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
public class UISprite extends Sprite {
private var _forcedWidth:uint;
public var margin:Margin;
protected var alignTarget:DisplayObject;
protected var listenResize:Boolean;
public var alignement:Align;
private var _forcedHeight:uint;
public function UISprite(_arg1:DisplayObject=null){
listenResize = false;
alignement = Align.none;
this.alignTarget = _arg1;
margin = new Margin();
addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);
addEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage);
}
public function get forcedHeight():uint{
if (_forcedHeight){
return (_forcedHeight);
};
return (height);
}
private function _onAddedToStage(_arg1:Event):void{
layout();
resize();
}
protected function dispose():void{
var _local1:DisplayObject;
var _local2:int;
while (_local2 < numChildren) {
_local1 = getChildAt(_local2);
if (_local1){
removeChild(_local1);
};
_local2++;
};
}
public function set forcedHeight(_arg1:uint):void{
_forcedHeight = _arg1;
}
public function set forcedWidth(_arg1:uint):void{
_forcedWidth = _arg1;
}
protected function layout():void{
}
public function get forcedWidth():uint{
if (_forcedWidth){
return (_forcedWidth);
};
return (width);
}
public function alignTo(_arg1:Align, _arg2:DisplayObject=null):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:UISprite;
if (_arg2 == null){
if ((parent is Stage)){
_arg2 = this.stage;
} else {
_arg2 = parent;
};
};
if (_arg2 == this.stage){
if (this.stage == null){
return;
};
_local3 = this.stage.stageHeight;
_local4 = this.stage.stageWidth;
_local5 = 0;
_local6 = 0;
} else {
_local7 = (_arg2 as UISprite);
if (_local7.forcedHeight){
_local3 = _local7.forcedHeight;
} else {
_local3 = _local7.height;
};
if (_local7.forcedWidth){
_local4 = _local7.forcedWidth;
} else {
_local4 = _local7.width;
};
_local5 = 0;
_local6 = 0;
};
switch (_arg1){
case Align.top:
x = ((_local4 / 2) - (forcedWidth / 2));
y = (_local6 + margin.top);
break;
case Align.bottom:
x = ((_local4 / 2) - (forcedWidth / 2));
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
case Align.left:
x = (_local5 + margin.left);
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.right:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.center:
x = ((_local4 / 2) - (forcedWidth / 2));
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.topLeft:
x = (_local5 + margin.left);
y = (_local6 + margin.top);
break;
case Align.topRight:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = (_local6 + margin.top);
break;
case Align.bottomLeft:
x = (_local5 + margin.left);
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
case Align.bottomRight:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
};
if (((!(listenResize)) && (!((_arg1 == Align.none))))){
_arg2.addEventListener(Event.RESIZE, onResize, false, 0, true);
listenResize = true;
};
this.alignement = _arg1;
this.alignTarget = _arg2;
}
private function _onRemovedFromStage(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);
removeEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage);
dispose();
}
public function resize():void{
if (alignement != Align.none){
alignTo(alignement, alignTarget);
};
}
protected function onResize(_arg1:Event):void{
resize();
}
}
}//package com.google.analytics.debug
Section 76
//Warning (com.google.analytics.debug.Warning)
package com.google.analytics.debug {
import flash.events.*;
import flash.utils.*;
public class Warning extends Label {
private var _timer:Timer;
public function Warning(_arg1:String="", _arg2:uint=3000){
super(_arg1, "uiWarning", Style.warningColor, Align.top, false);
margin.top = 32;
if (_arg2 > 0){
_timer = new Timer(_arg2, 1);
_timer.start();
_timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true);
};
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
override public function onLink(_arg1:TextEvent):void{
switch (_arg1.text){
case "hide":
close();
break;
};
}
public function onComplete(_arg1:TimerEvent):void{
close();
}
}
}//package com.google.analytics.debug
Section 77
//VisualDebugMode (com.google.analytics.debug.VisualDebugMode)
package com.google.analytics.debug {
public class VisualDebugMode {
private var _value:int;
private var _name:String;
public static const advanced:VisualDebugMode = new VisualDebugMode(1, "advanced");
;
public static const geek:VisualDebugMode = new VisualDebugMode(2, "geek");
;
public static const basic:VisualDebugMode = new VisualDebugMode(0, "basic");
;
public function VisualDebugMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.debug
Section 78
//AnalyticsEvent (com.google.analytics.events.AnalyticsEvent)
package com.google.analytics.events {
import flash.events.*;
import com.google.analytics.*;
public class AnalyticsEvent extends Event {
public var tracker:AnalyticsTracker;
public static const READY:String = "ready";
public function AnalyticsEvent(_arg1:String, _arg2:AnalyticsTracker, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.tracker = _arg2;
}
override public function clone():Event{
return (new AnalyticsEvent(type, tracker, bubbles, cancelable));
}
}
}//package com.google.analytics.events
Section 79
//AdSenseGlobals (com.google.analytics.external.AdSenseGlobals)
package com.google.analytics.external {
import com.google.analytics.debug.*;
public class AdSenseGlobals extends JavascriptProxy {
private var _gaGlobalVerified:Boolean;// = false
public static var gaGlobal_js:XML = <script>
<![CDATA[
function()
{
try
{
gaGlobal
}
catch(e)
{
gaGlobal = {} ;
}
}
]]>
</script>
;
public function AdSenseGlobals(_arg1:DebugConfiguration){
super(_arg1);
}
public function set vid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.vid", _arg1);
}
public function get hid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.hid"));
}
public function set hid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.hid", _arg1);
}
public function get dh():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.dh"));
}
public function get sid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.sid"));
}
public function get vid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.vid"));
}
private function _verify():void{
if (!_gaGlobalVerified){
executeBlock(gaGlobal_js);
_gaGlobalVerified = true;
};
}
public function set sid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.sid", _arg1);
}
public function get gaGlobal():Object{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal"));
}
}
}//package com.google.analytics.external
Section 80
//HTMLDOM (com.google.analytics.external.HTMLDOM)
package com.google.analytics.external {
import com.google.analytics.debug.*;
public class HTMLDOM extends JavascriptProxy {
private var _referrer:String;
private var _language:String;
private var _host:String;
private var _pathname:String;
private var _location:String;
private var _search:String;
private var _characterSet:String;
private var _title:String;
private var _protocol:String;
private var _colorDepth:String;
public static var cache_properties_js:XML = <script>
<![CDATA[
function()
{
var obj = {};
obj.host = document.location.host;
obj.language = navigator.language ? navigator.language : navigator.browserLanguage;
obj.characterSet = document.characterSet ? document.characterSet : document.charset;
obj.colorDepth = window.screen.colorDepth;
obj.location = document.location.toString();
obj.pathname = document.location.pathname;
obj.protocol = document.location.protocol;
obj.search = document.location.search;
obj.referrer = document.referrer;
obj.title = document.title;
return obj;
}
]]>
</script>
;
public function HTMLDOM(_arg1:DebugConfiguration){
super(_arg1);
}
public function get search():String{
if (_search){
return (_search);
};
if (!isAvailable()){
return (null);
};
_search = getProperty("document.location.search");
return (_search);
}
public function get location():String{
if (_location){
return (_location);
};
if (!isAvailable()){
return (null);
};
_location = getPropertyString("document.location");
return (_location);
}
public function get pathname():String{
if (_pathname){
return (_pathname);
};
if (!isAvailable()){
return (null);
};
_pathname = getProperty("document.location.pathname");
return (_pathname);
}
public function cacheProperties():void{
if (!isAvailable()){
return;
};
var _local1:Object = call(cache_properties_js);
if (_local1){
_host = _local1.host;
_language = _local1.language;
_characterSet = _local1.characterSet;
_colorDepth = _local1.colorDepth;
_location = _local1.location;
_pathname = _local1.pathname;
_protocol = _local1.protocol;
_search = _local1.search;
_referrer = _local1.referrer;
_title = _local1.title;
};
}
public function get language():String{
if (_language){
return (_language);
};
if (!isAvailable()){
return (null);
};
var _local1:String = getProperty("navigator.language");
if (_local1 == null){
_local1 = getProperty("navigator.browserLanguage");
};
_language = _local1;
return (_language);
}
public function get colorDepth():String{
if (_colorDepth){
return (_colorDepth);
};
if (!isAvailable()){
return (null);
};
_colorDepth = getProperty("window.screen.colorDepth");
return (_colorDepth);
}
public function get referrer():String{
if (_referrer){
return (_referrer);
};
if (!isAvailable()){
return (null);
};
_referrer = getProperty("document.referrer");
return (_referrer);
}
public function get protocol():String{
if (_protocol){
return (_protocol);
};
if (!isAvailable()){
return (null);
};
_protocol = getProperty("document.location.protocol");
return (_protocol);
}
public function get host():String{
if (_host){
return (_host);
};
if (!isAvailable()){
return (null);
};
_host = getProperty("document.location.host");
return (_host);
}
public function get characterSet():String{
if (_characterSet){
return (_characterSet);
};
if (!isAvailable()){
return (null);
};
var _local1:String = getProperty("document.characterSet");
if (_local1 == null){
_local1 = getProperty("document.charset");
};
_characterSet = _local1;
return (_characterSet);
}
public function get title():String{
if (_title){
return (_title);
};
if (!isAvailable()){
return (null);
};
_title = getProperty("document.title");
return (_title);
}
}
}//package com.google.analytics.external
Section 81
//JavascriptProxy (com.google.analytics.external.JavascriptProxy)
package com.google.analytics.external {
import flash.system.*;
import com.google.analytics.debug.*;
import flash.external.*;
public class JavascriptProxy {
private var _notAvailableWarning:Boolean;// = true
private var _debug:DebugConfiguration;
public static var setProperty_js:XML = <script>
<![CDATA[
function( path , value )
{
var paths;
var prop;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
prop = paths.pop() ;
}
else
{
paths = [];
prop = path;
}
var target = window ;
var len = paths.length ;
for( var i = 0 ; i < len ; i++ )
{
target = target[ paths[i] ] ;
}
target[ prop ] = value ;
}
]]>
</script>
;
public static var hasProperty_js:XML = <script>
<![CDATA[
function( path )
{
var paths;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
}
else
{
paths = [path];
}
var target = window ;
var len = paths.length ;
for( var i = 0 ; i < len ; i++ )
{
target = target[ paths[i] ] ;
}
if( target )
{
return true;
}
else
{
return false;
}
}
]]>
</script>
;
public static var setPropertyRef_js:XML = <script>
<![CDATA[
function( path , target )
{
var paths;
var prop;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
prop = paths.pop() ;
}
else
{
paths = [];
prop = path;
}
alert( "paths:"+paths.length+", prop:"+prop );
var targets;
var name;
if( target.indexOf(".") > 0 )
{
targets = target.split(".");
name = targets.pop();
}
else
{
targets = [];
name = target;
}
alert( "targets:"+targets.length+", name:"+name );
var root = window;
var len = paths.length;
for( var i = 0 ; i < len ; i++ )
{
root = root[ paths[i] ] ;
}
var ref = window;
var depth = targets.length;
for( var j = 0 ; j < depth ; j++ )
{
ref = ref[ targets[j] ] ;
}
root[ prop ] = ref[name] ;
}
]]>
</script>
;
public function JavascriptProxy(_arg1:DebugConfiguration){
_debug = _arg1;
}
public function getProperty(_arg1:String){
return (call((_arg1 + ".valueOf")));
}
public function hasProperty(_arg1:String):Boolean{
return (call(hasProperty_js, _arg1));
}
public function setProperty(_arg1:String, _arg2):void{
call(setProperty_js, _arg1, _arg2);
}
public function executeBlock(_arg1:String):void{
var data = _arg1;
if (isAvailable()){
try {
ExternalInterface.call(data);
} catch(e:SecurityError) {
if (_debug.javascript){
_debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML.");
};
} catch(e:Error) {
if (_debug.javascript){
_debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message));
};
};
};
}
public function getPropertyString(_arg1:String):String{
return (call((_arg1 + ".toString")));
}
public function setPropertyByReference(_arg1:String, _arg2:String):void{
call(setPropertyRef_js, _arg1, _arg2);
}
public function call(_arg1:String, ... _args){
var output:String;
var functionName = _arg1;
var args = _args;
if (isAvailable()){
try {
if (((_debug.javascript) && (_debug.verbose))){
output = "";
output = ("Flash->JS: " + functionName);
output = (output + "( ");
if (args.length > 0){
output = (output + args.join(","));
};
output = (output + " )");
_debug.info(output);
};
args.unshift(functionName);
return (ExternalInterface.call.apply(ExternalInterface, args));
} catch(e:SecurityError) {
if (_debug.javascript){
_debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML.");
};
} catch(e:Error) {
if (_debug.javascript){
_debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message));
};
};
};
return (null);
}
public function isAvailable():Boolean{
var _local1:Boolean = ExternalInterface.available;
if (((_local1) && ((Capabilities.playerType == "External")))){
_local1 = false;
};
if (((((!(_local1)) && (_debug.javascript))) && (_notAvailableWarning))){
_debug.warning("ExternalInterface is not available.");
_notAvailableWarning = false;
};
return (_local1);
}
}
}//package com.google.analytics.external
Section 82
//Environment (com.google.analytics.utils.Environment)
package com.google.analytics.utils {
import flash.system.*;
import com.google.analytics.debug.*;
import com.google.analytics.external.*;
public class Environment {
private var _dom:HTMLDOM;
private var _appName:String;
private var _debug:DebugConfiguration;
private var _appVersion:Version;
private var _url:String;
private var _protocol:Protocols;
private var _userAgent:UserAgent;
public function Environment(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:DebugConfiguration=null, _arg5:HTMLDOM=null){
var _local6:Version;
super();
if (_arg2 == ""){
if (isAIR()){
_arg2 = "AIR";
} else {
_arg2 = "Flash";
};
};
if (_arg3 == ""){
_local6 = flashVersion;
} else {
_local6 = Version.fromString(_arg3);
};
_url = _arg1;
_appName = _arg2;
_appVersion = _local6;
_debug = _arg4;
_dom = _arg5;
}
public function isAIR():Boolean{
return ((((playerType == "Desktop")) && ((Security.sandboxType.toString() == "application"))));
}
public function get screenWidth():Number{
return (Capabilities.screenResolutionX);
}
public function get playerType():String{
return (Capabilities.playerType);
}
public function get locationSearch():String{
var _local1:String = _dom.search;
if (_local1){
return (_local1);
};
return ("");
}
public function get protocol():Protocols{
if (!_protocol){
_findProtocol();
};
return (_protocol);
}
public function get flashVersion():Version{
var _local1:Version = Version.fromString(Capabilities.version.split(" ")[1], ",");
return (_local1);
}
public function get userAgent():UserAgent{
if (!_userAgent){
_userAgent = new UserAgent(this, appName, appVersion.toString(4));
};
return (_userAgent);
}
public function get languageEncoding():String{
var _local1:String;
if (System.useCodePage){
_local1 = _dom.characterSet;
if (_local1){
return (_local1);
};
return ("-");
};
return ("UTF-8");
}
public function get appName():String{
return (_appName);
}
public function get screenColorDepth():String{
var _local1:String;
switch (Capabilities.screenColor){
case "bw":
_local1 = "1";
break;
case "gray":
_local1 = "2";
break;
case "color":
default:
_local1 = "24";
};
var _local2:String = _dom.colorDepth;
if (_local2){
_local1 = _local2;
};
return (_local1);
}
private function _findProtocol():void{
var _local4:String;
var _local5:String;
var _local1:Protocols = Protocols.none;
if (_url != ""){
_local4 = _url.toLowerCase();
_local5 = _local4.substr(0, 5);
switch (_local5){
case "file:":
_local1 = Protocols.file;
break;
case "http:":
_local1 = Protocols.HTTP;
break;
case "https":
if (_local4.charAt(5) == ":"){
_local1 = Protocols.HTTPS;
};
break;
default:
_protocol = Protocols.none;
};
};
var _local2:String = _dom.protocol;
var _local3:String = (_local1.toString() + ":").toLowerCase();
if (((((_local2) && (!((_local2 == _local3))))) && (_debug))){
_debug.warning(((("Protocol mismatch: SWF=" + _local3) + ", DOM=") + _local2));
};
_protocol = _local1;
}
public function get locationSWFPath():String{
return (_url);
}
public function get platform():String{
var _local1:String = Capabilities.manufacturer;
return (_local1.split("Adobe ")[1]);
}
public function get operatingSystem():String{
return (Capabilities.os);
}
public function set appName(_arg1:String):void{
_appName = _arg1;
userAgent.applicationProduct = _arg1;
}
function set url(_arg1:String):void{
_url = _arg1;
}
public function get referrer():String{
var _local1:String = _dom.referrer;
if (_local1){
return (_local1);
};
if (protocol == Protocols.file){
return ("localhost");
};
return ("");
}
public function isInHTML():Boolean{
return ((Capabilities.playerType == "PlugIn"));
}
public function get language():String{
var _local1:String = _dom.language;
var _local2:String = Capabilities.language;
if (_local1){
if ((((_local1.length > _local2.length)) && ((_local1.substr(0, _local2.length) == _local2)))){
_local2 = _local1;
};
};
return (_local2);
}
public function get domainName():String{
var _local1:String;
var _local2:String;
var _local3:int;
if ((((protocol == Protocols.HTTP)) || ((protocol == Protocols.HTTPS)))){
_local1 = _url.toLowerCase();
if (protocol == Protocols.HTTP){
_local2 = _local1.split("http://").join("");
} else {
if (protocol == Protocols.HTTPS){
_local2 = _local1.split("https://").join("");
};
};
_local3 = _local2.indexOf("/");
if (_local3 > -1){
_local2 = _local2.substring(0, _local3);
};
return (_local2);
};
if (protocol == Protocols.file){
return ("localhost");
};
return ("");
}
public function set userAgent(_arg1:UserAgent):void{
_userAgent = _arg1;
}
public function set appVersion(_arg1:Version):void{
_appVersion = _arg1;
userAgent.applicationVersion = _arg1.toString(4);
}
public function get screenHeight():Number{
return (Capabilities.screenResolutionY);
}
public function get locationPath():String{
var _local1:String = _dom.pathname;
if (_local1){
return (_local1);
};
return ("");
}
public function get documentTitle():String{
var _local1:String = _dom.title;
if (_local1){
return (_local1);
};
return ("");
}
public function get appVersion():Version{
return (_appVersion);
}
}
}//package com.google.analytics.utils
Section 83
//Protocols (com.google.analytics.utils.Protocols)
package com.google.analytics.utils {
public class Protocols {
private var _value:int;
private var _name:String;
public static const none:Protocols = new Protocols(0, "none");
;
public static const HTTPS:Protocols = new Protocols(3, "HTTPS");
;
public static const file:Protocols = new Protocols(1, "file");
;
public static const HTTP:Protocols = new Protocols(2, "HTTP");
;
public function Protocols(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.utils
Section 84
//Timespan (com.google.analytics.utils.Timespan)
package com.google.analytics.utils {
public class Timespan {
public static var sixmonths:Number = 15768000;
public static var twoyears:Number = 63072000;
public static var thirtyminutes:Number = 1800;
}
}//package com.google.analytics.utils
Section 85
//URL (com.google.analytics.utils.URL)
package com.google.analytics.utils {
public class URL {
private var _url:String;
public function URL(_arg1:String=""){
_url = _arg1.toLowerCase();
}
public function get domain():String{
var _local1:Array;
if (((!((hostName == ""))) && ((hostName.indexOf(".") > -1)))){
_local1 = hostName.split(".");
switch (_local1.length){
case 2:
return (hostName);
case 3:
if (_local1[1] == "co"){
return (hostName);
};
_local1.shift();
return (_local1.join("."));
case 4:
_local1.shift();
return (_local1.join("."));
};
};
return ("");
}
public function get path():String{
var _local1:String = _url;
if (_local1.indexOf("://") > -1){
_local1 = _local1.split("://")[1];
};
if (_local1.indexOf(hostName) == 0){
_local1 = _local1.substr(hostName.length);
};
if (_local1.indexOf("?") > -1){
_local1 = _local1.split("?")[0];
};
if (_local1.charAt(0) != "/"){
_local1 = ("/" + _local1);
};
return (_local1);
}
public function get protocol():Protocols{
var _local1:String = _url.split("://")[0];
switch (_local1){
case "file":
return (Protocols.file);
case "http":
return (Protocols.HTTP);
case "https":
return (Protocols.HTTPS);
default:
return (Protocols.none);
};
}
public function get hostName():String{
var _local1:String = _url;
if (_local1.indexOf("://") > -1){
_local1 = _local1.split("://")[1];
};
if (_local1.indexOf("/") > -1){
_local1 = _local1.split("/")[0];
};
if (_local1.indexOf("?") > -1){
_local1 = _local1.split("?")[0];
};
if ((((protocol == Protocols.file)) || ((protocol == Protocols.none)))){
return ("");
};
return (_local1);
}
public function get subDomain():String{
if (((!((domain == ""))) && (!((domain == hostName))))){
return (hostName.split(("." + domain)).join(""));
};
return ("");
}
public function get search():String{
var _local1:String = _url;
if (_local1.indexOf("://") > -1){
_local1 = _local1.split("://")[1];
};
if (_local1.indexOf(hostName) == 0){
_local1 = _local1.substr(hostName.length);
};
if (_local1.indexOf("?") > -1){
_local1 = _local1.split("?")[1];
} else {
_local1 = "";
};
return (_local1);
}
}
}//package com.google.analytics.utils
Section 86
//UserAgent (com.google.analytics.utils.UserAgent)
package com.google.analytics.utils {
import flash.system.*;
import com.google.analytics.core.*;
public class UserAgent {
private var _localInfo:Environment;
private var _applicationProduct:String;
private var _version:Version;
public static var minimal:Boolean = false;
public function UserAgent(_arg1:Environment, _arg2:String="", _arg3:String=""){
_localInfo = _arg1;
applicationProduct = _arg2;
_version = Version.fromString(_arg3);
}
public function get tamarinProductToken():String{
if (UserAgent.minimal){
return ("");
};
if (System.vmVersion){
return (("Tamarin/" + Utils.trim(System.vmVersion, true)));
};
return ("");
}
public function get applicationVersion():String{
return (_version.toString(2));
}
public function get vendorProductToken():String{
var _local1 = "";
if (_localInfo.isAIR()){
_local1 = (_local1 + "AIR");
} else {
_local1 = (_local1 + "FlashPlayer");
};
_local1 = (_local1 + "/");
_local1 = (_local1 + _version.toString(3));
return (_local1);
}
public function toString():String{
var _local1 = "";
_local1 = (_local1 + applicationProductToken);
if (applicationComment != ""){
_local1 = (_local1 + (" " + applicationComment));
};
if (tamarinProductToken != ""){
_local1 = (_local1 + (" " + tamarinProductToken));
};
if (vendorProductToken != ""){
_local1 = (_local1 + (" " + vendorProductToken));
};
return (_local1);
}
public function get applicationComment():String{
var _local1:Array = [];
_local1.push(_localInfo.platform);
_local1.push(_localInfo.playerType);
if (!UserAgent.minimal){
_local1.push(_localInfo.operatingSystem);
_local1.push(_localInfo.language);
};
if (Capabilities.isDebugger){
_local1.push("DEBUG");
};
if (_local1.length > 0){
return ((("(" + _local1.join("; ")) + ")"));
};
return ("");
}
public function set applicationVersion(_arg1:String):void{
_version = Version.fromString(_arg1);
}
public function get applicationProductToken():String{
var _local1:String = applicationProduct;
if (applicationVersion != ""){
_local1 = (_local1 + ("/" + applicationVersion));
};
return (_local1);
}
public function set applicationProduct(_arg1:String):void{
_applicationProduct = _arg1;
}
public function get applicationProduct():String{
return (_applicationProduct);
}
}
}//package com.google.analytics.utils
Section 87
//Variables (com.google.analytics.utils.Variables)
package com.google.analytics.utils {
import flash.net.*;
public dynamic class Variables {
public var post:Array;
public var URIencode:Boolean;
public var pre:Array;
public var sort:Boolean;// = true
public function Variables(_arg1:String=null, _arg2:Array=null, _arg3:Array=null){
pre = [];
post = [];
super();
if (_arg1){
decode(_arg1);
};
if (_arg2){
this.pre = _arg2;
};
if (_arg3){
this.post = _arg3;
};
}
private function _join(_arg1:Variables):void{
var _local2:String;
if (!_arg1){
return;
};
for (_local2 in _arg1) {
this[_local2] = _arg1[_local2];
};
}
public function join(... _args):void{
var _local2:int = _args.length;
var _local3:int;
while (_local3 < _local2) {
if (!(_args[_local3] is Variables)){
} else {
_join(_args[_local3]);
};
_local3++;
};
}
public function toString():String{
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:int;
var _local7:String;
var _local8:String;
var _local1:Array = [];
for (_local3 in this) {
_local2 = this[_local3];
if (URIencode){
_local2 = encodeURI(_local2);
};
_local1.push(((_local3 + "=") + _local2));
};
if (sort){
_local1.sort();
};
if (pre.length > 0){
pre.reverse();
_local5 = 0;
while (_local5 < pre.length) {
_local7 = pre[_local5];
_local6 = 0;
while (_local6 < _local1.length) {
_local4 = _local1[_local6];
if (_local4.indexOf(_local7) == 0){
_local1.unshift(_local1.splice(_local6, 1)[0]);
};
_local6++;
};
_local5++;
};
pre.reverse();
};
if (post.length > 0){
_local5 = 0;
while (_local5 < post.length) {
_local8 = post[_local5];
_local6 = 0;
while (_local6 < _local1.length) {
_local4 = _local1[_local6];
if (_local4.indexOf(_local8) == 0){
_local1.push(_local1.splice(_local6, 1)[0]);
};
_local6++;
};
_local5++;
};
};
return (_local1.join("&"));
}
public function decode(_arg1:String):void{
var _local2:Array;
var _local3:String;
var _local4:String;
var _local5:String;
var _local6:Array;
if (_arg1 == ""){
return;
};
if (_arg1.indexOf("&") > -1){
_local2 = _arg1.split("&");
} else {
_local2 = [_arg1];
};
var _local7:int;
while (_local7 < _local2.length) {
_local3 = _local2[_local7];
if (_local3.indexOf("=") > -1){
_local6 = _local3.split("=");
_local4 = _local6[0];
_local5 = decodeURI(_local6[1]);
this[_local4] = _local5;
};
_local7++;
};
}
public function toURLVariables():URLVariables{
var _local2:String;
var _local1:URLVariables = new URLVariables();
for (_local2 in this) {
_local1[_local2] = this[_local2];
};
return (_local1);
}
}
}//package com.google.analytics.utils
Section 88
//Version (com.google.analytics.utils.Version)
package com.google.analytics.utils {
public class Version {
private var _revision:uint;
private var _maxBuild:uint;// = 0xFF
private var _maxMinor:uint;// = 15
private var _maxMajor:uint;// = 15
private var _separator:String;// = "."
private var _maxRevision:uint;// = 0xFFFF
private var _build:uint;
private var _major:uint;
private var _minor:uint;
public function Version(_arg1:uint=0, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0){
var _local5:Version;
super();
if ((((((((_arg1 > _maxMajor)) && ((_arg2 == 0)))) && ((_arg3 == 0)))) && ((_arg4 == 0)))){
_local5 = Version.fromNumber(_arg1);
_arg1 = _local5.major;
_arg2 = _local5.minor;
_arg3 = _local5.build;
_arg4 = _local5.revision;
};
this.major = _arg1;
this.minor = _arg2;
this.build = _arg3;
this.revision = _arg4;
}
public function toString(_arg1:int=0):String{
var _local2:Array;
if ((((_arg1 <= 0)) || ((_arg1 > 4)))){
_arg1 = getFields();
};
switch (_arg1){
case 1:
_local2 = [major];
break;
case 2:
_local2 = [major, minor];
break;
case 3:
_local2 = [major, minor, build];
break;
case 4:
default:
_local2 = [major, minor, build, revision];
};
return (_local2.join(_separator));
}
public function set revision(_arg1:uint):void{
_revision = Math.min(_arg1, _maxRevision);
}
public function get revision():uint{
return (_revision);
}
public function set build(_arg1:uint):void{
_build = Math.min(_arg1, _maxBuild);
}
public function set minor(_arg1:uint):void{
_minor = Math.min(_arg1, _maxMinor);
}
public function get build():uint{
return (_build);
}
public function set major(_arg1:uint):void{
_major = Math.min(_arg1, _maxMajor);
}
public function get minor():uint{
return (_minor);
}
private function getFields():int{
var _local1 = 4;
if (revision == 0){
_local1--;
};
if ((((_local1 == 3)) && ((build == 0)))){
_local1--;
};
if ((((_local1 == 2)) && ((minor == 0)))){
_local1--;
};
return (_local1);
}
public function valueOf():uint{
return (((((major << 28) | (minor << 24)) | (build << 16)) | revision));
}
public function get major():uint{
return (_major);
}
public function equals(_arg1):Boolean{
if (!(_arg1 is Version)){
return (false);
};
if ((((((((_arg1.major == major)) && ((_arg1.minor == minor)))) && ((_arg1.build == build)))) && ((_arg1.revision == revision)))){
return (true);
};
return (false);
}
public static function fromString(_arg1:String="", _arg2:String="."):Version{
var _local4:Array;
var _local3:Version = new (Version);
if ((((_arg1 == "")) || ((_arg1 == null)))){
return (_local3);
};
if (_arg1.indexOf(_arg2) > -1){
_local4 = _arg1.split(_arg2);
_local3.major = parseInt(_local4[0]);
_local3.minor = parseInt(_local4[1]);
_local3.build = parseInt(_local4[2]);
_local3.revision = parseInt(_local4[3]);
} else {
_local3.major = parseInt(_arg1);
};
return (_local3);
}
public static function fromNumber(_arg1:Number=0):Version{
var _local2:Version = new (Version);
if (((((((((((isNaN(_arg1)) || ((_arg1 == 0)))) || ((_arg1 < 0)))) || ((_arg1 == Number.MAX_VALUE)))) || ((_arg1 == Number.POSITIVE_INFINITY)))) || ((_arg1 == Number.NEGATIVE_INFINITY)))){
return (_local2);
};
_local2.major = (_arg1 >>> 28);
_local2.minor = ((_arg1 & 251658240) >>> 24);
_local2.build = ((_arg1 & 0xFF0000) >>> 16);
_local2.revision = (_arg1 & 0xFFFF);
return (_local2);
}
}
}//package com.google.analytics.utils
Section 89
//Bridge (com.google.analytics.v4.Bridge)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.external.*;
public class Bridge implements GoogleAnalyticsAPI {
private var _debug:DebugConfiguration;
private var _proxy:JavascriptProxy;
private var _jsContainer:String;// = "_GATracker"
private var _hasGATracker:Boolean;// = false
private var _account:String;
private static var _linkTrackingObject_js:XML = <script>
<![CDATA[
function( container , target )
{
var targets ;
var name ;
if( target.indexOf(".") > 0 )
{
targets = target.split(".");
name = targets.pop();
}
else
{
targets = [];
name = target;
}
var ref = window;
var depth = targets.length;
for( var j = 0 ; j < depth ; j++ )
{
ref = ref[ targets[j] ] ;
}
window[container][target] = ref[name] ;
}
]]>
</script>
;
private static var _createTrackingObject_js:XML = <script>
<![CDATA[
function( acct )
{
_GATracker[acct] = _gat._getTracker(acct);
}
]]>
</script>
;
private static var _injectTrackingObject_js:XML = <script>
<![CDATA[
function()
{
try
{
_GATracker
}
catch(e)
{
_GATracker = {};
}
}
]]>
</script>
;
private static var _checkGAJS_js:XML = <script>
<![CDATA[
function()
{
if( _gat && _gat._getTracker )
{
return true;
}
return false;
}
]]>
</script>
;
private static var _checkValidTrackingObject_js:XML = <script>
<![CDATA[
function(acct)
{
if( _GATracker[acct] && (_GATracker[acct]._getAccount) )
{
return true ;
}
else
{
return false;
}
}
]]>
</script>
;
public function Bridge(_arg1:String, _arg2:DebugConfiguration, _arg3:JavascriptProxy){
var _local4:String;
var _local5:String;
var _local6:String;
super();
_account = _arg1;
_debug = _arg2;
_proxy = _arg3;
if (!_checkGAJS()){
_local4 = "";
_local4 = (_local4 + "ga.js not found, be sure to check if\n");
_local4 = (_local4 + "<script src=\"http://www.google-analytics.com/ga.js\"></script>\n");
_local4 = (_local4 + "is included in the HTML.");
_debug.warning(_local4);
throw (new Error(_local4));
};
if (!_hasGATracker){
if (((_debug.javascript) && (_debug.verbose))){
_local5 = "";
_local5 = (_local5 + "The Google Analytics tracking code was not found on the container page\n");
_local5 = (_local5 + "we create it");
_debug.info(_local5, VisualDebugMode.advanced);
};
_injectTrackingObject();
};
if (Utils.validateAccount(_arg1)){
_createTrackingObject(_arg1);
} else {
if (_checkTrackingObject(_arg1)){
_linkTrackingObject(_arg1);
} else {
_local6 = "";
_local6 = (_local6 + (("JS Object \"" + _arg1) + "\" doesn't exist in DOM\n"));
_local6 = (_local6 + "Bridge object not created.");
_debug.warning(_local6);
throw (new Error(_local6));
};
};
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_debug.info((((("link( " + _arg1) + ", ") + _arg2) + " )"));
_call("_link", _arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )"));
_call("_addOrganic", _arg1);
}
public function setAllowLinker(_arg1:Boolean):void{
_debug.info((("setAllowLinker( " + _arg1) + " )"));
_call("_setAllowLinker", _arg1);
}
private function _linkTrackingObject(_arg1:String):void{
_proxy.call(_linkTrackingObject_js, _jsContainer, _arg1);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
var _local5 = 2;
if (((_arg3) && (!((_arg3 == ""))))){
_local5 = 3;
};
if ((((_local5 == 3)) && (!(isNaN(_arg4))))){
_local5 = 4;
};
switch (_local5){
case 4:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )"));
return (_call("_trackEvent", _arg1, _arg2, _arg3, _arg4));
case 3:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )"));
return (_call("_trackEvent", _arg1, _arg2, _arg3));
case 2:
default:
_debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )"));
return (_call("_trackEvent", _arg1, _arg2));
};
}
public function setClientInfo(_arg1:Boolean):void{
_debug.info((("setClientInfo( " + _arg1) + " )"));
_call("_setClientInfo", _arg1);
}
public function trackTrans():void{
_debug.info("trackTrans()");
_call("_trackTrans");
}
public function setCookieTimeout(_arg1:int):void{
_debug.info((("setCookieTimeout( " + _arg1) + " )"));
_call("_setCookieTimeout", _arg1);
}
public function trackPageview(_arg1:String=""):void{
_debug.info((("trackPageview( " + _arg1) + " )"));
_call("_trackPageview", _arg1);
}
public function getClientInfo():Boolean{
_debug.info("getClientInfo()");
return (_call("_getClientInfo"));
}
private function _checkValidTrackingObject(_arg1:String):Boolean{
return (_proxy.call(_checkValidTrackingObject_js, _arg1));
}
private function _checkGAJS():Boolean{
return (_proxy.call(_checkGAJS_js));
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_debug.warning((((("linkByPost( " + _arg1) + ", ") + _arg2) + " ) not implemented"));
}
private function _call(_arg1:String, ... _args){
_args.unshift(((((("window." + _jsContainer) + "[\"") + _account) + "\"].") + _arg1));
return (_proxy.call.apply(_proxy, _args));
}
public function hasGAJS():Boolean{
return (_checkGAJS());
}
private function _checkTrackingObject(_arg1:String):Boolean{
var _local2:Boolean = _proxy.hasProperty(_arg1);
var _local3:Boolean = _proxy.hasProperty((_arg1 + "._getAccount"));
return (((_local2) && (_local3)));
}
public function resetSession():void{
_debug.warning("resetSession() not implemented");
}
public function getDetectTitle():Boolean{
_debug.info("getDetectTitle()");
return (_call("_getDetectTitle"));
}
public function setCampNameKey(_arg1:String):void{
_debug.info((("setCampNameKey( " + _arg1) + " )"));
_call("_setCampNameKey", _arg1);
}
public function setDetectFlash(_arg1:Boolean):void{
_debug.info((("setDetectFlash( " + _arg1) + " )"));
_call("_setDetectFlash", _arg1);
}
public function createEventTracker(_arg1:String):EventTracker{
_debug.info((("createEventTracker( " + _arg1) + " )"));
return (new EventTracker(_arg1, this));
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_debug.info((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " )"));
_call("_addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function clearIgnoredOrganic():void{
_debug.info("clearIgnoredOrganic()");
_call("_clearIgnoreOrganic");
}
public function setVar(_arg1:String):void{
_debug.info((("setVar( " + _arg1) + " )"));
_call("_setVar", _arg1);
}
public function setDomainName(_arg1:String):void{
_debug.info((("setDomainName( " + _arg1) + " )"));
_call("_setDomainName", _arg1);
}
public function hasTrackingAccount(_arg1:String):Boolean{
if (Utils.validateAccount(_arg1)){
return (_checkValidTrackingObject(_arg1));
};
return (_checkTrackingObject(_arg1));
}
public function setCampSourceKey(_arg1:String):void{
_debug.info((("setCampSourceKey( " + _arg1) + " )"));
_call("_setCampSourceKey", _arg1);
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
_debug.info((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " )"));
_call("_addTrans", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
return (null);
}
public function setCampContentKey(_arg1:String):void{
_debug.info((("setCampContentKey( " + _arg1) + " )"));
_call("_setCampContentKey", _arg1);
}
public function setLocalServerMode():void{
_debug.info("setLocalServerMode()");
_call("_setLocalServerMode");
}
public function getLocalGifPath():String{
_debug.info("getLocalGifPath()");
return (_call("_getLocalGifPath"));
}
public function clearIgnoredRef():void{
_debug.info("clearIgnoredRef()");
_call("_clearIgnoreRef");
}
public function setAllowAnchor(_arg1:Boolean):void{
_debug.info((("setAllowAnchor( " + _arg1) + " )"));
_call("_setAllowAnchor", _arg1);
}
public function setLocalGifPath(_arg1:String):void{
_debug.info((("setLocalGifPath( " + _arg1) + " )"));
_call("_setLocalGifPath", _arg1);
}
public function getVersion():String{
_debug.info("getVersion()");
return (_call("_getVersion"));
}
private function _injectTrackingObject():void{
_proxy.executeBlock(_injectTrackingObject_js);
_hasGATracker = true;
}
public function setCookiePath(_arg1:String):void{
_debug.info((("setCookiePath( " + _arg1) + " )"));
_call("_setCookiePath", _arg1);
}
public function setSampleRate(_arg1:Number):void{
_debug.info((("setSampleRate( " + _arg1) + " )"));
_call("_setSampleRate", _arg1);
}
public function setAllowHash(_arg1:Boolean):void{
_debug.info((("setAllowHash( " + _arg1) + " )"));
_call("_setAllowHash", _arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
_debug.info((("addIgnoredOrganic( " + _arg1) + " )"));
_call("_addIgnoredOrganic", _arg1);
}
public function setCampNOKey(_arg1:String):void{
_debug.info((("setCampNOKey( " + _arg1) + " )"));
_call("_setCampNOKey", _arg1);
}
public function cookiePathCopy(_arg1:String):void{
_debug.info((("cookiePathCopy( " + _arg1) + " )"));
_call("_cookiePathCopy", _arg1);
}
public function setLocalRemoteServerMode():void{
_debug.info("setLocalRemoteServerMode()");
_call("_setLocalRemoteServerMode");
}
public function getServiceMode():ServerOperationMode{
_debug.info("getServiceMode()");
return (_call("_getServiceMode"));
}
public function setDetectTitle(_arg1:Boolean):void{
_debug.info((("setDetectTitle( " + _arg1) + " )"));
_call("_setDetectTitle", _arg1);
}
private function _createTrackingObject(_arg1:String):void{
_proxy.call(_createTrackingObject_js, _arg1);
}
public function setCampaignTrack(_arg1:Boolean):void{
_debug.info((("setCampaignTrack( " + _arg1) + " )"));
_call("_setCampaignTrack", _arg1);
}
public function clearOrganic():void{
_debug.info("clearOrganic()");
_call("_clearOrganic");
}
public function setCampTermKey(_arg1:String):void{
_debug.info((("setCampTermKey( " + _arg1) + " )"));
_call("_setCampTermKey", _arg1);
}
public function getDetectFlash():Boolean{
_debug.info("getDetectFlash()");
return (_call("_getDetectFlash"));
}
public function setCampMediumKey(_arg1:String):void{
_debug.info((("setCampMediumKey( " + _arg1) + " )"));
_call("_setCampMediumKey", _arg1);
}
public function addIgnoredRef(_arg1:String):void{
_debug.info((("addIgnoredRef( " + _arg1) + " )"));
_call("_addIgnoredRef", _arg1);
}
public function setSessionTimeout(_arg1:int):void{
_debug.info((("setSessionTimeout( " + _arg1) + " )"));
_call("_setSessionTimeout", _arg1);
}
public function setRemoteServerMode():void{
_debug.info("setRemoteServerMode()");
_call("_setRemoteServerMode");
}
public function getAccount():String{
_debug.info("getAccount()");
return (_call("_getAccount"));
}
}
}//package com.google.analytics.v4
Section 90
//Configuration (com.google.analytics.v4.Configuration)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.utils.*;
import com.google.analytics.campaign.*;
public class Configuration {
public var serverMode:ServerOperationMode;
public var detectFlash:Boolean;// = true
public var hasSiteOverlay:Boolean;// = false
public var allowLocalTracking:Boolean;// = true
public var secureRemoteGIFpath:String;// = "https://ssl.google-analytics.com/__utm.gif"
private var _version:String;// = "4.3as"
public var allowDomainHash:Boolean;// = true
public var detectClientInfo:Boolean;// = true
public var idleLoop:Number;// = 30
public var isTrackOutboundSubdomains:Boolean;// = false
public var cookiePath:String;// = "/"
public var transactionFieldDelim:String;// = "|"
private var _organic:Organic;
private var _cookieName:String;// = "analytics"
public var campaignKey:CampaignKey;
public var google:String;// = "google"
public var googleCsePath:String;// = "cse"
public var bucketCapacity:Number;// = 10
private var _sampleRate:Number;// = 1
public var remoteGIFpath:String;// = "http://www.google-analytics.com/__utm.gif"
public var googleSearchParam:String;// = "q"
public var allowLinker:Boolean;// = false
public var maxOutboundLinkExamined:Number;// = 1000
private var _debug:DebugConfiguration;
public var allowAnchor:Boolean;// = false
private var _domain:Domain;
private var _trackingLimitPerSession:int;// = 500
public var tokenCliff:int;// = 10
public var sessionTimeout:Number;
public var idleTimeout:Number;// = 60
public var campaignTracking:Boolean;// = true
public var domainName:String;// = ""
public var detectTitle:Boolean;// = true
public var tokenRate:Number;// = 0.2
public var conversionTimeout:Number;
public var localGIFpath:String;// = "/__utm.gif"
public function Configuration(_arg1:DebugConfiguration=null){
_organic = new Organic();
conversionTimeout = Timespan.sixmonths;
sessionTimeout = Timespan.thirtyminutes;
campaignKey = new CampaignKey();
serverMode = ServerOperationMode.remote;
super();
_debug = _arg1;
_domain = new Domain(DomainNameMode.auto, "", _debug);
serverMode = ServerOperationMode.remote;
_initOrganicSources();
}
public function get organic():Organic{
return (_organic);
}
public function get cookieName():String{
return (_cookieName);
}
public function get trackingLimitPerSession():int{
return (_trackingLimitPerSession);
}
private function _initOrganicSources():void{
addOrganicSource(google, googleSearchParam);
addOrganicSource("yahoo", "p");
addOrganicSource("msn", "q");
addOrganicSource("aol", "query");
addOrganicSource("aol", "encquery");
addOrganicSource("lycos", "query");
addOrganicSource("ask", "q");
addOrganicSource("altavista", "q");
addOrganicSource("netscape", "query");
addOrganicSource("cnn", "query");
addOrganicSource("looksmart", "qt");
addOrganicSource("about", "terms");
addOrganicSource("mamma", "query");
addOrganicSource("alltheweb", "q");
addOrganicSource("gigablast", "q");
addOrganicSource("voila", "rdata");
addOrganicSource("virgilio", "qs");
addOrganicSource("live", "q");
addOrganicSource("baidu", "wd");
addOrganicSource("alice", "qs");
addOrganicSource("yandex", "text");
addOrganicSource("najdi", "q");
addOrganicSource("aol", "q");
addOrganicSource("club-internet", "q");
addOrganicSource("mama", "query");
addOrganicSource("seznam", "q");
addOrganicSource("search", "q");
addOrganicSource("wp", "szukaj");
addOrganicSource("onet", "qt");
addOrganicSource("netsprint", "q");
addOrganicSource("google.interia", "q");
addOrganicSource("szukacz", "q");
addOrganicSource("yam", "k");
addOrganicSource("pchome", "q");
addOrganicSource("kvasir", "searchExpr");
addOrganicSource("sesam", "q");
addOrganicSource("ozu", "q");
addOrganicSource("terra", "query");
addOrganicSource("nostrum", "query");
addOrganicSource("mynet", "q");
addOrganicSource("ekolay", "q");
addOrganicSource("search.ilse", "search_for");
}
public function get sampleRate():Number{
return (_sampleRate);
}
public function addOrganicSource(_arg1:String, _arg2:String):void{
var engine = _arg1;
var keyword = _arg2;
try {
_organic.addSource(engine, keyword);
} catch(e:Error) {
if (((_debug) && (_debug.active))){
_debug.warning(e.message);
};
};
}
public function get domain():Domain{
return (_domain);
}
public function set sampleRate(_arg1:Number):void{
if (_arg1 <= 0){
_arg1 = 0.1;
};
if (_arg1 > 1){
_arg1 = 1;
};
_arg1 = Number(_arg1.toFixed(2));
_sampleRate = _arg1;
}
public function get version():String{
return (_version);
}
}
}//package com.google.analytics.v4
Section 91
//GoogleAnalyticsAPI (com.google.analytics.v4.GoogleAnalyticsAPI)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
public interface GoogleAnalyticsAPI {
function setCampSourceKey(_arg1:String):void;
function getServiceMode():ServerOperationMode;
function resetSession():void;
function setLocalServerMode():void;
function setCampContentKey(_arg1:String):void;
function addOrganic(_arg1:String, _arg2:String):void;
function setDetectFlash(_arg1:Boolean):void;
function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object;
function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean;
function setCampTermKey(_arg1:String):void;
function setCampNameKey(_arg1:String):void;
function addIgnoredOrganic(_arg1:String):void;
function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void;
function setAllowLinker(_arg1:Boolean):void;
function getClientInfo():Boolean;
function getDetectFlash():Boolean;
function setCampaignTrack(_arg1:Boolean):void;
function createEventTracker(_arg1:String):EventTracker;
function setCookieTimeout(_arg1:int):void;
function setAllowAnchor(_arg1:Boolean):void;
function trackTrans():void;
function clearOrganic():void;
function trackPageview(_arg1:String=""):void;
function setLocalGifPath(_arg1:String):void;
function getVersion():String;
function getLocalGifPath():String;
function setVar(_arg1:String):void;
function clearIgnoredOrganic():void;
function setCampMediumKey(_arg1:String):void;
function addIgnoredRef(_arg1:String):void;
function setClientInfo(_arg1:Boolean):void;
function setCookiePath(_arg1:String):void;
function setSampleRate(_arg1:Number):void;
function setSessionTimeout(_arg1:int):void;
function setRemoteServerMode():void;
function clearIgnoredRef():void;
function setDomainName(_arg1:String):void;
function setDetectTitle(_arg1:Boolean):void;
function setAllowHash(_arg1:Boolean):void;
function getAccount():String;
function linkByPost(_arg1:Object, _arg2:Boolean=false):void;
function link(_arg1:String, _arg2:Boolean=false):void;
function setCampNOKey(_arg1:String):void;
function setLocalRemoteServerMode():void;
function cookiePathCopy(_arg1:String):void;
function getDetectTitle():Boolean;
}
}//package com.google.analytics.v4
Section 92
//Tracker (com.google.analytics.v4.Tracker)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.external.*;
import com.google.analytics.utils.*;
import com.google.analytics.data.*;
import com.google.analytics.campaign.*;
public class Tracker implements GoogleAnalyticsAPI {
private const EVENT_TRACKER_LABEL_KEY_NUM:int = 3;
private const EVENT_TRACKER_VALUE_VALUE_NUM:int = 1;
private const EVENT_TRACKER_PROJECT_ID:int = 5;
private const EVENT_TRACKER_OBJECT_NAME_KEY_NUM:int = 1;
private const EVENT_TRACKER_TYPE_KEY_NUM:int = 2;
private var _adSense:AdSenseGlobals;
private var _eventTracker:X10;
private var _noSessionInformation:Boolean;// = false
private var _browserInfo:BrowserInfo;
private var _debug:DebugConfiguration;
private var _isNewVisitor:Boolean;// = false
private var _buffer:Buffer;
private var _config:Configuration;
private var _x10Module:X10;
private var _campaign:CampaignManager;
private var _formatedReferrer:String;
private var _timeStamp:Number;
private var _info:Environment;
private var _domainHash:Number;
private var _campaignInfo:CampaignInfo;
private var _gifRequest:GIFRequest;
private var _hasInitData:Boolean;// = false
private var _account:String;
public function Tracker(_arg1:String, _arg2:Configuration, _arg3:DebugConfiguration, _arg4:Environment, _arg5:Buffer, _arg6:GIFRequest, _arg7:AdSenseGlobals){
var _local8:String;
super();
_account = _arg1;
_config = _arg2;
_debug = _arg3;
_info = _arg4;
_buffer = _arg5;
_gifRequest = _arg6;
_adSense = _arg7;
if (!Utils.validateAccount(_arg1)){
_local8 = (("Account \"" + _arg1) + "\" is not valid.");
_debug.warning(_local8);
throw (new Error(_local8));
};
_initData();
}
private function _doTracking():Boolean{
if (((((!((_info.protocol == Protocols.file))) && (!((_info.protocol == Protocols.none))))) && (_isNotGoogleSearch()))){
return (true);
};
if (_config.allowLocalTracking){
return (true);
};
return (false);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )"));
_config.organic.addSource(_arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
_config.allowLinker = _arg1;
_debug.info((("setAllowLinker( " + _config.allowLinker) + " )"));
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
var _local5:Boolean;
var _local6 = 2;
if (((!((_arg1 == ""))) && (!((_arg2 == ""))))){
_eventTracker.clearKey(EVENT_TRACKER_PROJECT_ID);
_eventTracker.clearValue(EVENT_TRACKER_PROJECT_ID);
_local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_OBJECT_NAME_KEY_NUM, _arg1);
_local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_TYPE_KEY_NUM, _arg2);
if (((_arg3) && (!((_arg3 == ""))))){
_local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_LABEL_KEY_NUM, _arg3);
_local6 = 3;
if (!isNaN(_arg4)){
_local5 = _eventTracker.setValue(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_VALUE_VALUE_NUM, _arg4);
_local6 = 4;
};
};
if (_local5){
_debug.info(((("valid event tracking call\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek);
_sendXEvent(_eventTracker);
};
} else {
_debug.warning(((("event tracking call is not valid, failed!\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek);
_local5 = false;
};
switch (_local6){
case 4:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )"));
break;
case 3:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )"));
break;
case 2:
default:
_debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )"));
};
return (_local5);
}
public function trackPageview(_arg1:String=""):void{
_debug.info((("trackPageview( " + _arg1) + " )"));
if (_doTracking()){
_initData();
_trackMetrics(_arg1);
_noSessionInformation = false;
} else {
_debug.warning((("trackPageview( " + _arg1) + " ) failed"));
};
}
public function setCookieTimeout(_arg1:int):void{
_config.conversionTimeout = _arg1;
_debug.info((("setCookieTimeout( " + _config.conversionTimeout) + " )"));
}
public function trackTrans():void{
_debug.warning("trackTrans() not implemented");
}
public function setClientInfo(_arg1:Boolean):void{
_config.detectClientInfo = _arg1;
_debug.info((("setClientInfo( " + _config.detectClientInfo) + " )"));
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_debug.warning((("linkByPost( " + [_arg1, _arg2].join(", ")) + " ) not implemented"));
}
private function _initData():void{
var _local1:String;
var _local2:String;
if (!_hasInitData){
_updateDomainName();
_domainHash = _getDomainHash();
_timeStamp = Math.round((new Date().getTime() / 1000));
if (_debug.verbose){
_local1 = "";
_local1 = (_local1 + "_initData 0");
_local1 = (_local1 + ("\ndomain name: " + _config.domainName));
_local1 = (_local1 + ("\ndomain hash: " + _domainHash));
_local1 = (_local1 + (((("\ntimestamp: " + _timeStamp) + " (") + new Date((_timeStamp * 1000))) + ")"));
_debug.info(_local1, VisualDebugMode.geek);
};
};
if (_doTracking()){
_handleCookie();
};
if (!_hasInitData){
if (_doTracking()){
_formatedReferrer = _formatReferrer();
_browserInfo = new BrowserInfo(_config, _info);
_debug.info(("browserInfo: " + _browserInfo.toURLString()), VisualDebugMode.advanced);
if (_config.campaignTracking){
_campaign = new CampaignManager(_config, _debug, _buffer, _domainHash, _formatedReferrer, _timeStamp);
_campaignInfo = _campaign.getCampaignInformation(_info.locationSearch, _noSessionInformation);
_debug.info(("campaignInfo: " + _campaignInfo.toURLString()), VisualDebugMode.advanced);
};
};
_x10Module = new X10();
_eventTracker = new X10();
_hasInitData = true;
};
if (_config.hasSiteOverlay){
_debug.warning("Site Overlay is not supported");
};
if (_debug.verbose){
_local2 = "";
_local2 = (_local2 + "_initData (misc)");
_local2 = (_local2 + ("\nflash version: " + _info.flashVersion.toString(4)));
_local2 = (_local2 + ("\nprotocol: " + _info.protocol));
_local2 = (_local2 + (("\ndefault domain name (auto): \"" + _info.domainName) + "\""));
_local2 = (_local2 + ("\nlanguage: " + _info.language));
_local2 = (_local2 + ("\ndomain hash: " + _getDomainHash()));
_local2 = (_local2 + ("\nuser-agent: " + _info.userAgent));
_debug.info(_local2, VisualDebugMode.geek);
};
}
public function getDetectTitle():Boolean{
_debug.info("getDetectTitle()");
return (_config.detectTitle);
}
public function resetSession():void{
_debug.info("resetSession()");
_buffer.resetCurrentSession();
}
public function getClientInfo():Boolean{
_debug.info("getClientInfo()");
return (_config.detectClientInfo);
}
private function _sendXEvent(_arg1:X10=null):void{
var _local2:Variables;
var _local3:EventInfo;
var _local4:Variables;
var _local5:Variables;
_initData();
if (_takeSample()){
_local2 = new Variables();
_local2.URIencode = true;
_local3 = new EventInfo(true, _x10Module, _arg1);
_local4 = _local3.toVariables();
_local5 = _renderMetricsSearchVariables();
_local2.join(_local4, _local5);
_gifRequest.send(_account, _local2, false, true);
};
}
public function setDetectFlash(_arg1:Boolean):void{
_config.detectFlash = _arg1;
_debug.info((("setDetectFlash( " + _config.detectFlash) + " )"));
}
public function setCampNameKey(_arg1:String):void{
_config.campaignKey.UCCN = _arg1;
var _local2 = (("setCampNameKey( " + _config.campaignKey.UCCN) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCCN]"));
} else {
_debug.info(_local2);
};
}
private function _formatReferrer():String{
var _local2:String;
var _local3:URL;
var _local4:URL;
var _local1:String = _info.referrer;
if ((((_local1 == "")) || ((_local1 == "localhost")))){
_local1 = "-";
} else {
_local2 = _info.domainName;
_local3 = new URL(_local1);
_local4 = new URL(("http://" + _local2));
if (_local3.hostName == _local2){
return ("-");
};
if (_local4.domain == _local3.domain){
if (_local4.subDomain != _local3.subDomain){
_local1 = "0";
};
};
if ((((_local1.charAt(0) == "[")) && (_local1.charAt((_local1.length - 1))))){
_local1 = "-";
};
};
_debug.info(("formated referrer: " + _local1), VisualDebugMode.advanced);
return (_local1);
}
private function _visitCode():Number{
if (_debug.verbose){
_debug.info(("visitCode: " + _buffer.utma.sessionId), VisualDebugMode.geek);
};
return (_buffer.utma.sessionId);
}
public function createEventTracker(_arg1:String):EventTracker{
_debug.info((("createEventTracker( " + _arg1) + " )"));
return (new EventTracker(_arg1, this));
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_debug.warning((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " ) not implemented"));
}
public function clearIgnoredOrganic():void{
_debug.info("clearIgnoredOrganic()");
_config.organic.clearIgnoredKeywords();
}
public function setVar(_arg1:String):void{
var _local2:Variables;
if (((!((_arg1 == ""))) && (_isNotGoogleSearch()))){
_initData();
_buffer.utmv.domainHash = _domainHash;
_buffer.utmv.value = _arg1;
if (_debug.verbose){
_debug.info(_buffer.utmv.toString(), VisualDebugMode.geek);
};
_debug.info((("setVar( " + _arg1) + " )"));
if (_takeSample()){
_local2 = new Variables();
_local2.utmt = "var";
_gifRequest.send(_account, _local2);
};
} else {
_debug.warning((("setVar \"" + _arg1) + "\" is ignored"));
};
}
public function setDomainName(_arg1:String):void{
if (_arg1 == "auto"){
_config.domain.mode = DomainNameMode.auto;
} else {
if (_arg1 == "none"){
_config.domain.mode = DomainNameMode.none;
} else {
_config.domain.mode = DomainNameMode.custom;
_config.domain.name = _arg1;
};
};
_updateDomainName();
_debug.info((("setDomainName( " + _config.domainName) + " )"));
}
private function _updateDomainName():void{
var _local1:String;
if (_config.domain.mode == DomainNameMode.auto){
_local1 = _info.domainName;
if (_local1.substring(0, 4) == "www."){
_local1 = _local1.substring(4);
};
_config.domain.name = _local1;
};
_config.domainName = _config.domain.name.toLowerCase();
_debug.info(("domain name: " + _config.domainName), VisualDebugMode.advanced);
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
_debug.warning((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " ) not implemented"));
return (null);
}
private function _renderMetricsSearchVariables(_arg1:String=""):Variables{
var _local4:Variables;
var _local2:Variables = new Variables();
_local2.URIencode = true;
var _local3:DocumentInfo = new DocumentInfo(_config, _info, _formatedReferrer, _arg1, _adSense);
_debug.info(("docInfo: " + _local3.toURLString()), VisualDebugMode.geek);
if (_config.campaignTracking){
_local4 = _campaignInfo.toVariables();
};
var _local5:Variables = _browserInfo.toVariables();
_local2.join(_local3.toVariables(), _local5, _local4);
return (_local2);
}
public function setCampContentKey(_arg1:String):void{
_config.campaignKey.UCCT = _arg1;
var _local2 = (("setCampContentKey( " + _config.campaignKey.UCCT) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCCT]"));
} else {
_debug.info(_local2);
};
}
private function _handleCookie():void{
var _local1:String;
var _local2:String;
var _local3:Array;
var _local4:String;
if (_config.allowLinker){
};
if (((_buffer.hasUTMA()) && (!(_buffer.utma.isEmpty())))){
if (((!(_buffer.hasUTMB())) || (!(_buffer.hasUTMC())))){
_buffer.updateUTMA(_timeStamp);
_noSessionInformation = true;
};
if (_debug.verbose){
_debug.info(("from cookie " + _buffer.utma.toString()), VisualDebugMode.geek);
};
} else {
_debug.info("create a new utma", VisualDebugMode.advanced);
_buffer.utma.domainHash = _domainHash;
_buffer.utma.sessionId = _getUniqueSessionId();
_buffer.utma.firstTime = _timeStamp;
_buffer.utma.lastTime = _timeStamp;
_buffer.utma.currentTime = _timeStamp;
_buffer.utma.sessionCount = 1;
if (_debug.verbose){
_debug.info(_buffer.utma.toString(), VisualDebugMode.geek);
};
_noSessionInformation = true;
_isNewVisitor = true;
};
if (((_adSense.gaGlobal) && ((_adSense.dh == String(_domainHash))))){
if (_adSense.sid){
_buffer.utma.currentTime = Number(_adSense.sid);
if (_debug.verbose){
_local1 = "";
_local1 = (_local1 + "AdSense sid found\n");
_local1 = (_local1 + (((("Override currentTime(" + _buffer.utma.currentTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")"));
_debug.info(_local1, VisualDebugMode.geek);
};
};
if (_isNewVisitor){
if (_adSense.sid){
_buffer.utma.lastTime = Number(_adSense.sid);
if (_debug.verbose){
_local2 = "";
_local2 = (_local2 + "AdSense sid found (new visitor)\n");
_local2 = (_local2 + (((("Override lastTime(" + _buffer.utma.lastTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")"));
_debug.info(_local2, VisualDebugMode.geek);
};
};
if (_adSense.vid){
_local3 = _adSense.vid.split(".");
_buffer.utma.sessionId = Number(_local3[0]);
_buffer.utma.firstTime = Number(_local3[1]);
if (_debug.verbose){
_local4 = "";
_local4 = (_local4 + "AdSense vid found (new visitor)\n");
_local4 = (_local4 + (((("Override sessionId(" + _buffer.utma.sessionId) + ") from AdSense vid(") + Number(_local3[0])) + ")\n"));
_local4 = (_local4 + (((("Override firstTime(" + _buffer.utma.firstTime) + ") from AdSense vid(") + Number(_local3[1])) + ")"));
_debug.info(_local4, VisualDebugMode.geek);
};
};
if (_debug.verbose){
_debug.info(("AdSense modified : " + _buffer.utma.toString()), VisualDebugMode.geek);
};
};
};
_buffer.utmb.domainHash = _domainHash;
if (isNaN(_buffer.utmb.trackCount)){
_buffer.utmb.trackCount = 0;
};
if (isNaN(_buffer.utmb.token)){
_buffer.utmb.token = _config.tokenCliff;
};
if (isNaN(_buffer.utmb.lastTime)){
_buffer.utmb.lastTime = _buffer.utma.currentTime;
};
_buffer.utmc.domainHash = _domainHash;
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.advanced);
_debug.info(_buffer.utmc.toString(), VisualDebugMode.advanced);
};
}
public function setLocalServerMode():void{
_config.serverMode = ServerOperationMode.local;
_debug.info("setLocalServerMode()");
}
public function clearIgnoredRef():void{
_debug.info("clearIgnoredRef()");
_config.organic.clearIgnoredReferrals();
}
public function setCampSourceKey(_arg1:String):void{
_config.campaignKey.UCSR = _arg1;
var _local2 = (("setCampSourceKey( " + _config.campaignKey.UCSR) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCSR]"));
} else {
_debug.info(_local2);
};
}
public function getLocalGifPath():String{
_debug.info("getLocalGifPath()");
return (_config.localGIFpath);
}
public function setLocalGifPath(_arg1:String):void{
_config.localGIFpath = _arg1;
_debug.info((("setLocalGifPath( " + _config.localGIFpath) + " )"));
}
public function getVersion():String{
_debug.info("getVersion()");
return (_config.version);
}
public function setAllowAnchor(_arg1:Boolean):void{
_config.allowAnchor = _arg1;
_debug.info((("setAllowAnchor( " + _config.allowAnchor) + " )"));
}
private function _isNotGoogleSearch():Boolean{
var _local1:String = _config.domainName;
var _local2 = (_local1.indexOf("www.google.") < 0);
var _local3 = (_local1.indexOf(".google.") < 0);
var _local4 = (_local1.indexOf("google.") < 0);
var _local5 = (_local1.indexOf("google.org") > -1);
return (((((((((_local2) || (_local3))) || (_local4))) || (!((_config.cookiePath == "/"))))) || (_local5)));
}
public function setSampleRate(_arg1:Number):void{
if (_arg1 < 0){
_debug.warning("sample rate can not be negative, ignoring value.");
} else {
_config.sampleRate = _arg1;
};
_debug.info((("setSampleRate( " + _config.sampleRate) + " )"));
}
private function _takeSample():Boolean{
if (_debug.verbose){
_debug.info((((("takeSample: (" + (_visitCode() % 10000)) + ") < (") + (_config.sampleRate * 10000)) + ")"), VisualDebugMode.geek);
};
return (((_visitCode() % 10000) < (_config.sampleRate * 10000)));
}
public function setCookiePath(_arg1:String):void{
_config.cookiePath = _arg1;
_debug.info((("setCookiePath( " + _config.cookiePath) + " )"));
}
public function setAllowHash(_arg1:Boolean):void{
_config.allowDomainHash = _arg1;
_debug.info((("setAllowHash( " + _config.allowDomainHash) + " )"));
}
private function _generateUserDataHash():Number{
var _local1 = "";
_local1 = (_local1 + _info.appName);
_local1 = (_local1 + _info.appVersion);
_local1 = (_local1 + _info.language);
_local1 = (_local1 + _info.platform);
_local1 = (_local1 + _info.userAgent.toString());
_local1 = (_local1 + (((_info.screenWidth + "x") + _info.screenHeight) + _info.screenColorDepth));
_local1 = (_local1 + _info.referrer);
return (Utils.generateHash(_local1));
}
public function setCampNOKey(_arg1:String):void{
_config.campaignKey.UCNO = _arg1;
var _local2 = (("setCampNOKey( " + _config.campaignKey.UCNO) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCNO]"));
} else {
_debug.info(_local2);
};
}
public function addIgnoredOrganic(_arg1:String):void{
_debug.info((("addIgnoredOrganic( " + _arg1) + " )"));
_config.organic.addIgnoredKeyword(_arg1);
}
public function setLocalRemoteServerMode():void{
_config.serverMode = ServerOperationMode.both;
_debug.info("setLocalRemoteServerMode()");
}
public function cookiePathCopy(_arg1:String):void{
_debug.warning((("cookiePathCopy( " + _arg1) + " ) not implemented"));
}
public function setDetectTitle(_arg1:Boolean):void{
_config.detectTitle = _arg1;
_debug.info((("setDetectTitle( " + _config.detectTitle) + " )"));
}
public function setCampTermKey(_arg1:String):void{
_config.campaignKey.UCTR = _arg1;
var _local2 = (("setCampTermKey( " + _config.campaignKey.UCTR) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCTR]"));
} else {
_debug.info(_local2);
};
}
public function getServiceMode():ServerOperationMode{
_debug.info("getServiceMode()");
return (_config.serverMode);
}
private function _trackMetrics(_arg1:String=""):void{
var _local2:Variables;
var _local3:Variables;
var _local4:Variables;
var _local5:EventInfo;
if (_takeSample()){
_local2 = new Variables();
_local2.URIencode = true;
if (((_x10Module) && (_x10Module.hasData()))){
_local5 = new EventInfo(false, _x10Module);
_local3 = _local5.toVariables();
};
_local4 = _renderMetricsSearchVariables(_arg1);
_local2.join(_local3, _local4);
_gifRequest.send(_account, _local2);
};
}
public function setCampaignTrack(_arg1:Boolean):void{
_config.campaignTracking = _arg1;
_debug.info((("setCampaignTrack( " + _config.campaignTracking) + " )"));
}
public function addIgnoredRef(_arg1:String):void{
_debug.info((("addIgnoredRef( " + _arg1) + " )"));
_config.organic.addIgnoredReferral(_arg1);
}
public function clearOrganic():void{
_debug.info("clearOrganic()");
_config.organic.clearEngines();
}
public function getDetectFlash():Boolean{
_debug.info("getDetectFlash()");
return (_config.detectFlash);
}
public function setCampMediumKey(_arg1:String):void{
_config.campaignKey.UCMD = _arg1;
var _local2 = (("setCampMediumKey( " + _config.campaignKey.UCMD) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCMD]"));
} else {
_debug.info(_local2);
};
}
private function _getUniqueSessionId():Number{
var _local1:Number = ((Utils.generate32bitRandom() ^ _generateUserDataHash()) * 2147483647);
_debug.info(("Session ID: " + _local1), VisualDebugMode.geek);
return (_local1);
}
private function _getDomainHash():Number{
if (((((!(_config.domainName)) || ((_config.domainName == "")))) || ((_config.domain.mode == DomainNameMode.none)))){
_config.domainName = "";
return (1);
};
_updateDomainName();
if (_config.allowDomainHash){
return (Utils.generateHash(_config.domainName));
};
return (1);
}
public function setSessionTimeout(_arg1:int):void{
_config.sessionTimeout = _arg1;
_debug.info((("setSessionTimeout( " + _config.sessionTimeout) + " )"));
}
public function getAccount():String{
_debug.info("getAccount()");
return (_account);
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_debug.warning((("link( " + [_arg1, _arg2].join(", ")) + " ) not implemented"));
}
public function setRemoteServerMode():void{
_config.serverMode = ServerOperationMode.remote;
_debug.info("setRemoteServerMode()");
}
}
}//package com.google.analytics.v4
Section 93
//AnalyticsTracker (com.google.analytics.AnalyticsTracker)
package com.google.analytics {
import flash.events.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
public interface AnalyticsTracker extends GoogleAnalyticsAPI, IEventDispatcher {
function set account(_arg1:String):void;
function get config():Configuration;
function get mode():String;
function set config(_arg1:Configuration):void;
function set mode(_arg1:String):void;
function set debug(_arg1:DebugConfiguration):void;
function get visualDebug():Boolean;
function get account():String;
function set visualDebug(_arg1:Boolean):void;
function isReady():Boolean;
function get debug():DebugConfiguration;
}
}//package com.google.analytics
Section 94
//API (com.google.analytics.API)
package com.google.analytics {
import com.google.analytics.utils.*;
public class API {
public static var version:Version = new Version();
version.major = 1;
version.minor = 0;
version.build = 1;
version.revision = "$Rev: 319 $ ".split(" ")[1];
}
}//package com.google.analytics
Section 95
//GATracker (com.google.analytics.GATracker)
package com.google.analytics {
import flash.events.*;
import flash.display.*;
import com.google.analytics.core.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import com.google.analytics.external.*;
import com.google.analytics.utils.*;
import com.google.analytics.events.*;
public class GATracker implements AnalyticsTracker {
private var _adSense:AdSenseGlobals;
private var _env:Environment;
private var _visualDebug:Boolean;
private var _idleTimer:IdleTimer;
private var _debug:DebugConfiguration;
private var _buffer:Buffer;
private var _config:Configuration;
private var _mode:String;
private var _display:DisplayObject;
private var _jsproxy:JavascriptProxy;
private var _dom:HTMLDOM;
private var _eventDispatcher:EventDispatcher;
private var _ready:Boolean;// = false
private var _gifRequest:GIFRequest;
private var _account:String;
private var _tracker:GoogleAnalyticsAPI;
public static var version:Version = API.version;
public static var autobuild:Boolean = true;
public function GATracker(_arg1:DisplayObject, _arg2:String, _arg3:String="AS3", _arg4:Boolean=false, _arg5:Configuration=null, _arg6:DebugConfiguration=null){
_display = _arg1;
_eventDispatcher = new EventDispatcher(this);
_tracker = new TrackerCache();
this.account = _arg2;
this.mode = _arg3;
this.visualDebug = _arg4;
if (!_arg6){
this.debug = new DebugConfiguration();
};
if (!_arg5){
this.config = new Configuration(_arg6);
};
if (autobuild){
_factory();
};
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_tracker.link(_arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_tracker.addOrganic(_arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
_tracker.setAllowLinker(_arg1);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
return (_tracker.trackEvent(_arg1, _arg2, _arg3, _arg4));
}
public function setCookieTimeout(_arg1:int):void{
_tracker.setCookieTimeout(_arg1);
}
public function trackTrans():void{
_tracker.trackTrans();
}
public function getClientInfo():Boolean{
return (_tracker.getClientInfo());
}
public function trackPageview(_arg1:String=""):void{
_tracker.trackPageview(_arg1);
}
public function setClientInfo(_arg1:Boolean):void{
_tracker.setClientInfo(_arg1);
}
public function get account():String{
return (_account);
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_tracker.linkByPost(_arg1, _arg2);
}
public function getDetectTitle():Boolean{
return (_tracker.getDetectTitle());
}
public function dispatchEvent(_arg1:Event):Boolean{
return (_eventDispatcher.dispatchEvent(_arg1));
}
public function get config():Configuration{
return (_config);
}
public function set mode(_arg1:String):void{
_mode = _arg1;
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
_eventDispatcher.removeEventListener(_arg1, _arg2, _arg3);
}
public function setDetectFlash(_arg1:Boolean):void{
_tracker.setDetectFlash(_arg1);
}
public function resetSession():void{
_tracker.resetSession();
}
public function setCampNameKey(_arg1:String):void{
_tracker.setCampNameKey(_arg1);
}
public function get debug():DebugConfiguration{
return (_debug);
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_tracker.addItem(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
private function _bridgeFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (Bridge) v" + version) + "\naccount: ") + account));
return (new Bridge(account, _debug, _jsproxy));
}
public function clearIgnoredOrganic():void{
_tracker.clearIgnoredOrganic();
}
public function set account(_arg1:String):void{
_account = _arg1;
}
public function setVar(_arg1:String):void{
_tracker.setVar(_arg1);
}
public function build():void{
if (!isReady()){
_factory();
};
}
public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
_eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function setDomainName(_arg1:String):void{
_tracker.setDomainName(_arg1);
}
public function createEventTracker(_arg1:String):EventTracker{
return (_tracker.createEventTracker(_arg1));
}
public function setCampSourceKey(_arg1:String):void{
_tracker.setCampSourceKey(_arg1);
}
public function set config(_arg1:Configuration):void{
_config = _arg1;
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
return (_tracker.addTrans(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8));
}
public function setCampContentKey(_arg1:String):void{
_tracker.setCampContentKey(_arg1);
}
public function willTrigger(_arg1:String):Boolean{
return (_eventDispatcher.willTrigger(_arg1));
}
public function setLocalServerMode():void{
_tracker.setLocalServerMode();
}
public function getLocalGifPath():String{
return (_tracker.getLocalGifPath());
}
public function setAllowAnchor(_arg1:Boolean):void{
_tracker.setAllowAnchor(_arg1);
}
public function clearIgnoredRef():void{
_tracker.clearIgnoredRef();
}
public function isReady():Boolean{
return (_ready);
}
public function get mode():String{
return (_mode);
}
public function set debug(_arg1:DebugConfiguration):void{
_debug = _arg1;
}
public function setLocalGifPath(_arg1:String):void{
_tracker.setLocalGifPath(_arg1);
}
public function getVersion():String{
return (_tracker.getVersion());
}
public function setSampleRate(_arg1:Number):void{
_tracker.setSampleRate(_arg1);
}
public function setCookiePath(_arg1:String):void{
_tracker.setCookiePath(_arg1);
}
public function setAllowHash(_arg1:Boolean):void{
_tracker.setAllowHash(_arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
_tracker.addIgnoredOrganic(_arg1);
}
public function setLocalRemoteServerMode():void{
_tracker.setLocalRemoteServerMode();
}
public function cookiePathCopy(_arg1:String):void{
_tracker.cookiePathCopy(_arg1);
}
private function _factory():void{
var _local1:GoogleAnalyticsAPI;
_jsproxy = new JavascriptProxy(debug);
if (visualDebug){
debug.layout = new Layout(debug, _display);
debug.active = visualDebug;
};
var _local2:TrackerCache = (_tracker as TrackerCache);
switch (mode){
case TrackerMode.BRIDGE:
_local1 = _bridgeFactory();
break;
case TrackerMode.AS3:
default:
_local1 = _trackerFactory();
};
if (!_local2.isEmpty()){
_local2.tracker = _local1;
_local2.flush();
};
_tracker = _local1;
_ready = true;
dispatchEvent(new AnalyticsEvent(AnalyticsEvent.READY, this));
}
public function setCampTermKey(_arg1:String):void{
_tracker.setCampTermKey(_arg1);
}
private function _trackerFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (AS3) v" + version) + "\naccount: ") + account));
_adSense = new AdSenseGlobals(debug);
_dom = new HTMLDOM(debug);
_dom.cacheProperties();
_env = new Environment("", "", "", debug, _dom);
_buffer = new Buffer(config, debug, false);
_gifRequest = new GIFRequest(config, debug, _buffer, _env);
_idleTimer = new IdleTimer(config, debug, _display, _buffer);
_env.url = _display.stage.loaderInfo.url;
return (new Tracker(account, config, debug, _env, _buffer, _gifRequest, _adSense));
}
public function setCampNOKey(_arg1:String):void{
_tracker.setCampNOKey(_arg1);
}
public function setDetectTitle(_arg1:Boolean):void{
_tracker.setDetectTitle(_arg1);
}
public function getServiceMode():ServerOperationMode{
return (_tracker.getServiceMode());
}
public function clearOrganic():void{
_tracker.clearOrganic();
}
public function setCampaignTrack(_arg1:Boolean):void{
_tracker.setCampaignTrack(_arg1);
}
public function addIgnoredRef(_arg1:String):void{
_tracker.addIgnoredRef(_arg1);
}
public function set visualDebug(_arg1:Boolean):void{
_visualDebug = _arg1;
}
public function setCampMediumKey(_arg1:String):void{
_tracker.setCampMediumKey(_arg1);
}
public function getDetectFlash():Boolean{
return (_tracker.getDetectFlash());
}
public function get visualDebug():Boolean{
return (_visualDebug);
}
public function hasEventListener(_arg1:String):Boolean{
return (_eventDispatcher.hasEventListener(_arg1));
}
public function getAccount():String{
return (_tracker.getAccount());
}
public function setSessionTimeout(_arg1:int):void{
_tracker.setSessionTimeout(_arg1);
}
public function setRemoteServerMode():void{
_tracker.setRemoteServerMode();
}
}
var _local1:* = ServerOperationMode;
return (_local1);
}//package com.google.analytics
Section 96
//ColorMatrix (com.gskinner.geom.ColorMatrix)
package com.gskinner.geom {
public dynamic class ColorMatrix extends Array {
private static const IDENTITY_MATRIX:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
private static const LENGTH:Number = IDENTITY_MATRIX.length;
private static const DELTA_INDEX:Array = [0, 0.01, 0.02, 0.04, 0.05, 0.06, 0.07, 0.08, 0.1, 0.11, 0.12, 0.14, 0.15, 0.16, 0.17, 0.18, 0.2, 0.21, 0.22, 0.24, 0.25, 0.27, 0.28, 0.3, 0.32, 0.34, 0.36, 0.38, 0.4, 0.42, 0.44, 0.46, 0.48, 0.5, 0.53, 0.56, 0.59, 0.62, 0.65, 0.68, 0.71, 0.74, 0.77, 0.8, 0.83, 0.86, 0.89, 0.92, 0.95, 0.98, 1, 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78, 1.84, 1.9, 1.96, 2, 2.12, 2.25, 2.37, 2.5, 2.62, 2.75, 2.87, 3, 3.2, 3.4, 3.6, 3.8, 4, 4.3, 4.7, 4.9, 5, 5.5, 6, 6.5, 6.8, 7, 7.3, 7.5, 7.8, 8, 8.4, 8.7, 9, 9.4, 9.6, 9.8, 10];
public function ColorMatrix(_arg1:Array=null){
_arg1 = fixMatrix(_arg1);
copyMatrix(((_arg1.length)==LENGTH) ? _arg1 : IDENTITY_MATRIX);
}
public function adjustBrightness(_arg1:Number):void{
_arg1 = cleanValue(_arg1, 100);
if ((((_arg1 == 0)) || (isNaN(_arg1)))){
return;
};
multiplyMatrix([1, 0, 0, 0, _arg1, 0, 1, 0, 0, _arg1, 0, 0, 1, 0, _arg1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
}
public function adjustSaturation(_arg1:Number):void{
_arg1 = cleanValue(_arg1, 100);
if ((((_arg1 == 0)) || (isNaN(_arg1)))){
return;
};
var _local2:Number = (1 + ((_arg1)>0) ? ((3 * _arg1) / 100) : (_arg1 / 100));
var _local3:Number = 0.3086;
var _local4:Number = 0.6094;
var _local5:Number = 0.082;
multiplyMatrix([((_local3 * (1 - _local2)) + _local2), (_local4 * (1 - _local2)), (_local5 * (1 - _local2)), 0, 0, (_local3 * (1 - _local2)), ((_local4 * (1 - _local2)) + _local2), (_local5 * (1 - _local2)), 0, 0, (_local3 * (1 - _local2)), (_local4 * (1 - _local2)), ((_local5 * (1 - _local2)) + _local2), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
}
protected function multiplyMatrix(_arg1:Array):void{
var _local4:uint;
var _local5:Number;
var _local6:Number;
var _local2:Array = [];
var _local3:uint;
while (_local3 < 5) {
_local4 = 0;
while (_local4 < 5) {
_local2[_local4] = this[(_local4 + (_local3 * 5))];
_local4++;
};
_local4 = 0;
while (_local4 < 5) {
_local5 = 0;
_local6 = 0;
while (_local6 < 5) {
_local5 = (_local5 + (_arg1[(_local4 + (_local6 * 5))] * _local2[_local6]));
_local6++;
};
this[(_local4 + (_local3 * 5))] = _local5;
_local4++;
};
_local3++;
};
}
protected function cleanValue(_arg1:Number, _arg2:Number):Number{
return (Math.min(_arg2, Math.max(-(_arg2), _arg1)));
}
public function adjustHue(_arg1:Number):void{
_arg1 = ((cleanValue(_arg1, 180) / 180) * Math.PI);
if ((((_arg1 == 0)) || (isNaN(_arg1)))){
return;
};
var _local2:Number = Math.cos(_arg1);
var _local3:Number = Math.sin(_arg1);
var _local4:Number = 0.213;
var _local5:Number = 0.715;
var _local6:Number = 0.072;
multiplyMatrix([((_local4 + (_local2 * (1 - _local4))) + (_local3 * -(_local4))), ((_local5 + (_local2 * -(_local5))) + (_local3 * -(_local5))), ((_local6 + (_local2 * -(_local6))) + (_local3 * (1 - _local6))), 0, 0, ((_local4 + (_local2 * -(_local4))) + (_local3 * 0.143)), ((_local5 + (_local2 * (1 - _local5))) + (_local3 * 0.14)), ((_local6 + (_local2 * -(_local6))) + (_local3 * -0.283)), 0, 0, ((_local4 + (_local2 * -(_local4))) + (_local3 * -((1 - _local4)))), ((_local5 + (_local2 * -(_local5))) + (_local3 * _local5)), ((_local6 + (_local2 * (1 - _local6))) + (_local3 * _local6)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
}
public function toString():String{
return ((("ColorMatrix [ " + this.join(" , ")) + " ]"));
}
protected function fixMatrix(_arg1:Array=null):Array{
if (_arg1 == null){
return (IDENTITY_MATRIX);
};
if ((_arg1 is _slot1)){
_arg1 = _arg1.slice(0);
};
if (_arg1.length < LENGTH){
_arg1 = _arg1.slice(0, _arg1.length).concat(IDENTITY_MATRIX.slice(_arg1.length, LENGTH));
} else {
if (_arg1.length > LENGTH){
_arg1 = _arg1.slice(0, LENGTH);
};
};
return (_arg1);
}
public function reset():void{
var _local1:uint;
while (_local1 < LENGTH) {
this[_local1] = IDENTITY_MATRIX[_local1];
_local1++;
};
}
public function adjustContrast(_arg1:Number):void{
var _local2:Number;
_arg1 = cleanValue(_arg1, 100);
if ((((_arg1 == 0)) || (isNaN(_arg1)))){
return;
};
if (_arg1 < 0){
_local2 = (127 + ((_arg1 / 100) * 127));
} else {
_local2 = (_arg1 % 1);
if (_local2 == 0){
_local2 = DELTA_INDEX[_arg1];
} else {
_local2 = ((DELTA_INDEX[(_arg1 << 0)] * (1 - _local2)) + (DELTA_INDEX[((_arg1 << 0) + 1)] * _local2));
};
_local2 = ((_local2 * 127) + 127);
};
multiplyMatrix([(_local2 / 127), 0, 0, 0, (0.5 * (127 - _local2)), 0, (_local2 / 127), 0, 0, (0.5 * (127 - _local2)), 0, 0, (_local2 / 127), 0, (0.5 * (127 - _local2)), 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
}
public function adjustColor(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
adjustHue(_arg4);
adjustContrast(_arg2);
adjustBrightness(_arg1);
adjustSaturation(_arg3);
}
protected function copyMatrix(_arg1:Array):void{
var _local2:Number = LENGTH;
var _local3:uint;
while (_local3 < _local2) {
this[_local3] = _arg1[_local3];
_local3++;
};
}
public function concat(_arg1:Array):void{
_arg1 = fixMatrix(_arg1);
if (_arg1.length != LENGTH){
return;
};
multiplyMatrix(_arg1);
}
public function clone():ColorMatrix{
return (new ColorMatrix(this));
}
public function toArray():Array{
return (slice(0, 20));
}
}
}//package com.gskinner.geom
Section 97
//GoogleTracker (com.tracker.GoogleTracker)
package com.tracker {
import flash.display.*;
import com.google.analytics.*;
import flash.utils.*;
public class GoogleTracker {
private const UA:String = "UA-8409891-4";
private const DEBUG:Boolean = false;
private var _parent:Sprite;
private var _tracker:AnalyticsTracker;
private static var _instance:GoogleTracker = null;
public function get tracker():AnalyticsTracker{
return (_tracker);
}
public function trackClass(_arg1:Object):void{
var _local2:String = getQualifiedClassName(_arg1);
_tracker.trackPageview(("/" + _local2));
}
public function init(_arg1:Sprite):void{
_parent = _arg1;
_tracker = new GATracker(_parent, UA, "AS3", DEBUG);
}
public function trackPageview(_arg1:String):void{
_tracker.trackPageview(_arg1);
}
public static function getSingleton():GoogleTracker{
if (!_instance){
_instance = new (GoogleTracker);
};
return (_instance);
}
}
}//package com.tracker
Section 98
//Array2 (de.polygonal.ds.Array2)
package de.polygonal.ds {
public class Array2 implements Collection {
private var _a:Array;
private var _h:int;
private var _w:int;
public function Array2(_arg1:int, _arg2:int){
if ((((_arg1 < 1)) || ((_arg2 < 1)))){
throw (new Error("illegal size"));
};
_a = new Array((_w = _arg1), (_h = _arg2));
fill(null);
}
public function get size():int{
return ((_w * _h));
}
public function fill(_arg1):void{
var _local3:int;
var _local4:Class;
var _local2:int = (_w * _h);
if ((_arg1 is Class)){
_local4 = (_arg1 as Class);
_local3 = 0;
while (_local3 < _local2) {
_a[_local3] = new (_local4);
_local3++;
};
} else {
_local3 = 0;
while (_local3 < _local2) {
_a[_local3] = _arg1;
_local3++;
};
};
}
public function get width():int{
return (_w);
}
public function getCol(_arg1:int):Array{
var _local2:Array = [];
var _local3:int;
while (_local3 < _h) {
_local2[_local3] = _a[int(((_local3 * _w) + _arg1))];
_local3++;
};
return (_local2);
}
public function shiftDown():void{
if (_h == 1){
return;
};
var _local1:int = ((_h - 1) * _w);
_a = _a.slice(_local1, (_local1 + _w)).concat(_a);
_a.splice((_h * _w), _w);
}
public function set width(_arg1:int):void{
resize(_arg1, _h);
}
public function appendCol(_arg1:Array):void{
_arg1.length = _h;
var _local2:int;
while (_local2 < _h) {
_a.splice((((_local2 * _w) + _w) + _local2), 0, _arg1[_local2]);
_local2++;
};
_w++;
}
public function set height(_arg1:int):void{
resize(_w, _arg1);
}
public function clear():void{
_a = new Array(size);
}
public function get(_arg1:int, _arg2:int){
return (_a[int(((_arg2 * _w) + _arg1))]);
}
public function setRow(_arg1:uint, _arg2:Array):void{
if ((((_arg1 < 0)) || ((_arg1 > _h)))){
throw (new Error("row index out of bounds"));
};
var _local3:int = (_arg1 * _w);
var _local4:int;
while (_local4 < _w) {
_a[int((_local3 + _local4))] = _arg2[_local4];
_local4++;
};
}
public function prependCol(_arg1:Array):void{
_arg1.length = _h;
var _local2:int;
while (_local2 < _h) {
_a.splice(((_local2 * _w) + _local2), 0, _arg1[_local2]);
_local2++;
};
_w++;
}
public function isEmpty():Boolean{
return (false);
}
public function toArray():Array{
var _local1:Array = _a.concat();
var _local2:int = size;
if (_local1.length > _local2){
_local1.length = _local2;
};
return (_local1);
}
public function contains(_arg1):Boolean{
var _local2:int = size;
var _local3:int;
while (_local3 < _local2) {
if (_a[_local3] === _arg1){
return (true);
};
_local3++;
};
return (false);
}
public function appendRow(_arg1:Array):void{
_arg1.length = _w;
_a = _a.concat(_arg1);
_h++;
}
public function dump():String{
var _local2:int;
var _local3:*;
var _local5:int;
var _local1 = "Array2\n{";
var _local4:int;
while (_local4 < _h) {
_local1 = (_local1 + ("\n" + "\t"));
_local2 = (_local4 * _w);
_local5 = 0;
while (_local5 < _w) {
_local3 = _a[int((_local2 + _local5))];
_local1 = (_local1 + (("[" + ((_local3)!=undefined) ? _local3 : "?") + "]"));
_local5++;
};
_local4++;
};
_local1 = (_local1 + "\n}");
return (_local1);
}
public function getArray():Array{
return (_a);
}
public function getRow(_arg1:int):Array{
var _local2:int = (_arg1 * _w);
return (_a.slice(_local2, (_local2 + _w)));
}
public function get height():int{
return (_h);
}
public function shiftLeft():void{
var _local2:int;
if (_w == 1){
return;
};
var _local1:int = (_w - 1);
var _local3:int;
while (_local3 < _h) {
_local2 = ((_local3 * _w) + _local1);
_a.splice(_local2, 0, _a.splice((_local2 - _local1), 1));
_local3++;
};
}
public function getIterator():Iterator{
return (new Array2Iterator(this));
}
public function prependRow(_arg1:Array):void{
_arg1.length = _w;
_a = _arg1.concat(_a);
_h++;
}
public function set(_arg1:int, _arg2:int, _arg3):void{
_a[int(((_arg2 * _w) + _arg1))] = _arg3;
}
public function resize(_arg1:int, _arg2:int):void{
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
if ((((_arg1 < 1)) || ((_arg2 < 1)))){
throw (new Error("illegal size"));
};
var _local3:Array = _a.concat();
_a.length = 0;
_a.length = (_arg1 * _arg2);
var _local4:int = ((_arg1 < _w)) ? _arg1 : _w;
var _local5:int = ((_arg2 < _h)) ? _arg2 : _h;
_local7 = 0;
while (_local7 < _local5) {
_local8 = (_local7 * _arg1);
_local9 = (_local7 * _w);
_local6 = 0;
while (_local6 < _local4) {
_a[int((_local8 + _local6))] = _local3[int((_local9 + _local6))];
_local6++;
};
_local7++;
};
_w = _arg1;
_h = _arg2;
}
public function transpose():void{
var _local3:int;
var _local1:Array = _a.concat();
var _local2:int;
while (_local2 < _h) {
_local3 = 0;
while (_local3 < _w) {
_a[int(((_local3 * _w) + _local2))] = _local1[int(((_local2 * _w) + _local3))];
_local3++;
};
_local2++;
};
}
public function shiftRight():void{
var _local2:int;
if (_w == 1){
return;
};
var _local1:int = (_w - 1);
var _local3:int;
while (_local3 < _h) {
_local2 = ((_local3 * _w) + _local1);
_a.splice((_local2 - _local1), 0, _a.splice(_local2, 1));
_local3++;
};
}
public function toString():String{
return ((((("[Array2, width=" + width) + ", height=") + height) + "]"));
}
public function shiftUp():void{
if (_h == 1){
return;
};
_a = _a.concat(_a.slice(0, _w));
_a.splice(0, _w);
}
public function setCol(_arg1:int, _arg2:Array):void{
if ((((_arg1 < 0)) || ((_arg1 > _w)))){
throw (new Error("column index out of bounds"));
};
var _local3:int;
while (_local3 < _h) {
_a[int(((_local3 * _w) + _arg1))] = _arg2[_local3];
_local3++;
};
}
}
}//package de.polygonal.ds
class Array2Iterator implements Iterator {
private var _xCursor:int;
private var _a2:Array2;
private var _yCursor:int;
private function Array2Iterator(_arg1:Array2){
_a2 = _arg1;
_xCursor = (_yCursor = 0);
}
public function start():void{
_xCursor = (_yCursor = 0);
}
public function hasNext():Boolean{
return ((((_yCursor * _a2.width) + _xCursor) < _a2.size));
}
public function get data(){
return (_a2.get(_xCursor, _yCursor));
}
public function set data(_arg1):void{
_a2.set(_xCursor, _yCursor, _arg1);
}
public function next(){
var _local1:* = data;
if (++_xCursor == _a2.width){
_yCursor++;
_xCursor = 0;
};
return (_local1);
}
}
Section 99
//ArrayedQueue (de.polygonal.ds.ArrayedQueue)
package de.polygonal.ds {
public class ArrayedQueue implements Collection {
private var _que:Array;
private var _count:int;
private var _size:int;
private var _front:int;
private var _divisor:int;
public function ArrayedQueue(_arg1:int){
init(_arg1);
}
public function get size():int{
return (_count);
}
public function isEmpty():Boolean{
return ((_count == 0));
}
public function get maxSize():int{
return (_size);
}
public function enqueue(_arg1):Boolean{
if (_size != _count){
_que[int(((_count++ + _front) & _divisor))] = _arg1;
return (true);
};
return (false);
}
public function clear():void{
_que = new Array(_size);
_front = (_count = 0);
var _local1:int;
while (_local1 < _size) {
_que[_local1] = null;
_local1++;
};
}
private function init(_arg1:int):void{
if (!(((_arg1 > 0)) && (((_arg1 & (_arg1 - 1)) == 0)))){
_arg1 = (_arg1 | (_arg1 >> 1));
_arg1 = (_arg1 | (_arg1 >> 2));
_arg1 = (_arg1 | (_arg1 >> 4));
_arg1 = (_arg1 | (_arg1 >> 8));
_arg1 = (_arg1 | (_arg1 >> 16));
_arg1++;
};
_size = _arg1;
_divisor = (_arg1 - 1);
clear();
}
public function peek(){
return (_que[_front]);
}
public function toArray():Array{
var _local1:Array = new Array(_count);
var _local2:int;
while (_local2 < _count) {
_local1[_local2] = _que[int(((_local2 + _front) & _divisor))];
_local2++;
};
return (_local1);
}
public function contains(_arg1):Boolean{
var _local2:int;
while (_local2 < _count) {
if (_que[int(((_local2 + _front) & _divisor))] === _arg1){
return (true);
};
_local2++;
};
return (false);
}
public function getIterator():Iterator{
return (new ArrayedQueueIterator(this));
}
public function dispose():void{
if (!_front){
_que[int((_size - 1))] = null;
} else {
_que[int((_front - 1))] = null;
};
}
public function back(){
return (_que[int((((_count - 1) + _front) & _divisor))]);
}
public function getAt(_arg1:int){
if (_arg1 >= _count){
return (null);
};
return (_que[int(((_arg1 + _front) & _divisor))]);
}
public function toString():String{
return ((("[ArrayedQueue, size=" + size) + "]"));
}
public function dequeue(){
var _local1:*;
if (_count > 0){
_local1 = _que[int(_front++)];
if (_front == _size){
_front = 0;
};
_count--;
return (_local1);
};
return (null);
}
public function dump():String{
var _local2:int;
var _local1 = "[ArrayedQueue]\n";
_local1 = (_local1 + (("\t" + getAt(_local2)) + " -> front\n"));
_local2 = 1;
while (_local2 < _count) {
_local1 = (_local1 + (("\t" + getAt(_local2)) + "\n"));
_local2++;
};
return (_local1);
}
public function setAt(_arg1:int, _arg2):void{
if (_arg1 >= _count){
return;
};
_que[int(((_arg1 + _front) & _divisor))] = _arg2;
}
}
}//package de.polygonal.ds
class ArrayedQueueIterator implements Iterator {
private var _que:ArrayedQueue;
private var _cursor:int;
private function ArrayedQueueIterator(_arg1:ArrayedQueue){
_que = _arg1;
_cursor = 0;
}
public function get data(){
return (_que.getAt(_cursor));
}
public function next(){
if (_cursor < _que.size){
return (_que.getAt(_cursor++));
};
return (null);
}
public function hasNext():Boolean{
return ((_cursor < _que.size));
}
public function set data(_arg1):void{
_que.setAt(_cursor, _arg1);
}
public function start():void{
_cursor = 0;
}
}
Section 100
//Collection (de.polygonal.ds.Collection)
package de.polygonal.ds {
public interface Collection {
function get size():int;
function isEmpty():Boolean;
function getIterator():Iterator;
function clear():void;
function toArray():Array;
function contains(_arg1):Boolean;
}
}//package de.polygonal.ds
Section 101
//Iterator (de.polygonal.ds.Iterator)
package de.polygonal.ds {
public interface Iterator {
function start():void;
function set data(_arg1):void;
function get data();
function next();
function hasNext():Boolean;
}
}//package de.polygonal.ds
Section 102
//CircularFilledClock (GenericUILib.CircularFilledClock)
package GenericUILib {
import flash.utils.*;
public class CircularFilledClock extends SemiCircle {
protected var _paused:Boolean;// = false
protected var _forceEnd:Boolean;// = false
protected var _maxTime:Number;
protected var _backgroundColor:Number;
protected var _borderColor:Number;
protected var _initTime:Number;
protected var _currentTime:Number;
protected var _pauseTime:Number;
protected var _borderWidth:Number;
public function CircularFilledClock(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){
_maxTime = _arg2;
_currentTime = _arg1;
_initTime = (getTimer() / 1000);
_borderColor = _arg4;
_borderWidth = _arg5;
_backgroundColor = _arg6;
draw(_arg3, getRadians(_currentTime), getRadians(_maxTime), _arg4, _arg5, _arg6);
}
public function update():void{
if (_paused){
return;
};
var _local1:Number = getTimer();
_currentTime = ((_local1 / 1000) - _initTime);
}
public function paint():void{
draw(_radius, getRadians(_currentTime), getRadians(_maxTime), _borderColor, _borderWidth, _backgroundColor);
}
public function start():void{
_initTime = (getTimer() / 1000);
}
public function resume():void{
var _local1:Number = ((getTimer() / 1000) - _pauseTime);
_initTime = (_initTime + _local1);
_currentTime = (_currentTime + _local1);
_paused = false;
}
public function finished():Boolean{
if (_forceEnd){
_forceEnd = false;
return (true);
};
return ((_currentTime >= _maxTime));
}
public function forceEnd():void{
_forceEnd = true;
}
protected function getRadians(_arg1:Number):Number{
return ((((_arg1 / _maxTime) * Math.PI) * 2));
}
public function pause():void{
_pauseTime = (getTimer() / 1000);
_paused = true;
}
public function isPaused():Boolean{
return (_paused);
}
}
}//package GenericUILib
Section 103
//GenericButton (GenericUILib.GenericButton)
package GenericUILib {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import caurina.transitions.*;
import flash.filters.*;
public class GenericButton extends Sprite {
private var _bmpUp:BitmapData;
private var _bmpDown:BitmapData;
private var _mixColorR:Number;// = -1
private var _state:Number;// = 1
private var _centered:Boolean;// = false
private var _mixColorG:Number;// = -1
private var _glowing:Boolean;// = false
private var _mixColorB:Number;// = -1
private var _isOver:Boolean;// = false
public static const BUTTON_UP:Number = 1;
public static const BUTTON_CLICKED:Number = 2;
public static const BUTTON_DOWN:Number = 0;
public function GenericButton(_arg1:BitmapData, _arg2:BitmapData, _arg3:Boolean=false){
addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, true);
addEventListener(MouseEvent.CLICK, mouseClick, false, 0, true);
addEventListener(MouseEvent.MOUSE_OVER, mouseOver, false, 0, true);
addEventListener(MouseEvent.MOUSE_OUT, mouseOut, false, 0, true);
_bmpDown = _arg1;
_bmpUp = _arg2;
_centered = _arg3;
buttonMode = true;
paint();
}
public function startGlowing():void{
if (_glowing){
return;
};
_glowing = true;
var glowIn:GlowFilter = new GlowFilter(16724787, 0.8, 10, 10, 7, 2);
var glowOut:GlowFilter = new GlowFilter(16724787, 0, 10, 10, 7, 2);
Tweener.addTween(this, {_filter:glowIn, time:1});
Tweener.addTween(this, {_filter:glowOut, delay:1, time:0.5, onComplete:function ():void{
_glowing = false;
}});
}
public function get isPressed():Boolean{
if (_state == BUTTON_CLICKED){
_state = BUTTON_UP;
paint();
return (true);
};
return (false);
}
public function mouseOver(_arg1:MouseEvent):void{
if (_isOver){
return;
};
_isOver = true;
MediaPlayer.getSingleton().play(MediaPlayer.SND_MENU_OVER_OPTION);
var _local2:GlowFilter = new GlowFilter(0xCCCCCC);
_arg1.target.filters = [_local2];
}
public function paint():void{
var _local1:BitmapData;
var _local3:BitmapData;
var _local4:ColorTransform;
var _local5:Rectangle;
graphics.clear();
switch (_state){
case BUTTON_CLICKED:
case BUTTON_UP:
_local1 = _bmpUp;
break;
case BUTTON_DOWN:
_local1 = _bmpDown;
break;
};
if (_mixColorR != -1){
_local3 = _local1.clone();
_local4 = new ColorTransform(1, 1, 1, 1, _mixColorR, _mixColorG, _mixColorB, 0);
_local5 = new Rectangle(0, 0, _local1.width, _local1.height);
_local3.colorTransform(_local5, _local4);
_local1 = _local3;
};
var _local2:Matrix = new Matrix();
if (_centered){
_local2.translate((-(_local1.width) / 2), (-(_local1.height) / 2));
graphics.beginBitmapFill(_local1, _local2);
graphics.drawRect((-(_local1.width) / 2), (-(_local1.height) / 2), _local1.width, _local1.height);
graphics.endFill();
} else {
graphics.beginBitmapFill(_local1, _local2);
graphics.drawRect(0, 0, _local1.width, _local1.height);
graphics.endFill();
};
}
public function mouseUp(_arg1:MouseEvent):void{
if (_state == BUTTON_DOWN){
_state = BUTTON_CLICKED;
};
paint();
}
public function mouseClick(_arg1:MouseEvent):void{
MediaPlayer.getSingleton().play(MediaPlayer.SND_MENU_SELECT);
_state = BUTTON_CLICKED;
paint();
}
public function mouseDown(_arg1:MouseEvent):void{
_state = BUTTON_DOWN;
paint();
}
public function mouseOut(_arg1:MouseEvent):void{
_isOver = false;
_arg1.target.filters = [];
}
public function mixColor(_arg1:Number, _arg2:Number, _arg3:Number):void{
if ((((((_mixColorR == _arg1)) && ((_mixColorG == _arg2)))) && ((_mixColorB == _arg3)))){
return;
};
_mixColorR = _arg1;
_mixColorG = _arg2;
_mixColorB = _arg3;
paint();
}
}
}//package GenericUILib
Section 104
//GenericMenu (GenericUILib.GenericMenu)
package GenericUILib {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import caurina.transitions.*;
import flash.filters.*;
public class GenericMenu extends Sprite {
private var _items:Array;
private var _imageButtons:Boolean;// = false
private var _buttons:Array;
private var _alreadyTouched:Boolean;// = false
private var _disabled:Boolean;// = false
private var returnValue:Number;// = -1
private var _hint:String;// = ""
public var text:TextField;
public static const MENUOPTION_EXIT:Number = 12;
public static const MENUOPTION_ABOUT:Number = 4;
public static const MENUOPTION_NONE:Number = -1;
public static const MENUOPTION_QUICK_MATCH:Number = 14;
public static const MENUOPTION_HELP:Number = 5;
public static const MENUOPTION_NORMAL_MODE:Number = 0;
public static const MENUOPTION_OPTIONS:Number = 3;
public static const MENUOPTION_SUBMIT_SCORE:Number = 7;
public static const MENUOPTION_SHOW_HIGHSCORES:Number = 9;
public static const MENUOPTION_CLASSIC_MODE:Number = 1;
public static const MENUOPTION_TUTORIAL:Number = 10;
public static const MENUOPTION_ACHIEVEMENTS:Number = 13;
public static const MENUOPTION_TRY_AGAIN:Number = 6;
public static const MENUOPTION_PLAY_MORE_GAMES:Number = 2;
public static const MENUOPTION_RESUME:Number = 11;
public static const MENUOPTION_MAIN_MENU:Number = 8;
public function GenericMenu(_arg1:Array, _arg2:Bitmap=null, _arg3:Bitmap=null){
var _local5:Sprite;
var _local6:BitmapData;
var _local7:Matrix;
var _local8:TextField;
var _local9:TextFormat;
var _local10:Sprite;
super();
if (_arg3 != null){
graphics.beginBitmapFill(_arg3.bitmapData);
graphics.drawRect(0, 0, _arg3.width, _arg3.height);
graphics.endFill();
};
if (_arg2 != null){
graphics.beginBitmapFill(_arg2.bitmapData);
graphics.drawRect(0, 0, _arg2.width, _arg2.height);
graphics.endFill();
};
_items = _arg1;
_buttons = new Array();
var _local4:Number = 0;
while (_local4 < _arg1.length) {
_local5 = new Sprite();
_local5.buttonMode = true;
_local5.name = _items[_local4].returnValue;
if (_items[_local4].image){
_local6 = IMG.getSingleton().getBitmapData(_items[_local4].image);
_local5.graphics.beginBitmapFill(_local6);
_local5.graphics.drawRect(0, 0, _local6.width, _local6.height);
_local5.graphics.endFill();
_local5.addEventListener(MouseEvent.CLICK, buttonClicked, false, 0, true);
_local5.addEventListener(MouseEvent.MOUSE_OVER, buttonOver, false, 0, true);
_local5.addEventListener(MouseEvent.MOUSE_OUT, buttonOut, false, 0, true);
_local5.x = (_items[_local4].x - (_local6.width / 2));
_local5.y = (_items[_local4].y - (_local6.height / 2));
_imageButtons = true;
} else {
_local5.graphics.lineStyle(2, 0x444400);
_local5.graphics.drawRoundRect(0, 0, DEF.MENU_BUTTON_WIDTH, DEF.MENU_BUTTON_HEIGHT, 10, 10);
_local5.graphics.lineStyle();
_local7 = new Matrix();
_local7.createGradientBox((DEF.MENU_BUTTON_WIDTH - (5 * 2)), (DEF.MENU_BUTTON_HEIGHT - (5 * 2)), (Math.PI / 2), 0, 0);
_local5.graphics.beginGradientFill("linear", [DEF.MENU_BUTTON_COLOR, 14936256, DEF.MENU_BUTTON_COLOR], [DEF.MENU_BUTTON_ALPHA, DEF.MENU_BUTTON_ALPHA, DEF.MENU_BUTTON_ALPHA], [0, 127, 0xFF], _local7, "pad", "linearRGB");
_local5.graphics.drawRoundRect(5, 5, (DEF.MENU_BUTTON_WIDTH - (5 * 2)), (DEF.MENU_BUTTON_HEIGHT - (5 * 2)), 10, 10);
_local5.graphics.endFill();
_local8 = new TextField();
_local9 = new TextFormat("casper", DEF.MENU_BUTTON_TEXT_SIZE);
_local8.y = (((DEF.MENU_BUTTON_HEIGHT / 2) - (DEF.MENU_BUTTON_TEXT_SIZE / 2)) - 3);
_local8.width = DEF.MENU_BUTTON_WIDTH;
_local8.autoSize = "center";
_local9.color = DEF.MENU_BUTTON_TEXT_COLOR;
_local9.align = "center";
_local8.embedFonts = true;
_local8.defaultTextFormat = _local9;
_local8.text = _items[_local4].string;
_local8.selectable = false;
_local8.name = _local5.name;
_local5.addChild(_local8);
_local10 = new Sprite();
_local10.graphics.lineStyle(3, 0);
_local10.graphics.beginFill(0x444444);
_local10.alpha = 0.01;
_local10.graphics.drawRoundRect(0, 0, DEF.MENU_BUTTON_WIDTH, DEF.MENU_BUTTON_HEIGHT, 10, 10);
_local10.graphics.endFill();
_local10.buttonMode = true;
_local10.name = _items[_local4].returnValue;
_local5.addChild(_local10);
_local10.addEventListener(MouseEvent.CLICK, buttonClicked, false, 0, true);
_local10.addEventListener(MouseEvent.MOUSE_OVER, buttonOver, false, 0, true);
_local10.addEventListener(MouseEvent.MOUSE_OUT, buttonOut, false, 0, true);
};
this.addChild(_local5);
_buttons.push(_local5);
_local4++;
};
hide();
}
public function enable():void{
_disabled = false;
}
public function get hint():String{
if (_hint != null){
return (_hint);
};
return ("");
}
public function hideItem(_arg1:Number):void{
_buttons[_arg1].visible = false;
}
public function update():Number{
var _local1:Number = returnValue;
returnValue = MENUOPTION_NONE;
return (_local1);
}
public function buttonClicked(_arg1:MouseEvent):void{
if (_disabled){
return;
};
MediaPlayer.getSingleton().play(MediaPlayer.SND_MENU_SELECT);
var _local2:DisplayObject = (_arg1.target as DisplayObject);
returnValue = Number(_local2.name);
}
public function hide():void{
this.visible = false;
returnValue = MENUOPTION_NONE;
}
public function disable():void{
_disabled = true;
}
public function showItem(_arg1:Number):void{
_buttons[_arg1].visible = true;
}
public function buttonOver(_arg1:MouseEvent):void{
var _local4:DisplayObject;
var _local6:Object;
if (_disabled){
return;
};
if (!_alreadyTouched){
MediaPlayer.getSingleton().play(MediaPlayer.SND_MENU_OVER_OPTION);
_alreadyTouched = true;
};
var _local2:BitmapFilter = new GlowFilter(DEF.MENU_BUTTON_GLOW_COLOR, 0.5, 1, 1, 10000);
var _local3:Array = new Array();
_local3.push(_local2);
if (_imageButtons){
_local4 = (_arg1.target as DisplayObject);
} else {
_local4 = (_arg1.target.parent as DisplayObject);
};
_local4.filters = _local3;
var _local5:Number = Number(_local4.name);
for each (_local6 in _items) {
if (_local6.returnValue == _local5){
_hint = _local6.hint;
break;
};
};
}
public function buttonOut(_arg1:MouseEvent):void{
var _local2:DisplayObject;
if (_imageButtons){
_local2 = (_arg1.target as DisplayObject);
} else {
_local2 = (_arg1.target.parent as DisplayObject);
};
_local2.filters = null;
_hint = "";
_alreadyTouched = false;
}
public function show():void{
var _local1:Number;
if (!_imageButtons){
_local1 = 0;
while (_local1 < _items.length) {
_buttons[_local1].x = DEF.SCREEN_WIDTH;
_buttons[_local1].y = (DEF.MENU_BUTTON_INITIAL_Y + (_local1 * DEF.MENU_BUTTON_SPACING));
Tweener.addTween(_buttons[_local1], {time:1, delay:(0.2 * _local1), x:DEF.MENU_BUTTON_X});
_local1++;
};
};
this.visible = true;
returnValue = MENUOPTION_NONE;
}
}
}//package GenericUILib
Section 105
//SemiCircle (GenericUILib.SemiCircle)
package GenericUILib {
import flash.display.*;
public class SemiCircle extends Sprite {
protected var _radius:Number;
protected var _firstAngle:Number;
protected var _lastAngle:Number;
public function draw(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{
_firstAngle = _arg2;
_lastAngle = _arg3;
_radius = _arg1;
var _local7:Number = (Math.PI / 16);
graphics.clear();
graphics.lineStyle(_arg5, _arg4);
graphics.beginFill(_arg6);
var _local8:Number = (_arg1 * Math.sin(_arg3));
var _local9:Number = (-(_arg1) * Math.cos(_arg3));
graphics.moveTo(_local8, _local9);
graphics.lineTo(0, 0);
_local8 = (_arg1 * Math.sin(_arg2));
_local9 = (-(_arg1) * Math.cos(_arg2));
graphics.lineTo(_local8, _local9);
var _local10:Number = _arg2;
while (_local10 < _arg3) {
_local8 = (_arg1 * Math.sin(_local10));
_local9 = (-(_arg1) * Math.cos(_local10));
graphics.lineTo(_local8, _local9);
_local10 = (_local10 + _local7);
};
_local8 = (_arg1 * Math.sin(_arg3));
_local9 = (-(_arg1) * Math.cos(_arg3));
graphics.lineTo(_local8, _local9);
graphics.endFill();
}
}
}//package GenericUILib
Section 106
//MochiAd (mochi.as3.MochiAd)
package mochi.as3 {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return ("3.0 as3");
}
public static function showClickAwayAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
var sendHostProgress:Boolean;
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
_local3 = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.root == null){
_local3 = true;
};
if (_local3){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(_arg1:String):String{
var _local2:String = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType == "application"){
return (_local2);
};
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (_arg1.origFrameRate != undefined){
_arg1.stage.frameRate = _arg1.origFrameRate;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad._containerLCName != undefined){
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"});
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (_local2 > chk.ad_msec){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
var idx:Number = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(_arg1:Object):MovieClip{
var clip:Object;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
var DEFAULTS:Object = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
var depth:Number = options.depth;
delete options.depth;
var mc:MovieClip = createEmptyMovieClip(clip, "_mochiad", depth);
var wh:Array = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
} else {
trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal");
};
var lv:URLVariables = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{
trace("[MochiAds] Blocked URL");
});
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
if (typeof(_arg1[_local4[_local5]]) == "function"){
return (_arg1[_local4[_local5]].apply(_arg1, _arg3));
};
return (undefined);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local6:Array;
var _local3:Object = _arg2.getBounds(_arg2.root);
var _local4:Number = 0;
var _local5:Number = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array = _arg2.split(".");
var _local4:Number = 0;
while (_local4 < (_local3.length - 1)) {
if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local3[_local4]];
_local4++;
};
return (_arg1[_local3[_local4]]);
}
public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{
var _local4:Object;
var _local5:Object;
switch (_arg3.id){
case "setValue":
MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value);
break;
case "getValue":
_local4 = MochiAd.getValue(_arg1, _arg3.objectName);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + _arg3.id));
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return;
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
_arg1[_local4[_local5]] = _arg3;
}
public static function showPreGameAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var complete:Boolean;
var unloaded:Boolean;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
var fn:Function = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = 10;
bar.y = (h - 20);
};
var bar_color:Number = options.color;
delete options.color;
var bar_background:Number = options.background;
delete options.background;
var bar_outline:Number = options.outline;
delete options.outline;
var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1);
var backing:Object = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2);
var inside:Object = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3);
var outline:Object = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
var f:Function = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
mc.rpcTestFn = function (_arg1:String):Object{
trace(("[MOCHIAD rpcTestFn] " + _arg1));
return (_arg1);
};
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local11:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
var _local1:Object = this.parent.parent.root;
var _local2:Object = this.parent._mochiad_ctr;
var _local3:Number = (getTimer() - this.started);
var _local4:Boolean;
var _local5:Number = _local1.loaderInfo.bytesTotal;
var _local6:Number = _local1.loaderInfo.bytesLoaded;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
var _local7:Number = ((100 * _local6) / _local5);
var _local8:Number = ((100 * _local3) / chk.ad_msec);
var _local9:Object = this._mochiad_bar._inside;
var _local10:Number = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
options.ad_progress(_local10);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7});
if (_local7 == 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local11 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(_arg1);
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(_arg1);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var mc = _arg1;
var f:Function = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package mochi.as3
Section 107
//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.5.0.12683";
public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
public function get measuredWidth():Number{
if (bitmapData){
return (bitmapData.width);
};
return (0);
}
public function get measuredHeight():Number{
if (bitmapData){
return (bitmapData.height);
};
return (0);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
}
}//package mx.core
Section 108
//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.5.0.12683";
public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0);
;
public function EdgeMetrics(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){
this.left = _arg1;
this.top = _arg2;
this.right = _arg3;
this.bottom = _arg4;
}
public function clone():EdgeMetrics{
return (new EdgeMetrics(left, top, right, bottom));
}
}
}//package mx.core
Section 109
//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.5.0.12683";
public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
var bitmapData = _arg1;
var pixelSnapping = _arg2;
var smoothing = _arg3;
super(bitmapData, pixelSnapping, smoothing);
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 110
//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.5.0.12683";
public function FlexLoader(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 111
//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.5.0.12683";
public function FlexShape(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 112
//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.5.0.12683";
private static var compatibilityVersionChanged:Boolean = false;
private static var _compatibilityErrorFunction:Function;
private static var _compatibilityVersion:uint = 50331648;
private static var compatibilityVersionRead:Boolean = false;
mx_internal static function changeCompatibilityVersionString(_arg1:String):void{
var _local2:Array = _arg1.split(".");
var _local3:uint = parseInt(_local2[0]);
var _local4:uint = parseInt(_local2[1]);
var _local5:uint = parseInt(_local2[2]);
_compatibilityVersion = (((_local3 << 24) + (_local4 << 16)) + _local5);
}
public static function set compatibilityVersion(_arg1:uint):void{
var _local2:String;
if (_arg1 == _compatibilityVersion){
return;
};
if (compatibilityVersionChanged){
if (compatibilityErrorFunction == null){
_local2 = ResourceManager.getInstance().getString("core", VERSION_ALREADY_SET);
throw (new Error(_local2));
};
compatibilityErrorFunction(_arg1, VERSION_ALREADY_SET);
};
if (compatibilityVersionRead){
if (compatibilityErrorFunction == null){
_local2 = ResourceManager.getInstance().getString("core", VERSION_ALREADY_READ);
throw (new Error(_local2));
};
compatibilityErrorFunction(_arg1, VERSION_ALREADY_READ);
};
_compatibilityVersion = _arg1;
compatibilityVersionChanged = true;
}
public static function get compatibilityVersion():uint{
compatibilityVersionRead = true;
return (_compatibilityVersion);
}
public static function set compatibilityErrorFunction(_arg1:Function):void{
_compatibilityErrorFunction = _arg1;
}
public static function set compatibilityVersionString(_arg1:String):void{
var _local2:Array = _arg1.split(".");
var _local3:uint = parseInt(_local2[0]);
var _local4:uint = parseInt(_local2[1]);
var _local5:uint = parseInt(_local2[2]);
compatibilityVersion = (((_local3 << 24) + (_local4 << 16)) + _local5);
}
public static function get compatibilityErrorFunction():Function{
return (_compatibilityErrorFunction);
}
public static function get compatibilityVersionString():String{
var _local1:uint = ((compatibilityVersion >> 24) & 0xFF);
var _local2:uint = ((compatibilityVersion >> 16) & 0xFF);
var _local3:uint = (compatibilityVersion & 0xFFFF);
return (((((_local1.toString() + ".") + _local2.toString()) + ".") + _local3.toString()));
}
}
}//package mx.core
Section 113
//FontAsset (mx.core.FontAsset)
package mx.core {
import flash.text.*;
public class FontAsset extends Font implements IFlexAsset {
mx_internal static const VERSION:String = "3.5.0.12683";
}
}//package mx.core
Section 114
//IBorder (mx.core.IBorder)
package mx.core {
public interface IBorder {
function get borderMetrics():EdgeMetrics;
}
}//package mx.core
Section 115
//IButton (mx.core.IButton)
package mx.core {
public interface IButton extends IUIComponent {
function get emphasized():Boolean;
function set emphasized(_arg1:Boolean):void;
function callLater(_arg1:Function, _arg2:Array=null):void;
}
}//package mx.core
Section 116
//IChildList (mx.core.IChildList)
package mx.core {
import flash.display.*;
import flash.geom.*;
public interface IChildList {
function get numChildren():int;
function removeChild(_arg1:DisplayObject):DisplayObject;
function getChildByName(_arg1:String):DisplayObject;
function removeChildAt(_arg1:int):DisplayObject;
function getChildIndex(_arg1:DisplayObject):int;
function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject;
function getObjectsUnderPoint(_arg1:Point):Array;
function setChildIndex(_arg1:DisplayObject, _arg2:int):void;
function getChildAt(_arg1:int):DisplayObject;
function addChild(_arg1:DisplayObject):DisplayObject;
function contains(_arg1:DisplayObject):Boolean;
}
}//package mx.core
Section 117
//IContainer (mx.core.IContainer)
package mx.core {
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import mx.managers.*;
import flash.media.*;
public interface IContainer extends IUIComponent {
function set hitArea(_arg1:Sprite):void;
function swapChildrenAt(_arg1:int, _arg2:int):void;
function getChildByName(_arg1:String):DisplayObject;
function get doubleClickEnabled():Boolean;
function get graphics():Graphics;
function get useHandCursor():Boolean;
function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject;
function set mouseChildren(_arg1:Boolean):void;
function set creatingContentPane(_arg1:Boolean):void;
function get textSnapshot():TextSnapshot;
function getChildIndex(_arg1:DisplayObject):int;
function set doubleClickEnabled(_arg1:Boolean):void;
function getObjectsUnderPoint(_arg1:Point):Array;
function get creatingContentPane():Boolean;
function setChildIndex(_arg1:DisplayObject, _arg2:int):void;
function get soundTransform():SoundTransform;
function set useHandCursor(_arg1:Boolean):void;
function get numChildren():int;
function contains(_arg1:DisplayObject):Boolean;
function get verticalScrollPosition():Number;
function set defaultButton(_arg1:IFlexDisplayObject):void;
function swapChildren(_arg1:DisplayObject, _arg2:DisplayObject):void;
function set horizontalScrollPosition(_arg1:Number):void;
function get focusManager():IFocusManager;
function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void;
function set mouseEnabled(_arg1:Boolean):void;
function getChildAt(_arg1:int):DisplayObject;
function set soundTransform(_arg1:SoundTransform):void;
function get tabChildren():Boolean;
function get tabIndex():int;
function set focusRect(_arg1:Object):void;
function get hitArea():Sprite;
function get mouseChildren():Boolean;
function removeChildAt(_arg1:int):DisplayObject;
function get defaultButton():IFlexDisplayObject;
function stopDrag():void;
function set tabEnabled(_arg1:Boolean):void;
function get horizontalScrollPosition():Number;
function get focusRect():Object;
function get viewMetrics():EdgeMetrics;
function set verticalScrollPosition(_arg1:Number):void;
function get dropTarget():DisplayObject;
function get mouseEnabled():Boolean;
function set tabChildren(_arg1:Boolean):void;
function set buttonMode(_arg1:Boolean):void;
function get tabEnabled():Boolean;
function get buttonMode():Boolean;
function removeChild(_arg1:DisplayObject):DisplayObject;
function set tabIndex(_arg1:int):void;
function addChild(_arg1:DisplayObject):DisplayObject;
function areInaccessibleObjectsUnderPoint(_arg1:Point):Boolean;
}
}//package mx.core
Section 118
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 119
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.accessibility.*;
public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher {
function get visible():Boolean;
function get rotation():Number;
function localToGlobal(_arg1:Point):Point;
function get name():String;
function set width(_arg1:Number):void;
function get measuredHeight():Number;
function get blendMode():String;
function get scale9Grid():Rectangle;
function set name(_arg1:String):void;
function set scaleX(_arg1:Number):void;
function set scaleY(_arg1:Number):void;
function get measuredWidth():Number;
function get accessibilityProperties():AccessibilityProperties;
function set scrollRect(_arg1:Rectangle):void;
function get cacheAsBitmap():Boolean;
function globalToLocal(_arg1:Point):Point;
function get height():Number;
function set blendMode(_arg1:String):void;
function get parent():DisplayObjectContainer;
function getBounds(_arg1:DisplayObject):Rectangle;
function get opaqueBackground():Object;
function set scale9Grid(_arg1:Rectangle):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set alpha(_arg1:Number):void;
function set accessibilityProperties(_arg1:AccessibilityProperties):void;
function get width():Number;
function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean;
function set cacheAsBitmap(_arg1:Boolean):void;
function get scaleX():Number;
function get scaleY():Number;
function get scrollRect():Rectangle;
function get mouseX():Number;
function get mouseY():Number;
function set height(_arg1:Number):void;
function set mask(_arg1:DisplayObject):void;
function getRect(_arg1:DisplayObject):Rectangle;
function get alpha():Number;
function set transform(_arg1:Transform):void;
function move(_arg1:Number, _arg2:Number):void;
function get loaderInfo():LoaderInfo;
function get root():DisplayObject;
function hitTestObject(_arg1:DisplayObject):Boolean;
function set opaqueBackground(_arg1:Object):void;
function set visible(_arg1:Boolean):void;
function get mask():DisplayObject;
function set x(_arg1:Number):void;
function set y(_arg1:Number):void;
function get transform():Transform;
function set filters(_arg1:Array):void;
function get x():Number;
function get y():Number;
function get filters():Array;
function set rotation(_arg1:Number):void;
function get stage():Stage;
}
}//package mx.core
Section 120
//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 121
//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 122
//IProgrammaticSkin (mx.core.IProgrammaticSkin)
package mx.core {
public interface IProgrammaticSkin {
function validateNow():void;
function validateDisplayList():void;
}
}//package mx.core
Section 123
//IRawChildrenContainer (mx.core.IRawChildrenContainer)
package mx.core {
public interface IRawChildrenContainer {
function get rawChildren():IChildList;
}
}//package mx.core
Section 124
//IRectangularBorder (mx.core.IRectangularBorder)
package mx.core {
import flash.geom.*;
public interface IRectangularBorder extends IBorder {
function get backgroundImageBounds():Rectangle;
function get hasBackgroundImage():Boolean;
function set backgroundImageBounds(_arg1:Rectangle):void;
function layoutBackgroundImage():void;
}
}//package mx.core
Section 125
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function get instanceIndices():Array;
function set instanceIndices(_arg1:Array):void;
function get isDocument():Boolean;
function set repeaters(_arg1:Array):void;
function initializeRepeaterArrays(_arg1:IRepeaterClient):void;
function get repeaters():Array;
function set repeaterIndices(_arg1:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 126
//ISWFBridgeGroup (mx.core.ISWFBridgeGroup)
package mx.core {
import flash.events.*;
public interface ISWFBridgeGroup {
function getChildBridgeProvider(_arg1:IEventDispatcher):ISWFBridgeProvider;
function removeChildBridge(_arg1:IEventDispatcher):void;
function get parentBridge():IEventDispatcher;
function addChildBridge(_arg1:IEventDispatcher, _arg2:ISWFBridgeProvider):void;
function set parentBridge(_arg1:IEventDispatcher):void;
function containsBridge(_arg1:IEventDispatcher):Boolean;
function getChildBridges():Array;
}
}//package mx.core
Section 127
//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 128
//IUIComponent (mx.core.IUIComponent)
package mx.core {
import flash.display.*;
import mx.managers.*;
public interface IUIComponent extends IFlexDisplayObject {
function set focusPane(_arg1:Sprite):void;
function get enabled():Boolean;
function set enabled(_arg1:Boolean):void;
function set isPopUp(_arg1:Boolean):void;
function get explicitMinHeight():Number;
function get percentWidth():Number;
function get isPopUp():Boolean;
function get owner():DisplayObjectContainer;
function get percentHeight():Number;
function get baselinePosition():Number;
function owns(_arg1:DisplayObject):Boolean;
function initialize():void;
function get maxWidth():Number;
function get minWidth():Number;
function getExplicitOrMeasuredWidth():Number;
function get explicitMaxWidth():Number;
function get explicitMaxHeight():Number;
function set percentHeight(_arg1:Number):void;
function get minHeight():Number;
function set percentWidth(_arg1:Number):void;
function get document():Object;
function get focusPane():Sprite;
function getExplicitOrMeasuredHeight():Number;
function set tweeningProperties(_arg1:Array):void;
function set explicitWidth(_arg1:Number):void;
function set measuredMinHeight(_arg1:Number):void;
function get explicitMinWidth():Number;
function get tweeningProperties():Array;
function get maxHeight():Number;
function set owner(_arg1:DisplayObjectContainer):void;
function set includeInLayout(_arg1:Boolean):void;
function setVisible(_arg1:Boolean, _arg2:Boolean=false):void;
function parentChanged(_arg1:DisplayObjectContainer):void;
function get explicitWidth():Number;
function get measuredMinHeight():Number;
function set measuredMinWidth(_arg1:Number):void;
function set explicitHeight(_arg1:Number):void;
function get includeInLayout():Boolean;
function get measuredMinWidth():Number;
function get explicitHeight():Number;
function set systemManager(_arg1:ISystemManager):void;
function set document(_arg1:Object):void;
function get systemManager():ISystemManager;
}
}//package mx.core
Section 129
//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 130
//Singleton (mx.core.Singleton)
package mx.core {
public class Singleton {
mx_internal static const VERSION:String = "3.5.0.12683";
private static var classMap:Object = {};
public static function registerClass(_arg1:String, _arg2:Class):void{
var _local3:Class = classMap[_arg1];
if (!_local3){
classMap[_arg1] = _arg2;
};
}
public static function getClass(_arg1:String):Class{
return (classMap[_arg1]);
}
public static function getInstance(_arg1:String):Object{
var _local2:Class = classMap[_arg1];
if (!_local2){
throw (new Error((("No class registered for interface '" + _arg1) + "'.")));
};
return (_local2["getInstance"]());
}
}
}//package mx.core
Section 131
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "3.5.0.12683";
}
}//package mx.core
Section 132
//UIComponentGlobals (mx.core.UIComponentGlobals)
package mx.core {
import flash.display.*;
import flash.geom.*;
import mx.managers.*;
public class UIComponentGlobals {
mx_internal static var callLaterSuspendCount:int = 0;
mx_internal static var layoutManager:ILayoutManager;
mx_internal static var nextFocusObject:InteractiveObject;
mx_internal static var designTime:Boolean = false;
mx_internal static var tempMatrix:Matrix = new Matrix();
mx_internal static var callLaterDispatcherCount:int = 0;
private static var _catchCallLaterExceptions:Boolean = false;
public static function set catchCallLaterExceptions(_arg1:Boolean):void{
_catchCallLaterExceptions = _arg1;
}
public static function get designMode():Boolean{
return (designTime);
}
public static function set designMode(_arg1:Boolean):void{
designTime = _arg1;
}
public static function get catchCallLaterExceptions():Boolean{
return (_catchCallLaterExceptions);
}
}
}//package mx.core
Section 133
//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.5.0.12683";
public static const SETUP:String = "setup";
public static const UNLOAD:String = "unload";
public function ModuleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null, _arg7:IModuleInfo=null){
super(_arg1, _arg2, _arg3, _arg4, _arg5);
this.errorText = _arg6;
this._module = _arg7;
}
public function get module():IModuleInfo{
if (_module){
return (_module);
};
return ((target as IModuleInfo));
}
override public function clone():Event{
return (new ModuleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText, module));
}
}
}//package mx.events
Section 134
//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.5.0.12683";
public static const COMPLETE:String = "complete";
public static const PROGRESS:String = "progress";
public static const ERROR:String = "error";
public function ResourceEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null){
super(_arg1, _arg2, _arg3, _arg4, _arg5);
this.errorText = _arg6;
}
override public function clone():Event{
return (new ResourceEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText));
}
}
}//package mx.events
Section 135
//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.5.0.12683";
public static const COMPLETE:String = "complete";
public static const PROGRESS:String = "progress";
public static const ERROR:String = "error";
public function StyleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null){
super(_arg1, _arg2, _arg3, _arg4, _arg5);
this.errorText = _arg6;
}
override public function clone():Event{
return (new StyleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText));
}
}
}//package mx.events
Section 136
//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.5.0.12683";
public function get blRadius():Number{
return (_blRadius);
}
public function set brRadius(_arg1:Number):void{
if (_brRadius != _arg1){
_brRadius = _arg1;
changed = true;
};
}
public function set color(_arg1:int):void{
if (_color != _arg1){
_color = _arg1;
changed = true;
};
}
public function drawShadow(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
if (changed){
createShadowBitmaps();
changed = false;
};
_arg4 = Math.ceil(_arg4);
_arg5 = Math.ceil(_arg5);
var _local6:int = (leftShadow) ? leftShadow.width : 0;
var _local7:int = (rightShadow) ? rightShadow.width : 0;
var _local8:int = (topShadow) ? topShadow.height : 0;
var _local9:int = (bottomShadow) ? bottomShadow.height : 0;
var _local10:int = (_local6 + _local7);
var _local11:int = (_local8 + _local9);
var _local12:Number = ((_arg5 + _local11) / 2);
var _local13:Number = ((_arg4 + _local10) / 2);
var _local14:Matrix = new Matrix();
if (((leftShadow) || (topShadow))){
_local15 = Math.min((tlRadius + _local10), _local13);
_local16 = Math.min((tlRadius + _local11), _local12);
_local14.tx = (_arg2 - _local6);
_local14.ty = (_arg3 - _local8);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((_arg2 - _local6), (_arg3 - _local8), _local15, _local16);
_arg1.endFill();
};
if (((rightShadow) || (topShadow))){
_local17 = Math.min((trRadius + _local10), _local13);
_local18 = Math.min((trRadius + _local11), _local12);
_local14.tx = (((_arg2 + _arg4) + _local7) - shadow.width);
_local14.ty = (_arg3 - _local8);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((((_arg2 + _arg4) + _local7) - _local17), (_arg3 - _local8), _local17, _local18);
_arg1.endFill();
};
if (((leftShadow) || (bottomShadow))){
_local19 = Math.min((blRadius + _local10), _local13);
_local20 = Math.min((blRadius + _local11), _local12);
_local14.tx = (_arg2 - _local6);
_local14.ty = (((_arg3 + _arg5) + _local9) - shadow.height);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((_arg2 - _local6), (((_arg3 + _arg5) + _local9) - _local20), _local19, _local20);
_arg1.endFill();
};
if (((rightShadow) || (bottomShadow))){
_local21 = Math.min((brRadius + _local10), _local13);
_local22 = Math.min((brRadius + _local11), _local12);
_local14.tx = (((_arg2 + _arg4) + _local7) - shadow.width);
_local14.ty = (((_arg3 + _arg5) + _local9) - shadow.height);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((((_arg2 + _arg4) + _local7) - _local21), (((_arg3 + _arg5) + _local9) - _local22), _local21, _local22);
_arg1.endFill();
};
if (leftShadow){
_local14.tx = (_arg2 - _local6);
_local14.ty = 0;
_arg1.beginBitmapFill(leftShadow, _local14);
_arg1.drawRect((_arg2 - _local6), ((_arg3 - _local8) + _local16), _local6, ((((_arg5 + _local8) + _local9) - _local16) - _local20));
_arg1.endFill();
};
if (rightShadow){
_local14.tx = (_arg2 + _arg4);
_local14.ty = 0;
_arg1.beginBitmapFill(rightShadow, _local14);
_arg1.drawRect((_arg2 + _arg4), ((_arg3 - _local8) + _local18), _local7, ((((_arg5 + _local8) + _local9) - _local18) - _local22));
_arg1.endFill();
};
if (topShadow){
_local14.tx = 0;
_local14.ty = (_arg3 - _local8);
_arg1.beginBitmapFill(topShadow, _local14);
_arg1.drawRect(((_arg2 - _local6) + _local15), (_arg3 - _local8), ((((_arg4 + _local6) + _local7) - _local15) - _local17), _local8);
_arg1.endFill();
};
if (bottomShadow){
_local14.tx = 0;
_local14.ty = (_arg3 + _arg5);
_arg1.beginBitmapFill(bottomShadow, _local14);
_arg1.drawRect(((_arg2 - _local6) + _local19), (_arg3 + _arg5), ((((_arg4 + _local6) + _local7) - _local19) - _local21), _local9);
_arg1.endFill();
};
}
public function get brRadius():Number{
return (_brRadius);
}
public function get angle():Number{
return (_angle);
}
private function createShadowBitmaps():void{
var _local1:Number = ((Math.max(tlRadius, blRadius) + (2 * distance)) + Math.max(trRadius, brRadius));
var _local2:Number = ((Math.max(tlRadius, trRadius) + (2 * distance)) + Math.max(blRadius, brRadius));
if ((((_local1 < 0)) || ((_local2 < 0)))){
return;
};
var _local3:Shape = new FlexShape();
var _local4:Graphics = _local3.graphics;
_local4.beginFill(0xFFFFFF);
GraphicsUtil.drawRoundRectComplex(_local4, 0, 0, _local1, _local2, tlRadius, trRadius, blRadius, brRadius);
_local4.endFill();
var _local5:BitmapData = new BitmapData(_local1, _local2, true, 0);
_local5.draw(_local3, new Matrix());
var _local6:DropShadowFilter = new DropShadowFilter(distance, angle, color, alpha);
_local6.knockout = true;
var _local7:Rectangle = new Rectangle(0, 0, _local1, _local2);
var _local8:Rectangle = _local5.generateFilterRect(_local7, _local6);
var _local9:Number = (_local7.left - _local8.left);
var _local10:Number = (_local8.right - _local7.right);
var _local11:Number = (_local7.top - _local8.top);
var _local12:Number = (_local8.bottom - _local7.bottom);
shadow = new BitmapData(_local8.width, _local8.height);
shadow.applyFilter(_local5, _local7, new Point(_local9, _local11), _local6);
var _local13:Point = new Point(0, 0);
var _local14:Rectangle = new Rectangle();
if (_local9 > 0){
_local14.x = 0;
_local14.y = ((tlRadius + _local11) + _local12);
_local14.width = _local9;
_local14.height = 1;
leftShadow = new BitmapData(_local9, 1);
leftShadow.copyPixels(shadow, _local14, _local13);
} else {
leftShadow = null;
};
if (_local10 > 0){
_local14.x = (shadow.width - _local10);
_local14.y = ((trRadius + _local11) + _local12);
_local14.width = _local10;
_local14.height = 1;
rightShadow = new BitmapData(_local10, 1);
rightShadow.copyPixels(shadow, _local14, _local13);
} else {
rightShadow = null;
};
if (_local11 > 0){
_local14.x = ((tlRadius + _local9) + _local10);
_local14.y = 0;
_local14.width = 1;
_local14.height = _local11;
topShadow = new BitmapData(1, _local11);
topShadow.copyPixels(shadow, _local14, _local13);
} else {
topShadow = null;
};
if (_local12 > 0){
_local14.x = ((blRadius + _local9) + _local10);
_local14.y = (shadow.height - _local12);
_local14.width = 1;
_local14.height = _local12;
bottomShadow = new BitmapData(1, _local12);
bottomShadow.copyPixels(shadow, _local14, _local13);
} else {
bottomShadow = null;
};
}
public function get alpha():Number{
return (_alpha);
}
public function get color():int{
return (_color);
}
public function set angle(_arg1:Number):void{
if (_angle != _arg1){
_angle = _arg1;
changed = true;
};
}
public function set trRadius(_arg1:Number):void{
if (_trRadius != _arg1){
_trRadius = _arg1;
changed = true;
};
}
public function set tlRadius(_arg1:Number):void{
if (_tlRadius != _arg1){
_tlRadius = _arg1;
changed = true;
};
}
public function get trRadius():Number{
return (_trRadius);
}
public function set distance(_arg1:Number):void{
if (_distance != _arg1){
_distance = _arg1;
changed = true;
};
}
public function get distance():Number{
return (_distance);
}
public function get tlRadius():Number{
return (_tlRadius);
}
public function set alpha(_arg1:Number):void{
if (_alpha != _arg1){
_alpha = _arg1;
changed = true;
};
}
public function set blRadius(_arg1:Number):void{
if (_blRadius != _arg1){
_blRadius = _arg1;
changed = true;
};
}
}
}//package mx.graphics
Section 137
//IFocusManager (mx.managers.IFocusManager)
package mx.managers {
import flash.events.*;
import mx.core.*;
import flash.display.*;
public interface IFocusManager {
function get focusPane():Sprite;
function getFocus():IFocusManagerComponent;
function deactivate():void;
function set defaultButton(_arg1:IButton):void;
function set focusPane(_arg1:Sprite):void;
function set showFocusIndicator(_arg1:Boolean):void;
function moveFocus(_arg1:String, _arg2:DisplayObject=null):void;
function addSWFBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void;
function removeSWFBridge(_arg1:IEventDispatcher):void;
function get defaultButtonEnabled():Boolean;
function findFocusManagerComponent(_arg1:InteractiveObject):IFocusManagerComponent;
function get nextTabIndex():int;
function get defaultButton():IButton;
function get showFocusIndicator():Boolean;
function setFocus(_arg1:IFocusManagerComponent):void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(_arg1:Boolean):void;
function hideFocus():void;
function getNextFocusManagerComponent(_arg1:Boolean=false):IFocusManagerComponent;
}
}//package mx.managers
Section 138
//IFocusManagerComponent (mx.managers.IFocusManagerComponent)
package mx.managers {
public interface IFocusManagerComponent {
function set focusEnabled(_arg1:Boolean):void;
function drawFocus(_arg1:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package mx.managers
Section 139
//IFocusManagerContainer (mx.managers.IFocusManagerContainer)
package mx.managers {
import flash.events.*;
import flash.display.*;
public interface IFocusManagerContainer extends IEventDispatcher {
function set focusManager(_arg1:IFocusManager):void;
function get focusManager():IFocusManager;
function get systemManager():ISystemManager;
function contains(_arg1:DisplayObject):Boolean;
}
}//package mx.managers
Section 140
//ILayoutManager (mx.managers.ILayoutManager)
package mx.managers {
import flash.events.*;
public interface ILayoutManager extends IEventDispatcher {
function validateNow():void;
function validateClient(_arg1:ILayoutManagerClient, _arg2:Boolean=false):void;
function isInvalid():Boolean;
function invalidateDisplayList(_arg1:ILayoutManagerClient):void;
function set usePhasedInstantiation(_arg1:Boolean):void;
function invalidateSize(_arg1:ILayoutManagerClient):void;
function get usePhasedInstantiation():Boolean;
function invalidateProperties(_arg1:ILayoutManagerClient):void;
}
}//package mx.managers
Section 141
//ILayoutManagerClient (mx.managers.ILayoutManagerClient)
package mx.managers {
import flash.events.*;
public interface ILayoutManagerClient extends IEventDispatcher {
function get updateCompletePendingFlag():Boolean;
function set updateCompletePendingFlag(_arg1:Boolean):void;
function set initialized(_arg1:Boolean):void;
function validateProperties():void;
function validateDisplayList():void;
function get nestLevel():int;
function get initialized():Boolean;
function get processedDescriptors():Boolean;
function validateSize(_arg1:Boolean=false):void;
function set nestLevel(_arg1:int):void;
function set processedDescriptors(_arg1:Boolean):void;
}
}//package mx.managers
Section 142
//ISystemManager (mx.managers.ISystemManager)
package mx.managers {
import flash.events.*;
import mx.core.*;
import flash.display.*;
import flash.geom.*;
import flash.text.*;
public interface ISystemManager extends IEventDispatcher, IChildList, IFlexModuleFactory {
function set focusPane(_arg1:Sprite):void;
function get toolTipChildren():IChildList;
function useSWFBridge():Boolean;
function isFontFaceEmbedded(_arg1:TextFormat):Boolean;
function deployMouseShields(_arg1:Boolean):void;
function get rawChildren():IChildList;
function get topLevelSystemManager():ISystemManager;
function dispatchEventFromSWFBridges(_arg1:Event, _arg2:IEventDispatcher=null, _arg3:Boolean=false, _arg4:Boolean=false):void;
function getSandboxRoot():DisplayObject;
function get swfBridgeGroup():ISWFBridgeGroup;
function removeFocusManager(_arg1:IFocusManagerContainer):void;
function addChildToSandboxRoot(_arg1:String, _arg2:DisplayObject):void;
function get document():Object;
function get focusPane():Sprite;
function get loaderInfo():LoaderInfo;
function addChildBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void;
function getTopLevelRoot():DisplayObject;
function removeChildBridge(_arg1:IEventDispatcher):void;
function isDisplayObjectInABridgedApplication(_arg1:DisplayObject):Boolean;
function get popUpChildren():IChildList;
function get screen():Rectangle;
function removeChildFromSandboxRoot(_arg1:String, _arg2:DisplayObject):void;
function getDefinitionByName(_arg1:String):Object;
function activate(_arg1:IFocusManagerContainer):void;
function deactivate(_arg1:IFocusManagerContainer):void;
function get cursorChildren():IChildList;
function set document(_arg1:Object):void;
function get embeddedFontList():Object;
function set numModalWindows(_arg1:int):void;
function isTopLevel():Boolean;
function isTopLevelRoot():Boolean;
function get numModalWindows():int;
function addFocusManager(_arg1:IFocusManagerContainer):void;
function get stage():Stage;
function getVisibleApplicationRect(_arg1:Rectangle=null):Rectangle;
}
}//package mx.managers
Section 143
//SystemManagerGlobals (mx.managers.SystemManagerGlobals)
package mx.managers {
public class SystemManagerGlobals {
public static var topLevelSystemManagers:Array = [];
public static var changingListenersInOtherSystemManagers:Boolean;
public static var bootstrapLoaderInfoURL:String;
public static var showMouseCursor:Boolean;
public static var dispatchingEventToOtherSystemManagers:Boolean;
}
}//package mx.managers
Section 144
//IModuleInfo (mx.modules.IModuleInfo)
package mx.modules {
import flash.events.*;
import mx.core.*;
import flash.utils.*;
import flash.system.*;
public interface IModuleInfo extends IEventDispatcher {
function get ready():Boolean;
function get loaded():Boolean;
function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void;
function release():void;
function get error():Boolean;
function get data():Object;
function publish(_arg1:IFlexModuleFactory):void;
function get factory():IFlexModuleFactory;
function set data(_arg1:Object):void;
function get url():String;
function get setup():Boolean;
function unload():void;
}
}//package mx.modules
Section 145
//ModuleManager (mx.modules.ModuleManager)
package mx.modules {
import mx.core.*;
public class ModuleManager {
mx_internal static const VERSION:String = "3.5.0.12683";
public static function getModule(_arg1:String):IModuleInfo{
return (getSingleton().getModule(_arg1));
}
private static function getSingleton():Object{
if (!ModuleManagerGlobals.managerSingleton){
ModuleManagerGlobals.managerSingleton = new ModuleManagerImpl();
};
return (ModuleManagerGlobals.managerSingleton);
}
public static function getAssociatedFactory(_arg1:Object):IFlexModuleFactory{
return (getSingleton().getAssociatedFactory(_arg1));
}
}
}//package mx.modules
import flash.events.*;
import mx.core.*;
import flash.display.*;
import flash.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(_arg1:ModuleInfo){
this.info = _arg1;
_arg1.addEventListener(ModuleEvent.SETUP, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.PROGRESS, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.READY, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.ERROR, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.UNLOAD, moduleEventHandler, false, 0, true);
}
public function get loaded():Boolean{
return (info.loaded);
}
public function release():void{
if (referenced){
info.removeReference();
referenced = false;
};
}
public function get error():Boolean{
return (info.error);
}
public function get factory():IFlexModuleFactory{
return (info.factory);
}
public function publish(_arg1:IFlexModuleFactory):void{
info.publish(_arg1);
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
public function get ready():Boolean{
return (info.ready);
}
public function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void{
var _local4:ModuleEvent;
info.resurrect();
if (!referenced){
info.addReference();
referenced = true;
};
if (info.error){
dispatchEvent(new ModuleEvent(ModuleEvent.ERROR));
} else {
if (info.loaded){
if (info.setup){
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
if (info.ready){
_local4 = new ModuleEvent(ModuleEvent.PROGRESS);
_local4.bytesLoaded = info.size;
_local4.bytesTotal = info.size;
dispatchEvent(_local4);
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
};
};
} else {
info.load(_arg1, _arg2, _arg3);
};
};
}
private function moduleEventHandler(_arg1:ModuleEvent):void{
dispatchEvent(_arg1);
}
public function get url():String{
return (info.url);
}
public function get data():Object{
return (_data);
}
public function get setup():Boolean{
return (info.setup);
}
public function unload():void{
info.unload();
info.removeEventListener(ModuleEvent.SETUP, moduleEventHandler);
info.removeEventListener(ModuleEvent.PROGRESS, moduleEventHandler);
info.removeEventListener(ModuleEvent.READY, moduleEventHandler);
info.removeEventListener(ModuleEvent.ERROR, moduleEventHandler);
info.removeEventListener(ModuleEvent.UNLOAD, moduleEventHandler);
}
}
class ModuleManagerImpl extends EventDispatcher {
private var moduleList:Object;
private function ModuleManagerImpl(){
moduleList = {};
super();
}
public function getModule(_arg1:String):IModuleInfo{
var _local2:ModuleInfo = (moduleList[_arg1] as ModuleInfo);
if (!_local2){
_local2 = new ModuleInfo(_arg1);
moduleList[_arg1] = _local2;
};
return (new ModuleInfoProxy(_local2));
}
public function getAssociatedFactory(_arg1:Object):IFlexModuleFactory{
var m:Object;
var info:ModuleInfo;
var domain:ApplicationDomain;
var cls:Class;
var object = _arg1;
var className:String = getQualifiedClassName(object);
for each (m in moduleList) {
info = (m as ModuleInfo);
if (!info.ready){
} else {
domain = info.applicationDomain;
try {
cls = Class(domain.getDefinition(className));
if ((object is cls)){
return (info.factory);
};
} catch(error:Error) {
};
};
};
return (null);
}
}
class ModuleInfo extends EventDispatcher {
private var _error:Boolean;// = false
private var loader:Loader;
private var factoryInfo:FactoryInfo;
private var limbo:Dictionary;
private var _loaded:Boolean;// = false
private var _ready:Boolean;// = false
private var numReferences:int;// = 0
private var _url:String;
private var _setup:Boolean;// = false
private function ModuleInfo(_arg1:String){
_url = _arg1;
}
private function clearLoader():void{
if (loader){
if (loader.contentLoaderInfo){
loader.contentLoaderInfo.removeEventListener(Event.INIT, initHandler);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.contentLoaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
};
try {
if (loader.content){
loader.content.removeEventListener("ready", readyHandler);
loader.content.removeEventListener("error", moduleErrorHandler);
};
} catch(error:Error) {
};
if (_loaded){
try {
loader.close();
} catch(error:Error) {
};
};
try {
loader.unload();
} catch(error:Error) {
};
loader = null;
};
}
public function get size():int{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.bytesTotal : 0);
}
public function get loaded():Boolean{
return ((limbo) ? false : _loaded);
}
public function release():void{
if (((_ready) && (!(limbo)))){
limbo = new Dictionary(true);
limbo[factoryInfo] = 1;
factoryInfo = null;
} else {
unload();
};
}
public function get error():Boolean{
return ((limbo) ? false : _error);
}
public function get factory():IFlexModuleFactory{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.factory : null);
}
public function completeHandler(_arg1:Event):void{
var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = loader.contentLoaderInfo.bytesLoaded;
_local2.bytesTotal = loader.contentLoaderInfo.bytesTotal;
dispatchEvent(_local2);
}
public function publish(_arg1:IFlexModuleFactory):void{
if (factoryInfo){
return;
};
if (_url.indexOf("published://") != 0){
return;
};
factoryInfo = new FactoryInfo();
factoryInfo.factory = _arg1;
_loaded = true;
_setup = true;
_ready = true;
_error = false;
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
dispatchEvent(new ModuleEvent(ModuleEvent.PROGRESS));
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
}
public function initHandler(_arg1:Event):void{
var moduleEvent:ModuleEvent;
var event = _arg1;
factoryInfo = new FactoryInfo();
try {
factoryInfo.factory = (loader.content as IFlexModuleFactory);
} catch(error:Error) {
};
if (!factoryInfo.factory){
moduleEvent = new ModuleEvent(ModuleEvent.ERROR, event.bubbles, event.cancelable);
moduleEvent.bytesLoaded = 0;
moduleEvent.bytesTotal = 0;
moduleEvent.errorText = "SWF is not a loadable module";
dispatchEvent(moduleEvent);
return;
};
loader.content.addEventListener("ready", readyHandler);
loader.content.addEventListener("error", moduleErrorHandler);
try {
factoryInfo.applicationDomain = loader.contentLoaderInfo.applicationDomain;
} catch(error:Error) {
};
_setup = true;
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
}
public function resurrect():void{
var _local1:Object;
if (((!(factoryInfo)) && (limbo))){
for (_local1 in limbo) {
factoryInfo = (_local1 as FactoryInfo);
break;
};
limbo = null;
};
if (!factoryInfo){
if (_loaded){
dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD));
};
loader = null;
_loaded = false;
_setup = false;
_ready = false;
_error = false;
};
}
public function errorHandler(_arg1:ErrorEvent):void{
_error = true;
var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = 0;
_local2.bytesTotal = 0;
_local2.errorText = _arg1.text;
dispatchEvent(_local2);
}
public function get ready():Boolean{
return ((limbo) ? false : _ready);
}
private function loadBytes(_arg1:ApplicationDomain, _arg2:ByteArray):void{
var _local3:LoaderContext = new LoaderContext();
_local3.applicationDomain = (_arg1) ? _arg1 : new ApplicationDomain(ApplicationDomain.currentDomain);
if (("allowLoadBytesCodeExecution" in _local3)){
_local3["allowLoadBytesCodeExecution"] = true;
};
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
loader.loadBytes(_arg2, _local3);
}
public function removeReference():void{
numReferences--;
if (numReferences == 0){
release();
};
}
public function addReference():void{
numReferences++;
}
public function progressHandler(_arg1:ProgressEvent):void{
var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
dispatchEvent(_local2);
}
public function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void{
if (_loaded){
return;
};
_loaded = true;
limbo = null;
if (_arg3){
loadBytes(_arg1, _arg3);
return;
};
if (_url.indexOf("published://") == 0){
return;
};
var _local4:URLRequest = new URLRequest(_url);
var _local5:LoaderContext = new LoaderContext();
_local5.applicationDomain = (_arg1) ? _arg1 : new ApplicationDomain(ApplicationDomain.currentDomain);
_local5.securityDomain = _arg2;
if ((((_arg2 == null)) && ((Security.sandboxType == Security.REMOTE)))){
_local5.securityDomain = SecurityDomain.currentDomain;
};
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
loader.load(_local4, _local5);
}
public function get url():String{
return (_url);
}
public function get applicationDomain():ApplicationDomain{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.applicationDomain : null);
}
public function moduleErrorHandler(_arg1:Event):void{
var _local2:ModuleEvent;
_ready = true;
factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal;
clearLoader();
if ((_arg1 is ModuleEvent)){
_local2 = ModuleEvent(_arg1);
} else {
_local2 = new ModuleEvent(ModuleEvent.ERROR);
};
dispatchEvent(_local2);
}
public function readyHandler(_arg1:Event):void{
_ready = true;
factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal;
var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.READY);
_local2.bytesLoaded = loader.contentLoaderInfo.bytesLoaded;
_local2.bytesTotal = loader.contentLoaderInfo.bytesTotal;
clearLoader();
dispatchEvent(_local2);
}
public function get setup():Boolean{
return ((limbo) ? false : _setup);
}
public function unload():void{
clearLoader();
if (_loaded){
dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD));
};
limbo = null;
factoryInfo = null;
_loaded = false;
_setup = false;
_ready = false;
_error = false;
}
}
class FactoryInfo {
public var bytesTotal:int;// = 0
public var factory:IFlexModuleFactory;
public var applicationDomain:ApplicationDomain;
private function FactoryInfo(){
}
}
Section 146
//ModuleManagerGlobals (mx.modules.ModuleManagerGlobals)
package mx.modules {
public class ModuleManagerGlobals {
public static var managerSingleton:Object = null;
}
}//package mx.modules
Section 147
//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 148
//IResourceManager (mx.resources.IResourceManager)
package mx.resources {
import flash.events.*;
import flash.system.*;
public interface IResourceManager extends IEventDispatcher {
function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher;
function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean;
function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class;
function getLocales():Array;
function removeResourceBundlesForLocale(_arg1:String):void;
function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle;
function get localeChain():Array;
function getInt(_arg1:String, _arg2:String, _arg3:String=null):int;
function update():void;
function set localeChain(_arg1:Array):void;
function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint;
function addResourceBundle(_arg1:IResourceBundle):void;
function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array;
function getBundleNamesForLocale(_arg1:String):Array;
function removeResourceBundle(_arg1:String, _arg2:String):void;
function getObject(_arg1:String, _arg2:String, _arg3:String=null);
function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String;
function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void;
function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void;
function getPreferredLocaleChain():Array;
function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle;
function initializeLocaleChain(_arg1:Array):void;
function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number;
}
}//package mx.resources
Section 149
//IResourceModule (mx.resources.IResourceModule)
package mx.resources {
public interface IResourceModule {
function get resourceBundles():Array;
}
}//package mx.resources
Section 150
//LocaleSorter (mx.resources.LocaleSorter)
package mx.resources {
public class LocaleSorter {
mx_internal static const VERSION:String = "3.5.0.12683";
private static function normalizeLocale(_arg1:String):String{
return (_arg1.toLowerCase().replace(/-/g, "_"));
}
public static function sortLocalesByPreference(_arg1:Array, _arg2:Array, _arg3:String=null, _arg4:Boolean=false):Array{
var result:Array;
var hasLocale:Object;
var i:int;
var j:int;
var k:int;
var l:int;
var locale:String;
var plocale:LocaleID;
var appLocales = _arg1;
var systemPreferences = _arg2;
var ultimateFallbackLocale = _arg3;
var addAll = _arg4;
var promote:Function = function (_arg1:String):void{
if (typeof(hasLocale[_arg1]) != "undefined"){
result.push(appLocales[hasLocale[_arg1]]);
delete hasLocale[_arg1];
};
};
result = [];
hasLocale = {};
var locales:Array = trimAndNormalize(appLocales);
var preferenceLocales:Array = trimAndNormalize(systemPreferences);
addUltimateFallbackLocale(preferenceLocales, ultimateFallbackLocale);
j = 0;
while (j < locales.length) {
hasLocale[locales[j]] = j;
j = (j + 1);
};
i = 0;
l = preferenceLocales.length;
while (i < l) {
plocale = LocaleID.fromString(preferenceLocales[i]);
promote(preferenceLocales[i]);
promote(plocale.toString());
while (plocale.transformToParent()) {
promote(plocale.toString());
};
plocale = LocaleID.fromString(preferenceLocales[i]);
j = 0;
while (j < l) {
locale = preferenceLocales[j];
if (plocale.isSiblingOf(LocaleID.fromString(locale))){
promote(locale);
};
j = (j + 1);
};
j = 0;
k = locales.length;
while (j < k) {
locale = locales[j];
if (plocale.isSiblingOf(LocaleID.fromString(locale))){
promote(locale);
};
j = (j + 1);
};
i = (i + 1);
};
if (addAll){
j = 0;
k = locales.length;
while (j < k) {
promote(locales[j]);
j = (j + 1);
};
};
return (result);
}
private static function addUltimateFallbackLocale(_arg1:Array, _arg2:String):void{
var _local3:String;
if (((!((_arg2 == null))) && (!((_arg2 == ""))))){
_local3 = normalizeLocale(_arg2);
if (_arg1.indexOf(_local3) == -1){
_arg1.push(_local3);
};
};
}
private static function trimAndNormalize(_arg1:Array):Array{
var _local2:Array = [];
var _local3:int;
while (_local3 < _arg1.length) {
_local2.push(normalizeLocale(_arg1[_local3]));
_local3++;
};
return (_local2);
}
}
}//package mx.resources
class LocaleID {
private var privateLangs:Boolean;// = false
private var script:String;// = ""
private var variants:Array;
private var privates:Array;
private var extensions:Object;
private var lang:String;// = ""
private var region:String;// = ""
private var extended_langs:Array;
public static const STATE_PRIMARY_LANGUAGE:int = 0;
public static const STATE_REGION:int = 3;
public static const STATE_EXTENDED_LANGUAGES:int = 1;
public static const STATE_EXTENSIONS:int = 5;
public static const STATE_SCRIPT:int = 2;
public static const STATE_VARIANTS:int = 4;
public static const STATE_PRIVATES:int = 6;
private function LocaleID(){
extended_langs = [];
variants = [];
extensions = {};
privates = [];
super();
}
public function equals(_arg1:LocaleID):Boolean{
return ((toString() == _arg1.toString()));
}
public function canonicalize():void{
var _local1:String;
for (_local1 in extensions) {
if (extensions.hasOwnProperty(_local1)){
if (extensions[_local1].length == 0){
delete extensions[_local1];
} else {
extensions[_local1] = extensions[_local1].sort();
};
};
};
extended_langs = extended_langs.sort();
variants = variants.sort();
privates = privates.sort();
if (script == ""){
script = LocaleRegistry.getScriptByLang(lang);
};
if ((((script == "")) && (!((region == ""))))){
script = LocaleRegistry.getScriptByLangAndRegion(lang, region);
};
if ((((region == "")) && (!((script == ""))))){
region = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script);
};
}
public function toString():String{
var _local2:String;
var _local1:Array = [lang];
appendElements(_local1, extended_langs);
if (script != ""){
_local1.push(script);
};
if (region != ""){
_local1.push(region);
};
appendElements(_local1, variants);
for (_local2 in extensions) {
if (extensions.hasOwnProperty(_local2)){
_local1.push(_local2);
appendElements(_local1, extensions[_local2]);
};
};
if (privates.length > 0){
_local1.push("x");
appendElements(_local1, privates);
};
return (_local1.join("_"));
}
public function isSiblingOf(_arg1:LocaleID):Boolean{
return ((((lang == _arg1.lang)) && ((script == _arg1.script))));
}
public function transformToParent():Boolean{
var _local2:String;
var _local3:Array;
var _local4:String;
if (privates.length > 0){
privates.splice((privates.length - 1), 1);
return (true);
};
var _local1:String;
for (_local2 in extensions) {
if (extensions.hasOwnProperty(_local2)){
_local1 = _local2;
};
};
if (_local1){
_local3 = extensions[_local1];
if (_local3.length == 1){
delete extensions[_local1];
return (true);
};
_local3.splice((_local3.length - 1), 1);
return (true);
};
if (variants.length > 0){
variants.splice((variants.length - 1), 1);
return (true);
};
if (script != ""){
if (LocaleRegistry.getScriptByLang(lang) != ""){
script = "";
return (true);
};
if (region == ""){
_local4 = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script);
if (_local4 != ""){
region = _local4;
script = "";
return (true);
};
};
};
if (region != ""){
if (!(((script == "")) && ((LocaleRegistry.getScriptByLang(lang) == "")))){
region = "";
return (true);
};
};
if (extended_langs.length > 0){
extended_langs.splice((extended_langs.length - 1), 1);
return (true);
};
return (false);
}
private static function appendElements(_arg1:Array, _arg2:Array):void{
var _local3:uint;
var _local4:uint = _arg2.length;
while (_local3 < _local4) {
_arg1.push(_arg2[_local3]);
_local3++;
};
}
public static function fromString(_arg1:String):LocaleID{
var _local5:Array;
var _local8:String;
var _local9:int;
var _local10:String;
var _local2:LocaleID = new (LocaleID);
var _local3:int = STATE_PRIMARY_LANGUAGE;
var _local4:Array = _arg1.replace(/-/g, "_").split("_");
var _local6:int;
var _local7:int = _local4.length;
while (_local6 < _local7) {
_local8 = _local4[_local6].toLowerCase();
if (_local3 == STATE_PRIMARY_LANGUAGE){
if (_local8 == "x"){
_local2.privateLangs = true;
} else {
if (_local8 == "i"){
_local2.lang = (_local2.lang + "i-");
} else {
_local2.lang = (_local2.lang + _local8);
_local3 = STATE_EXTENDED_LANGUAGES;
};
};
} else {
_local9 = _local8.length;
if (_local9 == 0){
} else {
_local10 = _local8.charAt(0).toLowerCase();
if ((((_local3 <= STATE_EXTENDED_LANGUAGES)) && ((_local9 == 3)))){
_local2.extended_langs.push(_local8);
if (_local2.extended_langs.length == 3){
_local3 = STATE_SCRIPT;
};
} else {
if ((((_local3 <= STATE_SCRIPT)) && ((_local9 == 4)))){
_local2.script = _local8;
_local3 = STATE_REGION;
} else {
if ((((_local3 <= STATE_REGION)) && ((((_local9 == 2)) || ((_local9 == 3)))))){
_local2.region = _local8;
_local3 = STATE_VARIANTS;
} else {
if ((((_local3 <= STATE_VARIANTS)) && ((((((((_local10 >= "a")) && ((_local10 <= "z")))) && ((_local9 >= 5)))) || ((((((_local10 >= "0")) && ((_local10 <= "9")))) && ((_local9 >= 4)))))))){
_local2.variants.push(_local8);
_local3 = STATE_VARIANTS;
} else {
if ((((_local3 < STATE_PRIVATES)) && ((_local9 == 1)))){
if (_local8 == "x"){
_local3 = STATE_PRIVATES;
_local5 = _local2.privates;
} else {
_local3 = STATE_EXTENSIONS;
_local5 = ((_local2.extensions[_local8]) || ([]));
_local2.extensions[_local8] = _local5;
};
} else {
if (_local3 >= STATE_EXTENSIONS){
_local5.push(_local8);
};
};
};
};
};
};
};
};
_local6++;
};
_local2.canonicalize();
return (_local2);
}
}
class LocaleRegistry {
private static const SCRIPT_ID_BY_LANG:Object = {ab:5, af:1, am:2, ar:3, as:4, ay:1, be:5, bg:5, bn:4, bs:1, ca:1, ch:1, cs:1, cy:1, da:1, de:1, dv:6, dz:7, el:8, en:1, eo:1, es:1, et:1, eu:1, fa:3, fi:1, fj:1, fo:1, fr:1, frr:1, fy:1, ga:1, gl:1, gn:1, gu:9, gv:1, he:10, hi:11, hr:1, ht:1, hu:1, hy:12, id:1, in:1, is:1, it:1, iw:10, ja:13, ka:14, kk:5, kl:1, km:15, kn:16, ko:17, la:1, lb:1, ln:1, lo:18, lt:1, lv:1, mg:1, mh:1, mk:5, ml:19, mo:1, mr:11, ms:1, mt:1, my:20, na:1, nb:1, nd:1, ne:11, nl:1, nn:1, no:1, nr:1, ny:1, om:1, or:21, pa:22, pl:1, ps:3, pt:1, qu:1, rn:1, ro:1, ru:5, rw:1, sg:1, si:23, sk:1, sl:1, sm:1, so:1, sq:1, ss:1, st:1, sv:1, sw:1, ta:24, te:25, th:26, ti:2, tl:1, tn:1, to:1, tr:1, ts:1, uk:5, ur:3, ve:1, vi:1, wo:1, xh:1, yi:10, zu:1, cpe:1, dsb:1, frs:1, gsw:1, hsb:1, kok:11, mai:11, men:1, nds:1, niu:1, nqo:27, nso:1, son:1, tem:1, tkl:1, tmh:1, tpi:1, tvl:1, zbl:28};
private static const SCRIPTS:Array = ["", "latn", "ethi", "arab", "beng", "cyrl", "thaa", "tibt", "grek", "gujr", "hebr", "deva", "armn", "jpan", "geor", "khmr", "knda", "kore", "laoo", "mlym", "mymr", "orya", "guru", "sinh", "taml", "telu", "thai", "nkoo", "blis", "hans", "hant", "mong", "syrc"];
private static const DEFAULT_REGION_BY_LANG_AND_SCRIPT:Object = {bg:{5:"bg"}, ca:{1:"es"}, zh:{30:"tw", 29:"cn"}, cs:{1:"cz"}, da:{1:"dk"}, de:{1:"de"}, el:{8:"gr"}, en:{1:"us"}, es:{1:"es"}, fi:{1:"fi"}, fr:{1:"fr"}, he:{10:"il"}, hu:{1:"hu"}, is:{1:"is"}, it:{1:"it"}, ja:{13:"jp"}, ko:{17:"kr"}, nl:{1:"nl"}, nb:{1:"no"}, pl:{1:"pl"}, pt:{1:"br"}, ro:{1:"ro"}, ru:{5:"ru"}, hr:{1:"hr"}, sk:{1:"sk"}, sq:{1:"al"}, sv:{1:"se"}, th:{26:"th"}, tr:{1:"tr"}, ur:{3:"pk"}, id:{1:"id"}, uk:{5:"ua"}, be:{5:"by"}, sl:{1:"si"}, et:{1:"ee"}, lv:{1:"lv"}, lt:{1:"lt"}, fa:{3:"ir"}, vi:{1:"vn"}, hy:{12:"am"}, az:{1:"az", 5:"az"}, eu:{1:"es"}, mk:{5:"mk"}, af:{1:"za"}, ka:{14:"ge"}, fo:{1:"fo"}, hi:{11:"in"}, ms:{1:"my"}, kk:{5:"kz"}, ky:{5:"kg"}, sw:{1:"ke"}, uz:{1:"uz", 5:"uz"}, tt:{5:"ru"}, pa:{22:"in"}, gu:{9:"in"}, ta:{24:"in"}, te:{25:"in"}, kn:{16:"in"}, mr:{11:"in"}, sa:{11:"in"}, mn:{5:"mn"}, gl:{1:"es"}, kok:{11:"in"}, syr:{32:"sy"}, dv:{6:"mv"}, nn:{1:"no"}, sr:{1:"cs", 5:"cs"}, cy:{1:"gb"}, mi:{1:"nz"}, mt:{1:"mt"}, quz:{1:"bo"}, tn:{1:"za"}, xh:{1:"za"}, zu:{1:"za"}, nso:{1:"za"}, se:{1:"no"}, smj:{1:"no"}, sma:{1:"no"}, sms:{1:"fi"}, smn:{1:"fi"}, bs:{1:"ba"}};
private static const SCRIPT_BY_ID:Object = {latn:1, ethi:2, arab:3, beng:4, cyrl:5, thaa:6, tibt:7, grek:8, gujr:9, hebr:10, deva:11, armn:12, jpan:13, geor:14, khmr:15, knda:16, kore:17, laoo:18, mlym:19, mymr:20, orya:21, guru:22, sinh:23, taml:24, telu:25, thai:26, nkoo:27, blis:28, hans:29, hant:30, mong:31, syrc:32};
private static const SCRIPT_ID_BY_LANG_AND_REGION:Object = {zh:{cn:29, sg:29, tw:30, hk:30, mo:30}, mn:{cn:31, sg:5}, pa:{pk:3, in:22}, ha:{gh:1, ne:1}};
private function LocaleRegistry(){
}
public static function getScriptByLangAndRegion(_arg1:String, _arg2:String):String{
var _local3:Object = SCRIPT_ID_BY_LANG_AND_REGION[_arg1];
if (_local3 == null){
return ("");
};
var _local4:Object = _local3[_arg2];
if (_local4 == null){
return ("");
};
return (SCRIPTS[int(_local4)].toLowerCase());
}
public static function getScriptByLang(_arg1:String):String{
var _local2:Object = SCRIPT_ID_BY_LANG[_arg1];
if (_local2 == null){
return ("");
};
return (SCRIPTS[int(_local2)].toLowerCase());
}
public static function getDefaultRegionForLangAndScript(_arg1:String, _arg2:String):String{
var _local3:Object = DEFAULT_REGION_BY_LANG_AND_SCRIPT[_arg1];
var _local4:Object = SCRIPT_BY_ID[_arg2];
if ((((_local3 == null)) || ((_local4 == null)))){
return ("");
};
return (((_local3[int(_local4)]) || ("")));
}
}
Section 151
//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.5.0.12683";
mx_internal static var backupApplicationDomain:ApplicationDomain;
mx_internal static var locale:String;
public function ResourceBundle(_arg1:String=null, _arg2:String=null){
_content = {};
super();
mx_internal::_locale = _arg1;
mx_internal::_bundleName = _arg2;
_content = getContent();
}
protected function getContent():Object{
return ({});
}
public function getString(_arg1:String):String{
return (String(_getObject(_arg1)));
}
public function get content():Object{
return (_content);
}
public function getBoolean(_arg1:String, _arg2:Boolean=true):Boolean{
var _local3:String = _getObject(_arg1).toLowerCase();
if (_local3 == "false"){
return (false);
};
if (_local3 == "true"){
return (true);
};
return (_arg2);
}
public function getStringArray(_arg1:String):Array{
var _local2:Array = _getObject(_arg1).split(",");
var _local3:int = _local2.length;
var _local4:int;
while (_local4 < _local3) {
_local2[_local4] = StringUtil.trim(_local2[_local4]);
_local4++;
};
return (_local2);
}
public function getObject(_arg1:String):Object{
return (_getObject(_arg1));
}
private function _getObject(_arg1:String):Object{
var _local2:Object = content[_arg1];
if (!_local2){
throw (new Error(((("Key " + _arg1) + " was not found in resource bundle ") + bundleName)));
};
return (_local2);
}
public function get locale():String{
return (mx_internal::_locale);
}
public function get bundleName():String{
return (mx_internal::_bundleName);
}
public function getNumber(_arg1:String):Number{
return (Number(_getObject(_arg1)));
}
private static function getClassByName(_arg1:String, _arg2:ApplicationDomain):Class{
var _local3:Class;
if (_arg2.hasDefinition(_arg1)){
_local3 = (_arg2.getDefinition(_arg1) as Class);
};
return (_local3);
}
public static function getResourceBundle(_arg1:String, _arg2:ApplicationDomain=null):ResourceBundle{
var _local3:String;
var _local4:Class;
var _local5:Object;
var _local6:ResourceBundle;
if (!_arg2){
_arg2 = ApplicationDomain.currentDomain;
};
_local3 = (((mx_internal::locale + "$") + _arg1) + "_properties");
_local4 = getClassByName(_local3, _arg2);
if (!_local4){
_local3 = (_arg1 + "_properties");
_local4 = getClassByName(_local3, _arg2);
};
if (!_local4){
_local3 = _arg1;
_local4 = getClassByName(_local3, _arg2);
};
if (((!(_local4)) && (mx_internal::backupApplicationDomain))){
_local3 = (_arg1 + "_properties");
_local4 = getClassByName(_local3, mx_internal::backupApplicationDomain);
if (!_local4){
_local3 = _arg1;
_local4 = getClassByName(_local3, mx_internal::backupApplicationDomain);
};
};
if (_local4){
_local5 = new (_local4);
if ((_local5 is ResourceBundle)){
_local6 = ResourceBundle(_local5);
return (_local6);
};
};
throw (new Error(("Could not find resource bundle " + _arg1)));
}
}
}//package mx.resources
Section 152
//ResourceManager (mx.resources.ResourceManager)
package mx.resources {
import mx.core.*;
public class ResourceManager {
mx_internal static const VERSION:String = "3.5.0.12683";
private static var implClassDependency:ResourceManagerImpl;
private static var instance:IResourceManager;
public static function getInstance():IResourceManager{
if (!instance){
try {
instance = IResourceManager(Singleton.getInstance("mx.resources::IResourceManager"));
} catch(e:Error) {
instance = new ResourceManagerImpl();
};
};
return (instance);
}
}
}//package mx.resources
Section 153
//ResourceManagerImpl (mx.resources.ResourceManagerImpl)
package mx.resources {
import flash.events.*;
import mx.core.*;
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.5.0.12683";
private static var instance:IResourceManager;
public function ResourceManagerImpl(){
localeMap = {};
resourceModules = {};
super();
}
public function get localeChain():Array{
return (_localeChain);
}
public function set localeChain(_arg1:Array):void{
_localeChain = _arg1;
update();
}
public function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (null);
};
var _local5:* = _local4.content[_arg2];
var _local6:Array = String(_local5).split(",");
var _local7:int = _local6.length;
var _local8:int;
while (_local8 < _local7) {
_local6[_local8] = StringUtil.trim(_local6[_local8]);
_local8++;
};
return (_local6);
}
mx_internal function installCompiledResourceBundle(_arg1:ApplicationDomain, _arg2:String, _arg3:String):void{
var _local4:String;
var _local5:String = _arg3;
var _local6:int = _arg3.indexOf(":");
if (_local6 != -1){
_local4 = _arg3.substring(0, _local6);
_local5 = _arg3.substring((_local6 + 1));
};
if (getResourceBundle(_arg2, _arg3)){
return;
};
var _local7 = (((_arg2 + "$") + _local5) + "_properties");
if (_local4 != null){
_local7 = ((_local4 + ".") + _local7);
};
var _local8:Class;
if (_arg1.hasDefinition(_local7)){
_local8 = Class(_arg1.getDefinition(_local7));
};
if (!_local8){
_local7 = _arg3;
if (_arg1.hasDefinition(_local7)){
_local8 = Class(_arg1.getDefinition(_local7));
};
};
if (!_local8){
_local7 = (_arg3 + "_properties");
if (_arg1.hasDefinition(_local7)){
_local8 = Class(_arg1.getDefinition(_local7));
};
};
if (!_local8){
throw (new Error((((("Could not find compiled resource bundle '" + _arg3) + "' for locale '") + _arg2) + "'.")));
};
var _local9:ResourceBundle = ResourceBundle(new (_local8));
_local9.mx_internal::_locale = _arg2;
_local9.mx_internal::_bundleName = _arg3;
addResourceBundle(_local9);
}
public function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String{
var _local5:IResourceBundle = findBundle(_arg1, _arg2, _arg4);
if (!_local5){
return (null);
};
var _local6:String = String(_local5.content[_arg2]);
if (_arg3){
_local6 = StringUtil.substitute(_local6, _arg3);
};
return (_local6);
}
public function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher{
var moduleInfo:IModuleInfo;
var resourceEventDispatcher:ResourceEventDispatcher;
var timer:Timer;
var timerHandler:Function;
var url = _arg1;
var updateFlag = _arg2;
var applicationDomain = _arg3;
var securityDomain = _arg4;
moduleInfo = ModuleManager.getModule(url);
resourceEventDispatcher = new ResourceEventDispatcher(moduleInfo);
var readyHandler:Function = function (_arg1:ModuleEvent):void{
var _local2:* = _arg1.module.factory.create();
resourceModules[_arg1.module.url].resourceModule = _local2;
if (updateFlag){
update();
};
};
moduleInfo.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true);
var errorHandler:Function = function (_arg1:ModuleEvent):void{
var _local3:ResourceEvent;
var _local2:String = ("Unable to load resource module from " + url);
if (resourceEventDispatcher.willTrigger(ResourceEvent.ERROR)){
_local3 = new ResourceEvent(ResourceEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local3.bytesLoaded = 0;
_local3.bytesTotal = 0;
_local3.errorText = _local2;
resourceEventDispatcher.dispatchEvent(_local3);
} else {
throw (new Error(_local2));
};
};
moduleInfo.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true);
resourceModules[url] = new ResourceModuleInfo(moduleInfo, readyHandler, errorHandler);
timer = new Timer(0);
timerHandler = function (_arg1:TimerEvent):void{
timer.removeEventListener(TimerEvent.TIMER, timerHandler);
timer.stop();
moduleInfo.load(applicationDomain, securityDomain);
};
timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true);
timer.start();
return (resourceEventDispatcher);
}
public function getLocales():Array{
var _local2:String;
var _local1:Array = [];
for (_local2 in localeMap) {
_local1.push(_local2);
};
return (_local1);
}
public function removeResourceBundlesForLocale(_arg1:String):void{
delete localeMap[_arg1];
}
public function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle{
var _local3:Object = localeMap[_arg1];
if (!_local3){
return (null);
};
return (_local3[_arg2]);
}
private function dumpResourceModule(_arg1):void{
var _local2:ResourceBundle;
var _local3:String;
for each (_local2 in _arg1.resourceBundles) {
trace(_local2.locale, _local2.bundleName);
for (_local3 in _local2.content) {
};
};
}
public function addResourceBundle(_arg1:IResourceBundle):void{
var _local2:String = _arg1.locale;
var _local3:String = _arg1.bundleName;
if (!localeMap[_local2]){
localeMap[_local2] = {};
};
localeMap[_local2][_local3] = _arg1;
}
public function getObject(_arg1:String, _arg2:String, _arg3:String=null){
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (undefined);
};
return (_local4.content[_arg2]);
}
public function getInt(_arg1:String, _arg2:String, _arg3:String=null):int{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (0);
};
var _local5:* = _local4.content[_arg2];
return (int(_local5));
}
private function findBundle(_arg1:String, _arg2:String, _arg3:String):IResourceBundle{
supportNonFrameworkApps();
return (((_arg3)!=null) ? getResourceBundle(_arg3, _arg1) : findResourceBundleWithResource(_arg1, _arg2));
}
private function supportNonFrameworkApps():void{
if (initializedForNonFrameworkApp){
return;
};
initializedForNonFrameworkApp = true;
if (getLocales().length > 0){
return;
};
var _local1:ApplicationDomain = ApplicationDomain.currentDomain;
if (!_local1.hasDefinition("_CompiledResourceBundleInfo")){
return;
};
var _local2:Class = Class(_local1.getDefinition("_CompiledResourceBundleInfo"));
var _local3:Array = _local2.compiledLocales;
var _local4:Array = _local2.compiledResourceBundleNames;
installCompiledResourceBundles(_local1, _local3, _local4);
localeChain = _local3;
}
public function getBundleNamesForLocale(_arg1:String):Array{
var _local3:String;
var _local2:Array = [];
for (_local3 in localeMap[_arg1]) {
_local2.push(_local3);
};
return (_local2);
}
public function getPreferredLocaleChain():Array{
return (LocaleSorter.sortLocalesByPreference(getLocales(), getSystemPreferredLocales(), null, true));
}
public function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (NaN);
};
var _local5:* = _local4.content[_arg2];
return (Number(_local5));
}
public function update():void{
dispatchEvent(new Event(Event.CHANGE));
}
public function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (null);
};
var _local5:* = _local4.content[_arg2];
return ((_local5 as Class));
}
public function removeResourceBundle(_arg1:String, _arg2:String):void{
delete localeMap[_arg1][_arg2];
if (getBundleNamesForLocale(_arg1).length == 0){
delete localeMap[_arg1];
};
}
public function initializeLocaleChain(_arg1:Array):void{
localeChain = LocaleSorter.sortLocalesByPreference(_arg1, getSystemPreferredLocales(), null, true);
}
public function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle{
var _local5:String;
var _local6:Object;
var _local7:ResourceBundle;
if (!_localeChain){
return (null);
};
var _local3:int = _localeChain.length;
var _local4:int;
while (_local4 < _local3) {
_local5 = localeChain[_local4];
_local6 = localeMap[_local5];
if (!_local6){
} else {
_local7 = _local6[_arg1];
if (!_local7){
} else {
if ((_arg2 in _local7.content)){
return (_local7);
};
};
};
_local4++;
};
return (null);
}
public function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (0);
};
var _local5:* = _local4.content[_arg2];
return (uint(_local5));
}
private function getSystemPreferredLocales():Array{
var _local1:Array;
if (Capabilities["languages"]){
_local1 = Capabilities["languages"];
} else {
_local1 = [Capabilities.language];
};
return (_local1);
}
public function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void{
var _local7:String;
var _local8:int;
var _local9:String;
var _local4:int = (_arg2) ? _arg2.length : 0;
var _local5:int = (_arg3) ? _arg3.length : 0;
var _local6:int;
while (_local6 < _local4) {
_local7 = _arg2[_local6];
_local8 = 0;
while (_local8 < _local5) {
_local9 = _arg3[_local8];
mx_internal::installCompiledResourceBundle(_arg1, _local7, _local9);
_local8++;
};
_local6++;
};
}
public function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (false);
};
var _local5:* = _local4.content[_arg2];
return ((String(_local5).toLowerCase() == "true"));
}
public function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void{
var _local4:Array;
var _local5:int;
var _local6:int;
var _local7:String;
var _local8:String;
var _local3:ResourceModuleInfo = resourceModules[_arg1];
if (!_local3){
return;
};
if (_local3.resourceModule){
_local4 = _local3.resourceModule.resourceBundles;
if (_local4){
_local5 = _local4.length;
_local6 = 0;
while (_local6 < _local5) {
_local7 = _local4[_local6].locale;
_local8 = _local4[_local6].bundleName;
removeResourceBundle(_local7, _local8);
_local6++;
};
};
};
resourceModules[_arg1] = null;
delete resourceModules[_arg1];
_local3.moduleInfo.unload();
if (_arg2){
this.update();
};
}
public static function getInstance():IResourceManager{
if (!instance){
instance = new (ResourceManagerImpl);
};
return (instance);
}
}
}//package mx.resources
import flash.events.*;
import mx.modules.*;
import mx.events.*;
class ResourceModuleInfo {
public var resourceModule:IResourceModule;
public var errorHandler:Function;
public var readyHandler:Function;
public var moduleInfo:IModuleInfo;
private function ResourceModuleInfo(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){
this.moduleInfo = _arg1;
this.readyHandler = _arg2;
this.errorHandler = _arg3;
}
}
class ResourceEventDispatcher extends EventDispatcher {
private function ResourceEventDispatcher(_arg1:IModuleInfo){
_arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true);
}
private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{
var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
dispatchEvent(_local2);
}
private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{
var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.COMPLETE);
dispatchEvent(_local2);
}
private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{
var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
_local2.errorText = _arg1.errorText;
dispatchEvent(_local2);
}
}
Section 154
//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.5.0.12683";
private static var BORDER_WIDTHS:Object = {none:0, solid:1, inset:2, outset:2, alert:3, dropdown:2, menuBorder:1, comboNonEdit:2};
public function HaloBorder(){
BORDER_WIDTHS["default"] = 3;
}
override public function styleChanged(_arg1:String):void{
if ((((((((((_arg1 == null)) || ((_arg1 == "styleName")))) || ((_arg1 == "borderStyle")))) || ((_arg1 == "borderThickness")))) || ((_arg1 == "borderSides")))){
_borderMetrics = null;
};
invalidateDisplayList();
}
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
if (((isNaN(_arg1)) || (isNaN(_arg2)))){
return;
};
super.updateDisplayList(_arg1, _arg2);
backgroundColor = getBackgroundColor();
bRoundedCorners = false;
backgroundAlphaName = "backgroundAlpha";
backgroundHole = null;
radius = 0;
radiusObj = null;
drawBorder(_arg1, _arg2);
drawBackground(_arg1, _arg2);
}
mx_internal function drawBorder(_arg1:Number, _arg2:Number):void{
var _local5:Number;
var _local6:uint;
var _local7:uint;
var _local8:String;
var _local9:Number;
var _local10:uint;
var _local11:Boolean;
var _local12:uint;
var _local13:Array;
var _local14:Array;
var _local15:uint;
var _local16:uint;
var _local17:uint;
var _local18:uint;
var _local19:Boolean;
var _local20:Object;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Object;
var _local27:Number;
var _local28:Number;
var _local29:IContainer;
var _local30:EdgeMetrics;
var _local31:Boolean;
var _local32:Number;
var _local33:Array;
var _local34:uint;
var _local35:Boolean;
var _local36:Number;
var _local3:String = getStyle("borderStyle");
var _local4:Array = getStyle("highlightAlphas");
var _local21:Boolean;
var _local26:Graphics = graphics;
_local26.clear();
if (_local3){
switch (_local3){
case "none":
break;
case "inset":
_local7 = getStyle("borderColor");
_local22 = ColorUtil.adjustBrightness2(_local7, -40);
_local23 = ColorUtil.adjustBrightness2(_local7, 25);
_local24 = ColorUtil.adjustBrightness2(_local7, 40);
_local25 = backgroundColor;
if ((((_local25 === null)) || ((_local25 === "")))){
_local25 = _local7;
};
draw3dBorder(_local23, _local22, _local24, Number(_local25), Number(_local25), Number(_local25));
break;
case "outset":
_local7 = getStyle("borderColor");
_local22 = ColorUtil.adjustBrightness2(_local7, -40);
_local23 = ColorUtil.adjustBrightness2(_local7, -25);
_local24 = ColorUtil.adjustBrightness2(_local7, 40);
_local25 = backgroundColor;
if ((((_local25 === null)) || ((_local25 === "")))){
_local25 = _local7;
};
draw3dBorder(_local23, _local24, _local22, Number(_local25), Number(_local25), Number(_local25));
break;
case "alert":
case "default":
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
_local27 = getStyle("backgroundAlpha");
_local5 = getStyle("borderAlpha");
backgroundAlphaName = "borderAlpha";
radius = getStyle("cornerRadius");
bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true");
_local28 = (bRoundedCorners) ? radius : 0;
drawDropShadow(0, 0, _arg1, _arg2, radius, radius, _local28, _local28);
if (!bRoundedCorners){
radiusObj = {};
};
_local29 = (parent as IContainer);
if (_local29){
_local30 = _local29.viewMetrics;
backgroundHole = {x:_local30.left, y:_local30.top, w:Math.max(0, ((_arg1 - _local30.left) - _local30.right)), h:Math.max(0, ((_arg2 - _local30.top) - _local30.bottom)), r:0};
if ((((backgroundHole.w > 0)) && ((backgroundHole.h > 0)))){
if (_local27 != _local5){
drawDropShadow(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h, 0, 0, 0, 0);
};
_local26.beginFill(Number(backgroundColor), _local27);
_local26.drawRect(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h);
_local26.endFill();
};
};
backgroundColor = getStyle("borderColor");
};
break;
case "dropdown":
_local12 = getStyle("dropdownBorderColor");
drawDropShadow(0, 0, _arg1, _arg2, 4, 0, 0, 4);
drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, 5068126, 1);
drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, [0xFFFFFF, 0xFFFFFF], [0.7, 0], verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1);
drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3)));
if (!isNaN(_local12)){
drawRoundRect(0, 0, (_arg1 + 1), _arg2, {tl:4, tr:0, br:0, bl:4}, _local12, 0.5);
drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1);
drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3)));
};
backgroundColor = null;
break;
case "menuBorder":
_local7 = getStyle("borderColor");
drawRoundRect(0, 0, _arg1, _arg2, 0, _local7, 1);
drawDropShadow(1, 1, (_arg1 - 2), (_arg2 - 2), 0, 0, 0, 0);
break;
case "comboNonEdit":
break;
case "controlBar":
if ((((_arg1 == 0)) || ((_arg2 == 0)))){
backgroundColor = null;
break;
};
_local14 = getStyle("footerColors");
_local31 = !((_local14 == null));
_local32 = getStyle("borderAlpha");
if (_local31){
_local26.lineStyle(0, ((_local14.length > 0)) ? _local14[1] : _local14[0], _local32);
_local26.moveTo(0, 0);
_local26.lineTo(_arg1, 0);
_local26.lineStyle(0, 0, 0);
if (((((parent) && (parent.parent))) && ((parent.parent is IStyleClient)))){
radius = IStyleClient(parent.parent).getStyle("cornerRadius");
_local32 = IStyleClient(parent.parent).getStyle("borderAlpha");
};
if (isNaN(radius)){
radius = 0;
};
if (IStyleClient(parent.parent).getStyle("roundedBottomCorners").toString().toLowerCase() != "true"){
radius = 0;
};
drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2));
if ((((_local14.length > 1)) && (!((_local14[0] == _local14[1]))))){
drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(1, 2, (_arg1 - 2), (_arg2 - 3), {tl:0, tr:0, bl:(radius - 1), br:(radius - 1)}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2));
};
};
backgroundColor = null;
break;
case "applicationControlBar":
_local13 = getStyle("fillColors");
_local5 = getStyle("backgroundAlpha");
_local4 = getStyle("highlightAlphas");
_local33 = getStyle("fillAlphas");
_local11 = getStyle("docked");
_local34 = uint(backgroundColor);
radius = getStyle("cornerRadius");
if (!radius){
radius = 0;
};
drawDropShadow(0, 1, _arg1, (_arg2 - 1), radius, radius, radius, radius);
if (((!((backgroundColor === null))) && (StyleManager.isValidStyleValue(backgroundColor)))){
drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local34, _local5, verticalGradientMatrix(0, 0, _arg1, _arg2));
};
drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local13, _local33, verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(0, 1, _arg1, ((_arg2 / 2) - 1), {tl:radius, tr:radius, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, ((_arg2 / 2) - 1)));
drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, 0.3, null, GradientType.LINEAR, null, {x:0, y:2, w:_arg1, h:(_arg2 - 2), r:{tl:radius, tr:radius, bl:0, br:0}});
backgroundColor = null;
break;
default:
_local7 = getStyle("borderColor");
_local9 = getStyle("borderThickness");
_local8 = getStyle("borderSides");
_local35 = true;
radius = getStyle("cornerRadius");
bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true");
_local36 = Math.max((radius - _local9), 0);
_local20 = {x:_local9, y:_local9, w:(_arg1 - (_local9 * 2)), h:(_arg2 - (_local9 * 2)), r:_local36};
if (!bRoundedCorners){
radiusObj = {tl:radius, tr:radius, bl:0, br:0};
_local20.r = {tl:_local36, tr:_local36, bl:0, br:0};
};
if (_local8 != "left top right bottom"){
_local20.r = {tl:_local36, tr:_local36, bl:(bRoundedCorners) ? _local36 : 0, br:(bRoundedCorners) ? _local36 : 0};
radiusObj = {tl:radius, tr:radius, bl:(bRoundedCorners) ? radius : 0, br:(bRoundedCorners) ? radius : 0};
_local8 = _local8.toLowerCase();
if (_local8.indexOf("left") == -1){
_local20.x = 0;
_local20.w = (_local20.w + _local9);
_local20.r.tl = 0;
_local20.r.bl = 0;
radiusObj.tl = 0;
radiusObj.bl = 0;
_local35 = false;
};
if (_local8.indexOf("top") == -1){
_local20.y = 0;
_local20.h = (_local20.h + _local9);
_local20.r.tl = 0;
_local20.r.tr = 0;
radiusObj.tl = 0;
radiusObj.tr = 0;
_local35 = false;
};
if (_local8.indexOf("right") == -1){
_local20.w = (_local20.w + _local9);
_local20.r.tr = 0;
_local20.r.br = 0;
radiusObj.tr = 0;
radiusObj.br = 0;
_local35 = false;
};
if (_local8.indexOf("bottom") == -1){
_local20.h = (_local20.h + _local9);
_local20.r.bl = 0;
_local20.r.br = 0;
radiusObj.bl = 0;
radiusObj.br = 0;
_local35 = false;
};
};
if ((((radius == 0)) && (_local35))){
drawDropShadow(0, 0, _arg1, _arg2, 0, 0, 0, 0);
_local26.beginFill(_local7);
_local26.drawRect(0, 0, _arg1, _arg2);
_local26.drawRect(_local9, _local9, (_arg1 - (2 * _local9)), (_arg2 - (2 * _local9)));
_local26.endFill();
} else {
if (radiusObj){
drawDropShadow(0, 0, _arg1, _arg2, radiusObj.tl, radiusObj.tr, radiusObj.br, radiusObj.bl);
drawRoundRect(0, 0, _arg1, _arg2, radiusObj, _local7, 1, null, null, null, _local20);
radiusObj.tl = Math.max((radius - _local9), 0);
radiusObj.tr = Math.max((radius - _local9), 0);
radiusObj.bl = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0;
radiusObj.br = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0;
} else {
drawDropShadow(0, 0, _arg1, _arg2, radius, radius, radius, radius);
drawRoundRect(0, 0, _arg1, _arg2, radius, _local7, 1, null, null, null, _local20);
radius = Math.max((getStyle("cornerRadius") - _local9), 0);
};
};
};
};
}
mx_internal function drawBackground(_arg1:Number, _arg2:Number):void{
var _local4:Number;
var _local5:Number;
var _local6:EdgeMetrics;
var _local7:Graphics;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Array;
var _local12:Number;
if (((((((!((backgroundColor === null))) && (!((backgroundColor === ""))))) || (getStyle("mouseShield")))) || (getStyle("mouseShieldChildren")))){
_local4 = Number(backgroundColor);
_local5 = 1;
_local6 = getBackgroundColorMetrics();
_local7 = graphics;
if (((((isNaN(_local4)) || ((backgroundColor === "")))) || ((backgroundColor === null)))){
_local5 = 0;
_local4 = 0xFFFFFF;
} else {
_local5 = getStyle(backgroundAlphaName);
};
if (((!((radius == 0))) || (backgroundHole))){
_local8 = _local6.bottom;
if (radiusObj){
_local9 = Math.max((radius - Math.max(_local6.top, _local6.left, _local6.right)), 0);
_local10 = (bRoundedCorners) ? Math.max((radius - Math.max(_local6.bottom, _local6.left, _local6.right)), 0) : 0;
radiusObj = {tl:_local9, tr:_local9, bl:_local10, br:_local10};
drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radiusObj, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole);
} else {
drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radius, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole);
};
} else {
_local7.beginFill(_local4, _local5);
_local7.drawRect(_local6.left, _local6.top, ((_arg1 - _local6.right) - _local6.left), ((_arg2 - _local6.bottom) - _local6.top));
_local7.endFill();
};
};
var _local3:String = getStyle("borderStyle");
if ((((((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) && ((((_local3 == "alert")) || ((_local3 == "default")))))) && ((getStyle("headerColors") == null)))){
_local11 = getStyle("highlightAlphas");
_local12 = (_local11) ? _local11[0] : 0.3;
drawRoundRect(0, 0, _arg1, _arg2, {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, _local12, null, GradientType.LINEAR, null, {x:0, y:1, w:_arg1, h:(_arg2 - 1), r:{tl:radius, tr:radius, bl:0, br:0}});
};
}
mx_internal function drawDropShadow(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):void{
var _local11:Number;
var _local12:Boolean;
if ((((((((getStyle("dropShadowEnabled") == false)) || ((getStyle("dropShadowEnabled") == "false")))) || ((_arg3 == 0)))) || ((_arg4 == 0)))){
return;
};
var _local9:Number = getStyle("shadowDistance");
var _local10:String = getStyle("shadowDirection");
if (getStyle("borderStyle") == "applicationControlBar"){
_local12 = getStyle("docked");
_local11 = (_local12) ? 90 : getDropShadowAngle(_local9, _local10);
_local9 = Math.abs(_local9);
} else {
_local11 = getDropShadowAngle(_local9, _local10);
_local9 = (Math.abs(_local9) + 2);
};
if (!dropShadow){
dropShadow = new RectangularDropShadow();
};
dropShadow.distance = _local9;
dropShadow.angle = _local11;
dropShadow.color = getStyle("dropShadowColor");
dropShadow.alpha = 0.4;
dropShadow.tlRadius = _arg5;
dropShadow.trRadius = _arg6;
dropShadow.blRadius = _arg8;
dropShadow.brRadius = _arg7;
dropShadow.drawShadow(graphics, _arg1, _arg2, _arg3, _arg4);
}
mx_internal function getBackgroundColor():Object{
var _local2:Object;
var _local1:IUIComponent = (parent as IUIComponent);
if (((_local1) && (!(_local1.enabled)))){
_local2 = getStyle("backgroundDisabledColor");
if (((!((_local2 === null))) && (StyleManager.isValidStyleValue(_local2)))){
return (_local2);
};
};
return (getStyle("backgroundColor"));
}
mx_internal function draw3dBorder(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{
var _local7:Number = width;
var _local8:Number = height;
drawDropShadow(0, 0, width, height, 0, 0, 0, 0);
var _local9:Graphics = graphics;
_local9.beginFill(_arg1);
_local9.drawRect(0, 0, _local7, _local8);
_local9.drawRect(1, 0, (_local7 - 2), _local8);
_local9.endFill();
_local9.beginFill(_arg2);
_local9.drawRect(1, 0, (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg3);
_local9.drawRect(1, (_local8 - 1), (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg4);
_local9.drawRect(1, 1, (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg5);
_local9.drawRect(1, (_local8 - 2), (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg6);
_local9.drawRect(1, 2, (_local7 - 2), (_local8 - 4));
_local9.drawRect(2, 2, (_local7 - 4), (_local8 - 4));
_local9.endFill();
}
mx_internal function getBackgroundColorMetrics():EdgeMetrics{
return (borderMetrics);
}
mx_internal function getDropShadowAngle(_arg1:Number, _arg2:String):Number{
if (_arg2 == "left"){
return (((_arg1 >= 0)) ? 135 : 225);
//unresolved jump
};
if (_arg2 == "right"){
return (((_arg1 >= 0)) ? 45 : 315);
//unresolved jump
};
return (((_arg1 >= 0)) ? 90 : 270);
}
override public function get borderMetrics():EdgeMetrics{
var _local1:Number;
var _local3:String;
if (_borderMetrics){
return (_borderMetrics);
};
var _local2:String = getStyle("borderStyle");
if ((((_local2 == "default")) || ((_local2 == "alert")))){
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
_borderMetrics = new EdgeMetrics(0, 0, 0, 0);
} else {
return (EdgeMetrics.EMPTY);
};
} else {
if ((((_local2 == "controlBar")) || ((_local2 == "applicationControlBar")))){
_borderMetrics = new EdgeMetrics(1, 1, 1, 1);
} else {
if (_local2 == "solid"){
_local1 = getStyle("borderThickness");
if (isNaN(_local1)){
_local1 = 0;
};
_borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1);
_local3 = getStyle("borderSides");
if (_local3 != "left top right bottom"){
if (_local3.indexOf("left") == -1){
_borderMetrics.left = 0;
};
if (_local3.indexOf("top") == -1){
_borderMetrics.top = 0;
};
if (_local3.indexOf("right") == -1){
_borderMetrics.right = 0;
};
if (_local3.indexOf("bottom") == -1){
_borderMetrics.bottom = 0;
};
};
} else {
_local1 = BORDER_WIDTHS[_local2];
if (isNaN(_local1)){
_local1 = 0;
};
_borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1);
};
};
};
return (_borderMetrics);
}
}
}//package mx.skins.halo
Section 155
//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.5.0.12683";
public function get inheritingStyles():Object{
return (styleName.inheritingStyles);
}
public function set inheritingStyles(_arg1:Object):void{
}
public function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void{
}
public function registerEffects(_arg1:Array):void{
}
public function regenerateStyleCache(_arg1:Boolean):void{
}
public function get styleDeclaration():CSSStyleDeclaration{
return (CSSStyleDeclaration(styleName));
}
public function getClassStyleDeclarations():Array{
return ([]);
}
public function get className():String{
return ("HaloFocusRect");
}
public function clearStyle(_arg1:String):void{
if (_arg1 == "focusColor"){
_focusColor = NaN;
};
}
public function setStyle(_arg1:String, _arg2):void{
if (_arg1 == "focusColor"){
_focusColor = _arg2;
};
}
public function set nonInheritingStyles(_arg1:Object):void{
}
public function get nonInheritingStyles():Object{
return (styleName.nonInheritingStyles);
}
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
super.updateDisplayList(_arg1, _arg2);
var _local3:String = getStyle("focusBlendMode");
var _local4:Number = getStyle("focusAlpha");
var _local5:Number = getStyle("focusColor");
var _local6:Number = getStyle("cornerRadius");
var _local7:Number = getStyle("focusThickness");
var _local8:String = getStyle("focusRoundedCorners");
var _local9:Number = getStyle("themeColor");
var _local10:Number = _local5;
if (isNaN(_local10)){
_local10 = _local9;
};
var _local11:Graphics = graphics;
_local11.clear();
if (_local3){
blendMode = _local3;
};
if (((!((_local8 == "tl tr bl br"))) && ((_local6 > 0)))){
_local12 = 0;
_local13 = 0;
_local14 = 0;
_local15 = 0;
_local16 = (_local6 + _local7);
if (_local8.indexOf("tl") >= 0){
_local12 = _local16;
};
if (_local8.indexOf("tr") >= 0){
_local14 = _local16;
};
if (_local8.indexOf("bl") >= 0){
_local13 = _local16;
};
if (_local8.indexOf("br") >= 0){
_local15 = _local16;
};
_local11.beginFill(_local10, _local4);
GraphicsUtil.drawRoundRectComplex(_local11, 0, 0, _arg1, _arg2, _local12, _local14, _local13, _local15);
_local12 = (_local12) ? _local6 : 0;
_local14 = (_local14) ? _local6 : 0;
_local13 = (_local13) ? _local6 : 0;
_local15 = (_local15) ? _local6 : 0;
GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15);
_local11.endFill();
_local16 = (_local6 + (_local7 / 2));
_local12 = (_local12) ? _local16 : 0;
_local14 = (_local14) ? _local16 : 0;
_local13 = (_local13) ? _local16 : 0;
_local15 = (_local15) ? _local16 : 0;
_local11.beginFill(_local10, _local4);
GraphicsUtil.drawRoundRectComplex(_local11, (_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local12, _local14, _local13, _local15);
_local12 = (_local12) ? _local6 : 0;
_local14 = (_local14) ? _local6 : 0;
_local13 = (_local13) ? _local6 : 0;
_local15 = (_local15) ? _local6 : 0;
GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15);
_local11.endFill();
} else {
_local11.beginFill(_local10, _local4);
_local17 = (((_local6 > 0)) ? (_local6 + _local7) : 0 * 2);
_local11.drawRoundRect(0, 0, _arg1, _arg2, _local17, _local17);
_local17 = (_local6 * 2);
_local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17);
_local11.endFill();
_local11.beginFill(_local10, _local4);
_local17 = (((_local6 > 0)) ? (_local6 + (_local7 / 2)) : 0 * 2);
_local11.drawRoundRect((_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local17, _local17);
_local17 = (_local6 * 2);
_local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17);
_local11.endFill();
};
}
override public function getStyle(_arg1:String){
return (((_arg1 == "focusColor")) ? _focusColor : super.getStyle(_arg1));
}
public function set styleDeclaration(_arg1:CSSStyleDeclaration):void{
}
}
}//package mx.skins.halo
Section 156
//PanelSkin (mx.skins.halo.PanelSkin)
package mx.skins.halo {
import mx.core.*;
import flash.display.*;
import flash.utils.*;
public class PanelSkin extends HaloBorder {
private var oldControlBarHeight:Number;
protected var _panelBorderMetrics:EdgeMetrics;
private var oldHeaderHeight:Number;
mx_internal static const VERSION:String = "3.5.0.12683";
private static var panels:Object = {};
override public function styleChanged(_arg1:String):void{
super.styleChanged(_arg1);
if ((((((((((((((((((_arg1 == null)) || ((_arg1 == "styleName")))) || ((_arg1 == "borderStyle")))) || ((_arg1 == "borderThickness")))) || ((_arg1 == "borderThicknessTop")))) || ((_arg1 == "borderThicknessBottom")))) || ((_arg1 == "borderThicknessLeft")))) || ((_arg1 == "borderThicknessRight")))) || ((_arg1 == "borderSides")))){
_panelBorderMetrics = null;
};
invalidateDisplayList();
}
override mx_internal function drawBorder(_arg1:Number, _arg2:Number):void{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Graphics;
var _local8:IContainer;
var _local9:EdgeMetrics;
super.drawBorder(_arg1, _arg2);
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
return;
};
var _local3:String = getStyle("borderStyle");
if (_local3 == "default"){
_local4 = getStyle("backgroundAlpha");
_local5 = getStyle("borderAlpha");
backgroundAlphaName = "borderAlpha";
radiusObj = null;
radius = getStyle("cornerRadius");
bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true");
_local6 = (bRoundedCorners) ? radius : 0;
_local7 = graphics;
drawDropShadow(0, 0, _arg1, _arg2, radius, radius, _local6, _local6);
if (!bRoundedCorners){
radiusObj = {};
};
_local8 = (parent as IContainer);
if (_local8){
_local9 = _local8.viewMetrics;
backgroundHole = {x:_local9.left, y:_local9.top, w:Math.max(0, ((_arg1 - _local9.left) - _local9.right)), h:Math.max(0, ((_arg2 - _local9.top) - _local9.bottom)), r:0};
if ((((backgroundHole.w > 0)) && ((backgroundHole.h > 0)))){
if (_local4 != _local5){
drawDropShadow(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h, 0, 0, 0, 0);
};
_local7.beginFill(Number(backgroundColor), _local4);
_local7.drawRect(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h);
_local7.endFill();
};
};
backgroundColor = getStyle("borderColor");
};
}
override public function get borderMetrics():EdgeMetrics{
var _local4:Number;
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
return (super.borderMetrics);
};
var _local1:Boolean = isPanel(parent);
var _local2:IUIComponent = (_local1) ? Object(parent)._controlBar : null;
var _local3:Number = (_local1) ? Object(parent).getHeaderHeightProxy() : NaN;
if (((_local2) && (_local2.includeInLayout))){
_local4 = _local2.getExplicitOrMeasuredHeight();
};
if (((!((_local4 == oldControlBarHeight))) && (!(((isNaN(oldControlBarHeight)) && (isNaN(_local4))))))){
_panelBorderMetrics = null;
};
if (((!((_local3 == oldHeaderHeight))) && (!(((isNaN(_local3)) && (isNaN(oldHeaderHeight))))))){
_panelBorderMetrics = null;
};
if (_panelBorderMetrics){
return (_panelBorderMetrics);
};
var _local5:EdgeMetrics = super.borderMetrics;
var _local6:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0);
var _local7:Number = getStyle("borderThickness");
var _local8:Number = getStyle("borderThicknessLeft");
var _local9:Number = getStyle("borderThicknessTop");
var _local10:Number = getStyle("borderThicknessRight");
var _local11:Number = getStyle("borderThicknessBottom");
_local6.left = (_local5.left + (isNaN(_local8)) ? _local7 : _local8);
_local6.top = (_local5.top + (isNaN(_local9)) ? _local7 : _local9);
_local6.right = (_local5.bottom + (isNaN(_local10)) ? _local7 : _local10);
_local6.bottom = (_local5.bottom + (isNaN(_local11)) ? (((_local2) && (!(isNaN(_local9))))) ? _local9 : (isNaN(_local8)) ? _local7 : _local8 : _local11);
oldHeaderHeight = _local3;
if (!isNaN(_local3)){
_local6.top = (_local6.top + _local3);
};
oldControlBarHeight = _local4;
if (!isNaN(_local4)){
_local6.bottom = (_local6.bottom + _local4);
};
_panelBorderMetrics = _local6;
return (_panelBorderMetrics);
}
override mx_internal function drawBackground(_arg1:Number, _arg2:Number):void{
var _local3:Array;
var _local4:Number;
super.drawBackground(_arg1, _arg2);
if ((((getStyle("headerColors") == null)) && ((getStyle("borderStyle") == "default")))){
_local3 = getStyle("highlightAlphas");
_local4 = (_local3) ? _local3[0] : 0.3;
drawRoundRect(0, 0, _arg1, _arg2, {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, _local4, null, GradientType.LINEAR, null, {x:0, y:1, w:_arg1, h:(_arg2 - 1), r:{tl:radius, tr:radius, bl:0, br:0}});
};
}
override mx_internal function getBackgroundColorMetrics():EdgeMetrics{
if (getStyle("borderStyle") == "default"){
return (EdgeMetrics.EMPTY);
};
return (super.borderMetrics);
}
private static function isPanel(_arg1:Object):Boolean{
var s:String;
var x:XML;
var parent = _arg1;
s = getQualifiedClassName(parent);
if (panels[s] == 1){
return (true);
};
if (panels[s] == 0){
return (false);
};
if (s == "mx.containers::Panel"){
(panels[s] == 1);
return (true);
};
x = describeType(parent);
var xmllist:XMLList = x.extendsClass.(@type == "mx.containers::Panel");
if (xmllist.length() == 0){
panels[s] = 0;
return (false);
};
panels[s] = 1;
return (true);
}
}
}//package mx.skins.halo
Section 157
//TitleBackground (mx.skins.halo.TitleBackground)
package mx.skins.halo {
import flash.display.*;
import mx.styles.*;
import mx.skins.*;
import mx.utils.*;
public class TitleBackground extends ProgrammaticSkin {
mx_internal static const VERSION:String = "3.5.0.12683";
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
super.updateDisplayList(_arg1, _arg2);
var _local3:Number = getStyle("borderAlpha");
var _local4:Number = getStyle("cornerRadius");
var _local5:Array = getStyle("highlightAlphas");
var _local6:Array = getStyle("headerColors");
var _local7 = !((_local6 == null));
StyleManager.getColorNames(_local6);
var _local8:Number = ColorUtil.adjustBrightness2((_local6) ? _local6[1] : 0xFFFFFF, -20);
var _local9:Graphics = graphics;
_local9.clear();
if (_arg2 < 3){
return;
};
if (_local7){
_local9.lineStyle(0, _local8, _local3);
_local9.moveTo(0, _arg2);
_local9.lineTo(_arg1, _arg2);
_local9.lineStyle(0, 0, 0);
drawRoundRect(0, 0, _arg1, _arg2, {tl:_local4, tr:_local4, bl:0, br:0}, _local6, _local3, verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(0, 0, _arg1, (_arg2 / 2), {tl:_local4, tr:_local4, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local5, verticalGradientMatrix(0, 0, _arg1, (_arg2 / 2)));
drawRoundRect(0, 0, _arg1, _arg2, {tl:_local4, tr:_local4, bl:0, br:0}, 0xFFFFFF, _local5[0], null, GradientType.LINEAR, null, {x:0, y:1, w:_arg1, h:(_arg2 - 1), r:{tl:_local4, tr:_local4, bl:0, br:0}});
};
}
}
}//package mx.skins.halo
Section 158
//Border (mx.skins.Border)
package mx.skins {
import mx.core.*;
public class Border extends ProgrammaticSkin implements IBorder {
mx_internal static const VERSION:String = "3.5.0.12683";
public function get borderMetrics():EdgeMetrics{
return (EdgeMetrics.EMPTY);
}
}
}//package mx.skins
Section 159
//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.5.0.12683";
private static var tempMatrix:Matrix = new Matrix();
public function ProgrammaticSkin(){
_width = measuredWidth;
_height = measuredHeight;
}
public function getStyle(_arg1:String){
return ((_styleName) ? _styleName.getStyle(_arg1) : null);
}
protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
}
public function get nestLevel():int{
return (_nestLevel);
}
public function set nestLevel(_arg1:int):void{
_nestLevel = _arg1;
invalidateDisplayList();
}
override public function get height():Number{
return (_height);
}
public function get updateCompletePendingFlag():Boolean{
return (_updateCompletePendingFlag);
}
protected function verticalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{
return (rotatedGradientMatrix(_arg1, _arg2, _arg3, _arg4, 90));
}
public function validateSize(_arg1:Boolean=false):void{
}
public function invalidateDisplayList():void{
if (((!(invalidateDisplayListFlag)) && ((nestLevel > 0)))){
invalidateDisplayListFlag = true;
UIComponentGlobals.layoutManager.invalidateDisplayList(this);
};
}
public function set updateCompletePendingFlag(_arg1:Boolean):void{
_updateCompletePendingFlag = _arg1;
}
protected function horizontalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{
return (rotatedGradientMatrix(_arg1, _arg2, _arg3, _arg4, 0));
}
override public function set height(_arg1:Number):void{
_height = _arg1;
invalidateDisplayList();
}
public function set processedDescriptors(_arg1:Boolean):void{
_processedDescriptors = _arg1;
}
public function validateDisplayList():void{
invalidateDisplayListFlag = false;
updateDisplayList(width, height);
}
public function get measuredWidth():Number{
return (0);
}
override public function set width(_arg1:Number):void{
_width = _arg1;
invalidateDisplayList();
}
public function get measuredHeight():Number{
return (0);
}
public function set initialized(_arg1:Boolean):void{
_initialized = _arg1;
}
protected function drawRoundRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null, _arg6:Object=null, _arg7:Object=null, _arg8:Matrix=null, _arg9:String="linear", _arg10:Array=null, _arg11:Object=null):void{
var _local13:Number;
var _local14:Array;
var _local15:Object;
var _local12:Graphics = graphics;
if ((((_arg3 == 0)) || ((_arg4 == 0)))){
return;
};
if (_arg6 !== null){
if ((_arg6 is uint)){
_local12.beginFill(uint(_arg6), Number(_arg7));
} else {
if ((_arg6 is Array)){
_local14 = ((_arg7 is Array)) ? (_arg7 as Array) : [_arg7, _arg7];
if (!_arg10){
_arg10 = [0, 0xFF];
};
_local12.beginGradientFill(_arg9, (_arg6 as Array), _local14, _arg10, _arg8);
};
};
};
if (!_arg5){
_local12.drawRect(_arg1, _arg2, _arg3, _arg4);
} else {
if ((_arg5 is Number)){
_local13 = (Number(_arg5) * 2);
_local12.drawRoundRect(_arg1, _arg2, _arg3, _arg4, _local13, _local13);
} else {
GraphicsUtil.drawRoundRectComplex(_local12, _arg1, _arg2, _arg3, _arg4, _arg5.tl, _arg5.tr, _arg5.bl, _arg5.br);
};
};
if (_arg11){
_local15 = _arg11.r;
if ((_local15 is Number)){
_local13 = (Number(_local15) * 2);
_local12.drawRoundRect(_arg11.x, _arg11.y, _arg11.w, _arg11.h, _local13, _local13);
} else {
GraphicsUtil.drawRoundRectComplex(_local12, _arg11.x, _arg11.y, _arg11.w, _arg11.h, _local15.tl, _local15.tr, _local15.bl, _local15.br);
};
};
if (_arg6 !== null){
_local12.endFill();
};
}
public function get processedDescriptors():Boolean{
return (_processedDescriptors);
}
public function set styleName(_arg1:Object):void{
if (_styleName != _arg1){
_styleName = (_arg1 as IStyleClient);
invalidateDisplayList();
};
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
var _local3:Boolean;
if (_width != _arg1){
_width = _arg1;
_local3 = true;
};
if (_height != _arg2){
_height = _arg2;
_local3 = true;
};
if (_local3){
invalidateDisplayList();
};
}
public function styleChanged(_arg1:String):void{
invalidateDisplayList();
}
override public function get width():Number{
return (_width);
}
public function invalidateProperties():void{
}
public function get initialized():Boolean{
return (_initialized);
}
protected function rotatedGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Matrix{
tempMatrix.createGradientBox(_arg3, _arg4, ((_arg5 * Math.PI) / 180), _arg1, _arg2);
return (tempMatrix);
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
public function get styleName():Object{
return (_styleName);
}
public function validateNow():void{
if (invalidateDisplayListFlag){
validateDisplayList();
};
}
public function invalidateSize():void{
}
public function validateProperties():void{
}
}
}//package mx.skins
Section 160
//RectangularBorder (mx.skins.RectangularBorder)
package mx.skins {
import flash.events.*;
import mx.core.*;
import flash.display.*;
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.5.0.12683";
public function RectangularBorder(){
resourceManager = ResourceManager.getInstance();
super();
addEventListener(Event.REMOVED, removedHandler);
}
public function layoutBackgroundImage():void{
var _local4:Number;
var _local5:Number;
var _local7:Number;
var _local8:Number;
var _local14:Number;
var _local15:Graphics;
var _local1:DisplayObject = parent;
var _local2:EdgeMetrics = ((_local1 is IContainer)) ? IContainer(_local1).viewMetrics : borderMetrics;
var _local3 = !((getStyle("backgroundAttachment") == "fixed"));
if (_backgroundImageBounds){
_local4 = _backgroundImageBounds.width;
_local5 = _backgroundImageBounds.height;
} else {
_local4 = ((width - _local2.left) - _local2.right);
_local5 = ((height - _local2.top) - _local2.bottom);
};
var _local6:Number = getBackgroundSize();
if (isNaN(_local6)){
_local7 = 1;
_local8 = 1;
} else {
_local14 = (_local6 * 0.01);
_local7 = ((_local14 * _local4) / backgroundImageWidth);
_local8 = ((_local14 * _local5) / backgroundImageHeight);
};
backgroundImage.scaleX = _local7;
backgroundImage.scaleY = _local8;
var _local9:Number = Math.round((0.5 * (_local4 - (backgroundImageWidth * _local7))));
var _local10:Number = Math.round((0.5 * (_local5 - (backgroundImageHeight * _local8))));
backgroundImage.x = _local2.left;
backgroundImage.y = _local2.top;
var _local11:Shape = Shape(backgroundImage.mask);
_local11.x = _local2.left;
_local11.y = _local2.top;
if (((_local3) && ((_local1 is IContainer)))){
_local9 = (_local9 - IContainer(_local1).horizontalScrollPosition);
_local10 = (_local10 - IContainer(_local1).verticalScrollPosition);
};
backgroundImage.alpha = getStyle("backgroundAlpha");
backgroundImage.x = (backgroundImage.x + _local9);
backgroundImage.y = (backgroundImage.y + _local10);
var _local12:Number = ((width - _local2.left) - _local2.right);
var _local13:Number = ((height - _local2.top) - _local2.bottom);
if (((!((_local11.width == _local12))) || (!((_local11.height == _local13))))){
_local15 = _local11.graphics;
_local15.clear();
_local15.beginFill(0xFFFFFF);
_local15.drawRect(0, 0, _local12, _local13);
_local15.endFill();
};
}
public function set backgroundImageBounds(_arg1:Rectangle):void{
if (((((_backgroundImageBounds) && (_arg1))) && (_backgroundImageBounds.equals(_arg1)))){
return;
};
_backgroundImageBounds = _arg1;
invalidateDisplayList();
}
private function getBackgroundSize():Number{
var _local3:int;
var _local1:Number = NaN;
var _local2:Object = getStyle("backgroundSize");
if (((_local2) && ((_local2 is String)))){
_local3 = _local2.indexOf("%");
if (_local3 != -1){
_local1 = Number(_local2.substr(0, _local3));
};
};
return (_local1);
}
private function removedHandler(_arg1:Event):void{
var _local2:IChildList;
if (backgroundImage){
_local2 = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent);
_local2.removeChild(backgroundImage.mask);
_local2.removeChild(backgroundImage);
backgroundImage = null;
};
}
private function initBackgroundImage(_arg1:DisplayObject):void{
backgroundImage = _arg1;
if ((_arg1 is Loader)){
backgroundImageWidth = Loader(_arg1).contentLoaderInfo.width;
backgroundImageHeight = Loader(_arg1).contentLoaderInfo.height;
} else {
backgroundImageWidth = backgroundImage.width;
backgroundImageHeight = backgroundImage.height;
if ((_arg1 is ISimpleStyleClient)){
ISimpleStyleClient(_arg1).styleName = styleName;
};
};
var _local2:IChildList = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent);
var _local3:Shape = new FlexShape();
_local3.name = "backgroundMask";
_local3.x = 0;
_local3.y = 0;
_local2.addChild(_local3);
var _local4:int = _local2.getChildIndex(this);
_local2.addChildAt(backgroundImage, (_local4 + 1));
backgroundImage.mask = _local3;
}
public function get backgroundImageBounds():Rectangle{
return (_backgroundImageBounds);
}
public function get hasBackgroundImage():Boolean{
return (!((backgroundImage == null)));
}
private function completeEventHandler(_arg1:Event):void{
if (!parent){
return;
};
var _local2:DisplayObject = DisplayObject(LoaderInfo(_arg1.target).loader);
initBackgroundImage(_local2);
layoutBackgroundImage();
dispatchEvent(_arg1.clone());
}
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
var cls:Class;
var newStyleObj:DisplayObject;
var loader:Loader;
var loaderContext:LoaderContext;
var message:String;
var unscaledWidth = _arg1;
var unscaledHeight = _arg2;
if (!parent){
return;
};
var newStyle:Object = getStyle("backgroundImage");
if (newStyle != backgroundImageStyle){
removedHandler(null);
backgroundImageStyle = newStyle;
if (((newStyle) && ((newStyle as Class)))){
cls = Class(newStyle);
initBackgroundImage(new (cls));
} else {
if (((newStyle) && ((newStyle is String)))){
try {
cls = Class(getDefinitionByName(String(newStyle)));
} catch(e:Error) {
};
if (cls){
newStyleObj = new (cls);
initBackgroundImage(newStyleObj);
} else {
loader = new FlexLoader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeEventHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorEventHandler);
loader.contentLoaderInfo.addEventListener(ErrorEvent.ERROR, errorEventHandler);
loaderContext = new LoaderContext();
loaderContext.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
loader.load(new URLRequest(String(newStyle)), loaderContext);
};
} else {
if (newStyle){
message = resourceManager.getString("skins", "notLoaded", [newStyle]);
throw (new Error(message));
};
};
};
};
if (backgroundImage){
layoutBackgroundImage();
};
}
private function errorEventHandler(_arg1:Event):void{
}
}
}//package mx.skins
Section 161
//CSSStyleDeclaration (mx.styles.CSSStyleDeclaration)
package mx.styles {
import flash.events.*;
import mx.core.*;
import flash.display.*;
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.5.0.12683";
private static const NOT_A_COLOR:uint = 4294967295;
private static const FILTERMAP_PROP:String = "__reserved__filterMap";
public function CSSStyleDeclaration(_arg1:String=null){
clones = new Dictionary(true);
super();
if (_arg1){
styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2);
styleManager.setStyleDeclaration(_arg1, this, false);
};
}
mx_internal function addStyleToProtoChain(_arg1:Object, _arg2:DisplayObject, _arg3:Object=null):Object{
var p:String;
var emptyObjectFactory:Function;
var filteredChain:Object;
var filterObjectFactory:Function;
var i:String;
var chain = _arg1;
var target = _arg2;
var filterMap = _arg3;
var nodeAddedToChain:Boolean;
var originalChain:Object = chain;
if (filterMap){
chain = {};
};
if (defaultFactory != null){
defaultFactory.prototype = chain;
chain = new defaultFactory();
nodeAddedToChain = true;
};
if (factory != null){
factory.prototype = chain;
chain = new factory();
nodeAddedToChain = true;
};
if (overrides){
if ((((defaultFactory == null)) && ((factory == null)))){
emptyObjectFactory = function ():void{
};
emptyObjectFactory.prototype = chain;
chain = new (emptyObjectFactory);
nodeAddedToChain = true;
};
for (p in overrides) {
if (overrides[p] === undefined){
delete chain[p];
} else {
chain[p] = overrides[p];
};
};
};
if (filterMap){
if (nodeAddedToChain){
filteredChain = {};
filterObjectFactory = function ():void{
};
filterObjectFactory.prototype = originalChain;
filteredChain = new (filterObjectFactory);
for (i in chain) {
if (filterMap[i] != null){
filteredChain[filterMap[i]] = chain[i];
};
};
chain = filteredChain;
chain[FILTERMAP_PROP] = filterMap;
} else {
chain = originalChain;
};
};
if (nodeAddedToChain){
clones[chain] = 1;
};
return (chain);
}
public function getStyle(_arg1:String){
var _local2:*;
var _local3:*;
if (overrides){
if ((((_arg1 in overrides)) && ((overrides[_arg1] === undefined)))){
return (undefined);
};
_local3 = overrides[_arg1];
if (_local3 !== undefined){
return (_local3);
};
};
if (factory != null){
factory.prototype = {};
_local2 = new factory();
_local3 = _local2[_arg1];
if (_local3 !== undefined){
return (_local3);
};
};
if (defaultFactory != null){
defaultFactory.prototype = {};
_local2 = new defaultFactory();
_local3 = _local2[_arg1];
if (_local3 !== undefined){
return (_local3);
};
};
return (undefined);
}
public function clearStyle(_arg1:String):void{
setStyle(_arg1, undefined);
}
public function setStyle(_arg1:String, _arg2):void{
var _local7:int;
var _local8:Object;
var _local3:Object = getStyle(_arg1);
var _local4:Boolean;
if ((((((((((selectorRefCount > 0)) && ((factory == null)))) && ((defaultFactory == null)))) && (!(overrides)))) && (!((_local3 === _arg2))))){
_local4 = true;
};
if (_arg2 !== undefined){
setStyle(_arg1, _arg2);
} else {
if (_arg2 == _local3){
return;
};
setStyle(_arg1, _arg2);
};
var _local5:Array = SystemManagerGlobals.topLevelSystemManagers;
var _local6:int = _local5.length;
if (_local4){
_local7 = 0;
while (_local7 < _local6) {
_local8 = _local5[_local7];
_local8.regenerateStyleCache(true);
_local7++;
};
};
_local7 = 0;
while (_local7 < _local6) {
_local8 = _local5[_local7];
_local8.notifyStyleChangeInChildren(_arg1, true);
_local7++;
};
}
private function clearStyleAttr(_arg1:String):void{
var _local2:*;
if (!overrides){
overrides = {};
};
overrides[_arg1] = undefined;
for (_local2 in clones) {
delete _local2[_arg1];
};
}
mx_internal function createProtoChainRoot():Object{
var _local1:Object = {};
if (defaultFactory != null){
defaultFactory.prototype = _local1;
_local1 = new defaultFactory();
};
if (factory != null){
factory.prototype = _local1;
_local1 = new factory();
};
clones[_local1] = 1;
return (_local1);
}
mx_internal function clearOverride(_arg1:String):void{
if (((overrides) && (overrides[_arg1]))){
delete overrides[_arg1];
};
}
mx_internal function setStyle(_arg1:String, _arg2):void{
var _local3:Object;
var _local4:*;
var _local5:Number;
var _local6:Object;
if (_arg2 === undefined){
clearStyleAttr(_arg1);
return;
};
if ((_arg2 is String)){
if (!styleManager){
styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2);
};
_local5 = styleManager.getColorName(_arg2);
if (_local5 != NOT_A_COLOR){
_arg2 = _local5;
};
};
if (defaultFactory != null){
_local3 = new defaultFactory();
if (_local3[_arg1] !== _arg2){
if (!overrides){
overrides = {};
};
overrides[_arg1] = _arg2;
} else {
if (overrides){
delete overrides[_arg1];
};
};
};
if (factory != null){
_local3 = new factory();
if (_local3[_arg1] !== _arg2){
if (!overrides){
overrides = {};
};
overrides[_arg1] = _arg2;
} else {
if (overrides){
delete overrides[_arg1];
};
};
};
if ((((defaultFactory == null)) && ((factory == null)))){
if (!overrides){
overrides = {};
};
overrides[_arg1] = _arg2;
};
for (_local4 in clones) {
_local6 = _local4[FILTERMAP_PROP];
if (_local6){
if (_local6[_arg1] != null){
_local4[_local6[_arg1]] = _arg2;
};
} else {
_local4[_arg1] = _arg2;
};
};
}
}
}//package mx.styles
Section 162
//ISimpleStyleClient (mx.styles.ISimpleStyleClient)
package mx.styles {
public interface ISimpleStyleClient {
function set styleName(_arg1:Object):void;
function styleChanged(_arg1:String):void;
function get styleName():Object;
}
}//package mx.styles
Section 163
//IStyleClient (mx.styles.IStyleClient)
package mx.styles {
public interface IStyleClient extends ISimpleStyleClient {
function regenerateStyleCache(_arg1:Boolean):void;
function get className():String;
function clearStyle(_arg1:String):void;
function getClassStyleDeclarations():Array;
function get inheritingStyles():Object;
function set nonInheritingStyles(_arg1:Object):void;
function setStyle(_arg1:String, _arg2):void;
function get styleDeclaration():CSSStyleDeclaration;
function set styleDeclaration(_arg1:CSSStyleDeclaration):void;
function get nonInheritingStyles():Object;
function set inheritingStyles(_arg1:Object):void;
function getStyle(_arg1:String);
function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void;
function registerEffects(_arg1:Array):void;
}
}//package mx.styles
Section 164
//IStyleManager (mx.styles.IStyleManager)
package mx.styles {
import flash.events.*;
public interface IStyleManager {
function isColorName(_arg1:String):Boolean;
function registerParentDisplayListInvalidatingStyle(_arg1:String):void;
function registerInheritingStyle(_arg1:String):void;
function set stylesRoot(_arg1:Object):void;
function get typeSelectorCache():Object;
function styleDeclarationsChanged():void;
function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void;
function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean;
function isSizeInvalidatingStyle(_arg1:String):Boolean;
function get inheritingStyles():Object;
function isValidStyleValue(_arg1):Boolean;
function isParentSizeInvalidatingStyle(_arg1:String):Boolean;
function getColorName(_arg1:Object):uint;
function set typeSelectorCache(_arg1:Object):void;
function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void;
function getColorNames(_arg1:Array):void;
function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher;
function isInheritingStyle(_arg1:String):Boolean;
function set inheritingStyles(_arg1:Object):void;
function get stylesRoot():Object;
function initProtoChainRoots():void;
function registerColorName(_arg1:String, _arg2:uint):void;
function registerParentSizeInvalidatingStyle(_arg1:String):void;
function registerSizeInvalidatingStyle(_arg1:String):void;
function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void;
function isInheritingTextFormatStyle(_arg1:String):Boolean;
function getStyleDeclaration(_arg1:String):CSSStyleDeclaration;
}
}//package mx.styles
Section 165
//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 166
//IStyleModule (mx.styles.IStyleModule)
package mx.styles {
public interface IStyleModule {
function unload():void;
}
}//package mx.styles
Section 167
//StyleManager (mx.styles.StyleManager)
package mx.styles {
import flash.events.*;
import mx.core.*;
import flash.system.*;
public class StyleManager {
mx_internal static const VERSION:String = "3.5.0.12683";
public static const NOT_A_COLOR:uint = 4294967295;
private static var _impl:IStyleManager2;
private static var implClassDependency:StyleManagerImpl;
public static function isParentSizeInvalidatingStyle(_arg1:String):Boolean{
return (impl.isParentSizeInvalidatingStyle(_arg1));
}
public static function registerInheritingStyle(_arg1:String):void{
impl.registerInheritingStyle(_arg1);
}
mx_internal static function set stylesRoot(_arg1:Object):void{
impl.stylesRoot = _arg1;
}
mx_internal static function get inheritingStyles():Object{
return (impl.inheritingStyles);
}
mx_internal static function styleDeclarationsChanged():void{
impl.styleDeclarationsChanged();
}
public static function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void{
impl.setStyleDeclaration(_arg1, _arg2, _arg3);
}
public static function registerParentDisplayListInvalidatingStyle(_arg1:String):void{
impl.registerParentDisplayListInvalidatingStyle(_arg1);
}
mx_internal static function get typeSelectorCache():Object{
return (impl.typeSelectorCache);
}
mx_internal static function set inheritingStyles(_arg1:Object):void{
impl.inheritingStyles = _arg1;
}
public static function isColorName(_arg1:String):Boolean{
return (impl.isColorName(_arg1));
}
public static function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean{
return (impl.isParentDisplayListInvalidatingStyle(_arg1));
}
public static function isSizeInvalidatingStyle(_arg1:String):Boolean{
return (impl.isSizeInvalidatingStyle(_arg1));
}
public static function getColorName(_arg1:Object):uint{
return (impl.getColorName(_arg1));
}
mx_internal static function set typeSelectorCache(_arg1:Object):void{
impl.typeSelectorCache = _arg1;
}
public static function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void{
impl.unloadStyleDeclarations(_arg1, _arg2);
}
public static function getColorNames(_arg1:Array):void{
impl.getColorNames(_arg1);
}
public static function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false, _arg4:ApplicationDomain=null, _arg5:SecurityDomain=null):IEventDispatcher{
return (impl.loadStyleDeclarations2(_arg1, _arg2, _arg4, _arg5));
}
private static function get impl():IStyleManager2{
if (!_impl){
_impl = IStyleManager2(Singleton.getInstance("mx.styles::IStyleManager2"));
};
return (_impl);
}
public static function isValidStyleValue(_arg1):Boolean{
return (impl.isValidStyleValue(_arg1));
}
mx_internal static function get stylesRoot():Object{
return (impl.stylesRoot);
}
public static function isInheritingStyle(_arg1:String):Boolean{
return (impl.isInheritingStyle(_arg1));
}
mx_internal static function initProtoChainRoots():void{
impl.initProtoChainRoots();
}
public static function registerParentSizeInvalidatingStyle(_arg1:String):void{
impl.registerParentSizeInvalidatingStyle(_arg1);
}
public static function get selectors():Array{
return (impl.selectors);
}
public static function registerSizeInvalidatingStyle(_arg1:String):void{
impl.registerSizeInvalidatingStyle(_arg1);
}
public static function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void{
impl.clearStyleDeclaration(_arg1, _arg2);
}
public static function registerColorName(_arg1:String, _arg2:uint):void{
impl.registerColorName(_arg1, _arg2);
}
public static function isInheritingTextFormatStyle(_arg1:String):Boolean{
return (impl.isInheritingTextFormatStyle(_arg1));
}
public static function getStyleDeclaration(_arg1:String):CSSStyleDeclaration{
return (impl.getStyleDeclaration(_arg1));
}
}
}//package mx.styles
Section 168
//StyleManagerImpl (mx.styles.StyleManagerImpl)
package mx.styles {
import flash.events.*;
import mx.core.*;
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.5.0.12683";
private static var parentSizeInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true};
private static var colorNames:Object = {transparent:"transparent", black:0, blue:0xFF, green:0x8000, gray:0x808080, silver:0xC0C0C0, lime:0xFF00, olive:0x808000, white:0xFFFFFF, yellow:0xFFFF00, maroon:0x800000, navy:128, red:0xFF0000, purple:0x800080, teal:0x8080, fuchsia:0xFF00FF, aqua:0xFFFF, magenta:0xFF00FF, cyan:0xFFFF, halogreen:8453965, haloblue:40447, haloorange:0xFFB600, halosilver:11455193};
private static var inheritingTextFormatStyles:Object = {align:true, bold:true, color:true, font:true, indent:true, italic:true, size:true};
private static var instance:IStyleManager2;
private static var parentDisplayListInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true};
private static var sizeInvalidatingStyles:Object = {borderStyle:true, borderThickness:true, fontAntiAliasType:true, fontFamily:true, fontGridFitType:true, fontSharpness:true, fontSize:true, fontStyle:true, fontThickness:true, fontWeight:true, headerHeight:true, horizontalAlign:true, horizontalGap:true, kerning:true, leading:true, letterSpacing:true, paddingBottom:true, paddingLeft:true, paddingRight:true, paddingTop:true, strokeWidth:true, tabHeight:true, tabWidth:true, verticalAlign:true, verticalGap:true};
public function StyleManagerImpl(){
_selectors = {};
styleModules = {};
resourceManager = ResourceManager.getInstance();
_inheritingStyles = {};
_typeSelectorCache = {};
super();
}
public function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void{
_arg2.selectorRefCount++;
_selectors[_arg1] = _arg2;
typeSelectorCache = {};
if (_arg3){
styleDeclarationsChanged();
};
}
public function registerParentDisplayListInvalidatingStyle(_arg1:String):void{
parentDisplayListInvalidatingStyles[_arg1] = true;
}
public function getStyleDeclaration(_arg1:String):CSSStyleDeclaration{
var _local2:int;
if (_arg1.charAt(0) != "."){
_local2 = _arg1.lastIndexOf(".");
if (_local2 != -1){
_arg1 = _arg1.substr((_local2 + 1));
};
};
return (_selectors[_arg1]);
}
public function set typeSelectorCache(_arg1:Object):void{
_typeSelectorCache = _arg1;
}
public function isColorName(_arg1:String):Boolean{
return (!((colorNames[_arg1.toLowerCase()] === undefined)));
}
public function set inheritingStyles(_arg1:Object):void{
_inheritingStyles = _arg1;
}
public function getColorNames(_arg1:Array):void{
var _local4:uint;
if (!_arg1){
return;
};
var _local2:int = _arg1.length;
var _local3:int;
while (_local3 < _local2) {
if (((!((_arg1[_local3] == null))) && (isNaN(_arg1[_local3])))){
_local4 = getColorName(_arg1[_local3]);
if (_local4 != StyleManager.NOT_A_COLOR){
_arg1[_local3] = _local4;
};
};
_local3++;
};
}
public function isInheritingTextFormatStyle(_arg1:String):Boolean{
return ((inheritingTextFormatStyles[_arg1] == true));
}
public function registerParentSizeInvalidatingStyle(_arg1:String):void{
parentSizeInvalidatingStyles[_arg1] = true;
}
public function registerColorName(_arg1:String, _arg2:uint):void{
colorNames[_arg1.toLowerCase()] = _arg2;
}
public function isParentSizeInvalidatingStyle(_arg1:String):Boolean{
return ((parentSizeInvalidatingStyles[_arg1] == true));
}
public function registerInheritingStyle(_arg1:String):void{
inheritingStyles[_arg1] = true;
}
public function set stylesRoot(_arg1:Object):void{
_stylesRoot = _arg1;
}
public function get typeSelectorCache():Object{
return (_typeSelectorCache);
}
public function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean{
return ((parentDisplayListInvalidatingStyles[_arg1] == true));
}
public function isSizeInvalidatingStyle(_arg1:String):Boolean{
return ((sizeInvalidatingStyles[_arg1] == true));
}
public function styleDeclarationsChanged():void{
var _local4:Object;
var _local1:Array = SystemManagerGlobals.topLevelSystemManagers;
var _local2:int = _local1.length;
var _local3:int;
while (_local3 < _local2) {
_local4 = _local1[_local3];
_local4.regenerateStyleCache(true);
_local4.notifyStyleChangeInChildren(null, true);
_local3++;
};
}
public function isValidStyleValue(_arg1):Boolean{
return (!((_arg1 === undefined)));
}
public function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher{
return (loadStyleDeclarations2(_arg1, _arg2));
}
public function get inheritingStyles():Object{
return (_inheritingStyles);
}
public function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void{
var _local4:IModuleInfo;
var _local3:StyleModuleInfo = styleModules[_arg1];
if (_local3){
_local3.styleModule.unload();
_local4 = _local3.module;
_local4.unload();
_local4.removeEventListener(ModuleEvent.READY, _local3.readyHandler);
_local4.removeEventListener(ModuleEvent.ERROR, _local3.errorHandler);
styleModules[_arg1] = null;
};
if (_arg2){
styleDeclarationsChanged();
};
}
public function getColorName(_arg1:Object):uint{
var _local2:Number;
var _local3:*;
if ((_arg1 is String)){
if (_arg1.charAt(0) == "#"){
_local2 = Number(("0x" + _arg1.slice(1)));
return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2));
};
if ((((_arg1.charAt(1) == "x")) && ((_arg1.charAt(0) == "0")))){
_local2 = Number(_arg1);
return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2));
};
_local3 = colorNames[_arg1.toLowerCase()];
if (_local3 === undefined){
return (StyleManager.NOT_A_COLOR);
};
return (uint(_local3));
};
return (uint(_arg1));
}
public function isInheritingStyle(_arg1:String):Boolean{
return ((inheritingStyles[_arg1] == true));
}
public function get stylesRoot():Object{
return (_stylesRoot);
}
public function initProtoChainRoots():void{
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
delete _inheritingStyles["textDecoration"];
delete _inheritingStyles["leading"];
};
if (!stylesRoot){
stylesRoot = _selectors["global"].addStyleToProtoChain({}, null);
};
}
public function loadStyleDeclarations2(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher{
var module:IModuleInfo;
var styleEventDispatcher:StyleEventDispatcher;
var timer:Timer;
var timerHandler:Function;
var url = _arg1;
var update = _arg2;
var applicationDomain = _arg3;
var securityDomain = _arg4;
module = ModuleManager.getModule(url);
var readyHandler:Function = function (_arg1:ModuleEvent):void{
var _local2:IStyleModule = IStyleModule(_arg1.module.factory.create());
styleModules[_arg1.module.url].styleModule = _local2;
if (update){
styleDeclarationsChanged();
};
};
module.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true);
styleEventDispatcher = new StyleEventDispatcher(module);
var errorHandler:Function = function (_arg1:ModuleEvent):void{
var _local3:StyleEvent;
var _local2:String = resourceManager.getString("styles", "unableToLoad", [_arg1.errorText, url]);
if (styleEventDispatcher.willTrigger(StyleEvent.ERROR)){
_local3 = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local3.bytesLoaded = 0;
_local3.bytesTotal = 0;
_local3.errorText = _local2;
styleEventDispatcher.dispatchEvent(_local3);
} else {
throw (new Error(_local2));
};
};
module.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true);
styleModules[url] = new StyleModuleInfo(module, readyHandler, errorHandler);
timer = new Timer(0);
timerHandler = function (_arg1:TimerEvent):void{
timer.removeEventListener(TimerEvent.TIMER, timerHandler);
timer.stop();
module.load(applicationDomain, securityDomain);
};
timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true);
timer.start();
return (styleEventDispatcher);
}
public function registerSizeInvalidatingStyle(_arg1:String):void{
sizeInvalidatingStyles[_arg1] = true;
}
public function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void{
var _local3:CSSStyleDeclaration = getStyleDeclaration(_arg1);
if (((_local3) && ((_local3.selectorRefCount > 0)))){
_local3.selectorRefCount--;
};
delete _selectors[_arg1];
if (_arg2){
styleDeclarationsChanged();
};
}
public function get selectors():Array{
var _local2:String;
var _local1:Array = [];
for (_local2 in _selectors) {
_local1.push(_local2);
};
return (_local1);
}
public static function getInstance():IStyleManager2{
if (!instance){
instance = new (StyleManagerImpl);
};
return (instance);
}
}
}//package mx.styles
import flash.events.*;
import mx.modules.*;
import mx.events.*;
class StyleEventDispatcher extends EventDispatcher {
private function StyleEventDispatcher(_arg1:IModuleInfo){
_arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true);
}
private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{
var _local2:StyleEvent = new StyleEvent(StyleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
dispatchEvent(_local2);
}
private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{
var _local2:StyleEvent = new StyleEvent(StyleEvent.COMPLETE);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
dispatchEvent(_local2);
}
private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{
var _local2:StyleEvent = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
_local2.errorText = _arg1.errorText;
dispatchEvent(_local2);
}
}
class StyleModuleInfo {
public var errorHandler:Function;
public var readyHandler:Function;
public var module:IModuleInfo;
public var styleModule:IStyleModule;
private function StyleModuleInfo(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){
this.module = _arg1;
this.readyHandler = _arg2;
this.errorHandler = _arg3;
}
}
Section 169
//ColorUtil (mx.utils.ColorUtil)
package mx.utils {
public class ColorUtil {
mx_internal static const VERSION:String = "3.5.0.12683";
public static function adjustBrightness2(_arg1:uint, _arg2:Number):uint{
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (_arg2 == 0){
return (_arg1);
};
if (_arg2 < 0){
_arg2 = ((100 + _arg2) / 100);
_local3 = (((_arg1 >> 16) & 0xFF) * _arg2);
_local4 = (((_arg1 >> 8) & 0xFF) * _arg2);
_local5 = ((_arg1 & 0xFF) * _arg2);
} else {
_arg2 = (_arg2 / 100);
_local3 = ((_arg1 >> 16) & 0xFF);
_local4 = ((_arg1 >> 8) & 0xFF);
_local5 = (_arg1 & 0xFF);
_local3 = (_local3 + ((0xFF - _local3) * _arg2));
_local4 = (_local4 + ((0xFF - _local4) * _arg2));
_local5 = (_local5 + ((0xFF - _local5) * _arg2));
_local3 = Math.min(_local3, 0xFF);
_local4 = Math.min(_local4, 0xFF);
_local5 = Math.min(_local5, 0xFF);
};
return ((((_local3 << 16) | (_local4 << 8)) | _local5));
}
public static function rgbMultiply(_arg1:uint, _arg2:uint):uint{
var _local3:Number = ((_arg1 >> 16) & 0xFF);
var _local4:Number = ((_arg1 >> 8) & 0xFF);
var _local5:Number = (_arg1 & 0xFF);
var _local6:Number = ((_arg2 >> 16) & 0xFF);
var _local7:Number = ((_arg2 >> 8) & 0xFF);
var _local8:Number = (_arg2 & 0xFF);
return ((((((_local3 * _local6) / 0xFF) << 16) | (((_local4 * _local7) / 0xFF) << 8)) | ((_local5 * _local8) / 0xFF)));
}
public static function adjustBrightness(_arg1:uint, _arg2:Number):uint{
var _local3:Number = Math.max(Math.min((((_arg1 >> 16) & 0xFF) + _arg2), 0xFF), 0);
var _local4:Number = Math.max(Math.min((((_arg1 >> 8) & 0xFF) + _arg2), 0xFF), 0);
var _local5:Number = Math.max(Math.min(((_arg1 & 0xFF) + _arg2), 0xFF), 0);
return ((((_local3 << 16) | (_local4 << 8)) | _local5));
}
}
}//package mx.utils
Section 170
//GraphicsUtil (mx.utils.GraphicsUtil)
package mx.utils {
import flash.display.*;
public class GraphicsUtil {
mx_internal static const VERSION:String = "3.5.0.12683";
public static function drawRoundRectComplex(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number):void{
var _local10:Number = (_arg2 + _arg4);
var _local11:Number = (_arg3 + _arg5);
var _local12:Number = ((_arg4 < _arg5)) ? (_arg4 * 2) : (_arg5 * 2);
_arg6 = ((_arg6 < _local12)) ? _arg6 : _local12;
_arg7 = ((_arg7 < _local12)) ? _arg7 : _local12;
_arg8 = ((_arg8 < _local12)) ? _arg8 : _local12;
_arg9 = ((_arg9 < _local12)) ? _arg9 : _local12;
var _local13:Number = (_arg9 * 0.292893218813453);
var _local14:Number = (_arg9 * 0.585786437626905);
_arg1.moveTo(_local10, (_local11 - _arg9));
_arg1.curveTo(_local10, (_local11 - _local14), (_local10 - _local13), (_local11 - _local13));
_arg1.curveTo((_local10 - _local14), _local11, (_local10 - _arg9), _local11);
_local13 = (_arg8 * 0.292893218813453);
_local14 = (_arg8 * 0.585786437626905);
_arg1.lineTo((_arg2 + _arg8), _local11);
_arg1.curveTo((_arg2 + _local14), _local11, (_arg2 + _local13), (_local11 - _local13));
_arg1.curveTo(_arg2, (_local11 - _local14), _arg2, (_local11 - _arg8));
_local13 = (_arg6 * 0.292893218813453);
_local14 = (_arg6 * 0.585786437626905);
_arg1.lineTo(_arg2, (_arg3 + _arg6));
_arg1.curveTo(_arg2, (_arg3 + _local14), (_arg2 + _local13), (_arg3 + _local13));
_arg1.curveTo((_arg2 + _local14), _arg3, (_arg2 + _arg6), _arg3);
_local13 = (_arg7 * 0.292893218813453);
_local14 = (_arg7 * 0.585786437626905);
_arg1.lineTo((_local10 - _arg7), _arg3);
_arg1.curveTo((_local10 - _local14), _arg3, (_local10 - _local13), (_arg3 + _local13));
_arg1.curveTo(_local10, (_arg3 + _local14), _local10, (_arg3 + _arg7));
_arg1.lineTo(_local10, (_local11 - _arg9));
}
}
}//package mx.utils
Section 171
//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.5.0.12683";
private static var counter:int = 0;
public static function displayObjectToString(_arg1:DisplayObject):String{
var result:String;
var o:DisplayObject;
var s:String;
var indices:Array;
var displayObject = _arg1;
try {
o = displayObject;
while (o != null) {
if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){
break;
};
s = o.name;
if ((o is IRepeaterClient)){
indices = IRepeaterClient(o).instanceIndices;
if (indices){
s = (s + (("[" + indices.join("][")) + "]"));
};
};
result = ((result == null)) ? s : ((s + ".") + result);
o = o.parent;
};
} catch(e:SecurityError) {
};
return (result);
}
public static function createUniqueName(_arg1:Object):String{
if (!_arg1){
return (null);
};
var _local2:String = getQualifiedClassName(_arg1);
var _local3:int = _local2.indexOf("::");
if (_local3 != -1){
_local2 = _local2.substr((_local3 + 2));
};
var _local4:int = _local2.charCodeAt((_local2.length - 1));
if ((((_local4 >= 48)) && ((_local4 <= 57)))){
_local2 = (_local2 + "_");
};
return ((_local2 + counter++));
}
}
}//package mx.utils
Section 172
//StringUtil (mx.utils.StringUtil)
package mx.utils {
public class StringUtil {
mx_internal static const VERSION:String = "3.5.0.12683";
public static function trim(_arg1:String):String{
if (_arg1 == null){
return ("");
};
var _local2:int;
while (isWhitespace(_arg1.charAt(_local2))) {
_local2++;
};
var _local3:int = (_arg1.length - 1);
while (isWhitespace(_arg1.charAt(_local3))) {
_local3--;
};
if (_local3 >= _local2){
return (_arg1.slice(_local2, (_local3 + 1)));
};
return ("");
}
public static function isWhitespace(_arg1:String):Boolean{
switch (_arg1){
case " ":
case "\t":
case "\r":
case "\n":
case "\f":
return (true);
default:
return (false);
};
}
public static function substitute(_arg1:String, ... _args):String{
var _local4:Array;
if (_arg1 == null){
return ("");
};
var _local3:uint = _args.length;
if ((((_local3 == 1)) && ((_args[0] is Array)))){
_local4 = (_args[0] as Array);
_local3 = _local4.length;
} else {
_local4 = _args;
};
var _local5:int;
while (_local5 < _local3) {
_arg1 = _arg1.replace(new RegExp((("\\{" + _local5) + "\\}"), "g"), _local4[_local5]);
_local5++;
};
return (_arg1);
}
public static function trimArrayElements(_arg1:String, _arg2:String):String{
var _local3:Array;
var _local4:int;
var _local5:int;
if (((!((_arg1 == ""))) && (!((_arg1 == null))))){
_local3 = _arg1.split(_arg2);
_local4 = _local3.length;
_local5 = 0;
while (_local5 < _local4) {
_local3[_local5] = StringUtil.trim(_local3[_local5]);
_local5++;
};
if (_local4 > 0){
_arg1 = _local3.join(_arg2);
};
};
return (_arg1);
}
}
}//package mx.utils
Section 173
//ActiveGraph (net.rezmason.utils.ActiveGraph)
package net.rezmason.utils {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.system.*;
import flash.text.*;
public class ActiveGraph extends Sprite {
private const PAGE:Number = 0x1000;
private const MEGABYTES:Number = 0;
private const WIDTH:Number = 50;
private const HEIGHT:Number = 15;
private var output:String;
private var textFormat:TextFormat;
private var numerator:Number;
private var history:Array;
private var graphBackground:Sprite;
private var average:int;
private var itr:Number;
private var high:Number;
private var lastPlot1:int;
private var plotLength:int;
private var sign:String;
private var old:int;
private var verboseMode:Boolean;
private var fn:Function;
private var returnVal:Boolean;
private var backY:Number;
private var low:Number;
private var backX:Number;
private var textBox:TextField;
private var plot:int;
private var caught2:Boolean;// = false
private var denominator:Number;
private var timer:Timer;
private var plotLine:Shape;
private var lastPlot2:int;
public function ActiveGraph(_arg1:Number=0, _arg2:Boolean=false, _arg3:Boolean=true, _arg4:int=2):void{
_arg4 = Math.min(_arg4, 2);
lastPlot1 = (lastPlot2 = (plot = (plotLength = 0)));
history = new Array();
numerator = (denominator = (average = 0));
timer = new Timer(_arg1);
verboseMode = _arg2;
switch (_arg4){
case 0:
fn = test0;
break;
case 2:
fn = test2;
break;
default:
fn = test1;
break;
};
if (_arg3){
textBox = new TextField();
textFormat = new TextFormat();
graphBackground = new Sprite();
plotLine = new Shape();
textFormat.size = 9;
textFormat.font = "Monaco";
textFormat.color = 0xFFFFFF;
textBox.selectable = false;
textBox.autoSize = TextFieldAutoSize.LEFT;
textBox.x = (WIDTH + 5);
textBox.height = HEIGHT;
graphBackground.graphics.beginFill(0);
graphBackground.graphics.drawRect(0, 0, (WIDTH + 85), HEIGHT);
graphBackground.graphics.endFill();
graphBackground.graphics.lineStyle(0.5, 0xFFFFFF);
graphBackground.graphics.drawRect(0, 0, WIDTH, (HEIGHT - 1));
this.addChild(graphBackground);
this.addChild(plotLine);
this.addChild(textBox);
timer.addEventListener(TimerEvent.TIMER, drawMem, false, 0, true);
textBox.mouseEnabled = false;
backX = x;
backY = y;
graphBackground.addEventListener(MouseEvent.MOUSE_DOWN, handleDrag, false, 0, true);
graphBackground.addEventListener(MouseEvent.MOUSE_UP, handleDrag, false, 0, true);
this.addEventListener(Event.ADDED_TO_STAGE, loadDrag, false, 0, true);
} else {
trace("ActiveGraph Running.");
timer.addEventListener(TimerEvent.TIMER, trackMem, false, 0, true);
};
timer.start();
}
public function get data():Number{
return (plot);
}
private function trackMem(_arg1:TimerEvent=null):Boolean{
returnVal = false;
plot = (System.totalMemory / PAGE);
old = average;
numerator = (numerator + plot);
denominator++;
average = (numerator / denominator);
if (((fn()) && (verboseMode))){
trace(plot);
};
return (returnVal);
}
private function loadDrag(_arg1:Event):void{
this.stage.addEventListener(Event.MOUSE_LEAVE, handleDrag, false, 0, true);
}
private function test1():Boolean{
returnVal = ((!(lastPlot1)) || ((lastPlot1 > plot)));
lastPlot1 = plot;
return (returnVal);
}
private function test2():Boolean{
if ((((lastPlot1 > plot)) || (!(lastPlot1)))){
if ((((lastPlot2 > plot)) || (!(lastPlot2)))){
caught2 = true;
};
lastPlot2 = plot;
} else {
if ((((lastPlot1 < plot)) && (caught2))){
plot = lastPlot2;
returnVal = true;
caught2 = false;
};
};
lastPlot1 = plot;
return (returnVal);
}
private function test0():Boolean{
if (lastPlot1 != plot){
returnVal = true;
lastPlot1 = plot;
};
return (returnVal);
}
private function drawMem(_arg1:TimerEvent=null):void{
if (trackMem()){
plotLine.graphics.clear();
if (plotLength == 21){
history.shift();
plotLength--;
};
if (plot > history[int((plotLength - 1))]){
sign = "+ , ";
} else {
if (plot < history[int((plotLength - 1))]){
sign = "- , ";
} else {
sign = " , ";
};
};
history.push(plot);
plotLength = history.length;
if (plotLength > 1){
plotLine.graphics.lineStyle(2.5, 0xFF0000);
high = 0;
low = Infinity;
itr = 0;
while (itr < plotLength) {
high = Math.max(history[itr], high);
low = Math.min(history[itr], low);
itr++;
};
plotLine.graphics.moveTo(0, (HEIGHT * (1 - ((history[0] - low) / (high - low)))));
itr = 1;
while (itr < plotLength) {
plotLine.graphics.lineTo(((WIDTH * itr) / (plotLength - 1)), (HEIGHT * (1 - ((history[itr] - low) / (high - low)))));
itr++;
};
};
output = (plot + sign);
textBox.text = (String(output) + String(average));
textBox.setTextFormat(textFormat);
};
}
private function handleDrag(_arg1:Event):void{
switch (_arg1.type){
case MouseEvent.MOUSE_DOWN:
backX = x;
backY = y;
startDrag();
break;
case MouseEvent.MOUSE_UP:
stopDrag();
break;
case Event.MOUSE_LEAVE:
stopDrag();
x = backX;
y = backY;
break;
};
}
}
}//package net.rezmason.utils
Section 174
//Action (org.flintparticles.common.actions.Action)
package org.flintparticles.common.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public interface Action {
function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void;
function addedToEmitter(_arg1:Emitter):void;
function removedFromEmitter(_arg1:Emitter):void;
function getDefaultPriority():Number;
}
}//package org.flintparticles.common.actions
Section 175
//ActionBase (org.flintparticles.common.actions.ActionBase)
package org.flintparticles.common.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class ActionBase implements Action {
public function addedToEmitter(_arg1:Emitter):void{
}
public function removedFromEmitter(_arg1:Emitter):void{
}
public function getDefaultPriority():Number{
return (0);
}
public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
}
}
}//package org.flintparticles.common.actions
Section 176
//Fade (org.flintparticles.common.actions.Fade)
package org.flintparticles.common.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class Fade extends ActionBase {
private var _endAlpha:Number;
private var _diffAlpha:Number;
public function Fade(_arg1:Number=1, _arg2:Number=0){
_diffAlpha = (_arg1 - _arg2);
_endAlpha = _arg2;
}
public function get endAlpha():Number{
return (_endAlpha);
}
public function set endAlpha(_arg1:Number):void{
_diffAlpha = ((_endAlpha + _diffAlpha) - _arg1);
_endAlpha = _arg1;
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
var _local4:Number = (_endAlpha + (_diffAlpha * _arg2.energy));
_arg2.color = ((_arg2.color & 0xFFFFFF) | (Math.round((_local4 * 0xFF)) << 24));
}
override public function getDefaultPriority():Number{
return (-5);
}
public function set startAlpha(_arg1:Number):void{
_diffAlpha = (_arg1 - _endAlpha);
}
public function get startAlpha():Number{
return ((_endAlpha + _diffAlpha));
}
}
}//package org.flintparticles.common.actions
Section 177
//Activity (org.flintparticles.common.activities.Activity)
package org.flintparticles.common.activities {
import org.flintparticles.common.emitters.*;
public interface Activity {
function initialize(_arg1:Emitter):void;
function removedFromEmitter(_arg1:Emitter):void;
function update(_arg1:Emitter, _arg2:Number):void;
function addedToEmitter(_arg1:Emitter):void;
function getDefaultPriority():Number;
}
}//package org.flintparticles.common.activities
Section 178
//Counter (org.flintparticles.common.counters.Counter)
package org.flintparticles.common.counters {
import org.flintparticles.common.emitters.*;
public interface Counter {
function stop():void;
function startEmitter(_arg1:Emitter):uint;
function updateEmitter(_arg1:Emitter, _arg2:Number):uint;
function resume():void;
}
}//package org.flintparticles.common.counters
Section 179
//Steady (org.flintparticles.common.counters.Steady)
package org.flintparticles.common.counters {
import org.flintparticles.common.emitters.*;
public class Steady implements Counter {
private var _stop:Boolean;
private var _rateInv:Number;
private var _timeToNext:Number;
private var _rate:Number;
public function Steady(_arg1:Number){
_stop = false;
_rate = _arg1;
_rateInv = (1 / _rate);
}
public function get rate():Number{
return (_rate);
}
public function updateEmitter(_arg1:Emitter, _arg2:Number):uint{
if (_stop){
return (0);
};
var _local3:uint;
_timeToNext = (_timeToNext - _arg2);
while (_timeToNext <= 0) {
_local3++;
_timeToNext = (_timeToNext + _rateInv);
};
return (_local3);
}
public function set rate(_arg1:Number):void{
_rate = _arg1;
_rateInv = (1 / _arg1);
}
public function stop():void{
_stop = true;
}
public function startEmitter(_arg1:Emitter):uint{
_timeToNext = _rateInv;
return (0);
}
public function resume():void{
_stop = false;
}
}
}//package org.flintparticles.common.counters
Section 180
//ZeroCounter (org.flintparticles.common.counters.ZeroCounter)
package org.flintparticles.common.counters {
import org.flintparticles.common.emitters.*;
public class ZeroCounter implements Counter {
public function stop():void{
}
public function updateEmitter(_arg1:Emitter, _arg2:Number):uint{
return (0);
}
public function startEmitter(_arg1:Emitter):uint{
return (0);
}
public function resume():void{
}
}
}//package org.flintparticles.common.counters
Section 181
//Rect (org.flintparticles.common.displayObjects.Rect)
package org.flintparticles.common.displayObjects {
import flash.display.*;
public class Rect extends Shape {
public function Rect(_arg1:Number, _arg2:Number, _arg3:uint=0xFFFFFF, _arg4:String="normal"){
graphics.beginFill(_arg3);
graphics.drawRect((-(_arg1) * 0.5), (-(_arg2) * 0.5), _arg1, _arg2);
graphics.endFill();
blendMode = _arg4;
}
}
}//package org.flintparticles.common.displayObjects
Section 182
//Emitter (org.flintparticles.common.emitters.Emitter)
package org.flintparticles.common.emitters {
import flash.events.*;
import org.flintparticles.common.events.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.initializers.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.common.activities.*;
import org.flintparticles.common.counters.*;
import org.flintparticles.common.utils.*;
public class Emitter extends EventDispatcher {
protected var _running:Boolean;// = false
protected var _activities:PriorityArray;
protected var _particles:Array;
protected var _initializers:PriorityArray;
protected var _counter:Counter;
protected var _started:Boolean;// = false
protected var _actions:PriorityArray;
protected var _useInternalTick:Boolean;// = true
protected var _particleFactory:ParticleFactory;
protected var _fixedFrameTime:Number;// = 0
protected var _maximumFrameTime:Number;// = 0.1
public function Emitter(){
_particles = new Array();
_actions = new PriorityArray();
_initializers = new PriorityArray();
_activities = new PriorityArray();
_counter = new ZeroCounter();
}
public function addInitializer(_arg1:Initializer, _arg2:Number=NaN):void{
if (isNaN(_arg2)){
_arg2 = _arg1.getDefaultPriority();
};
_initializers.add(_arg1, _arg2);
_arg1.addedToEmitter(this);
}
public function stop():void{
if (_useInternalTick){
FrameUpdater.instance.removeEventListener(UpdateEvent.UPDATE, updateEventListener);
};
_started = false;
killAllParticles();
}
public function killAllParticles():void{
var _local1:int = _particles.length;
var _local2:int;
while (_local2 < _local1) {
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_DEAD, _particles[_local2]));
_particleFactory.disposeParticle(_particles[_local2]);
_local2++;
};
_particles.length = 0;
}
public function set fixedFrameTime(_arg1:Number):void{
_fixedFrameTime = _arg1;
}
public function get maximumFrameTime():Number{
return (_maximumFrameTime);
}
public function get useInternalTick():Boolean{
return (_useInternalTick);
}
protected function createParticle():Particle{
var _local1:Particle = _particleFactory.createParticle();
var _local2:int = _initializers.length;
initParticle(_local1);
var _local3:int;
while (_local3 < _local2) {
_initializers[_local3].initialize(this, _local1);
_local3++;
};
_particles.push(_local1);
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_CREATED, _local1));
return (_local1);
}
public function get particleFactory():ParticleFactory{
return (_particleFactory);
}
private function updateEventListener(_arg1:UpdateEvent):void{
if (_fixedFrameTime){
update(_fixedFrameTime);
} else {
update(_arg1.time);
};
}
public function get particles():Array{
return (_particles);
}
protected function sortParticles():void{
}
public function removeActivity(_arg1:Activity):void{
if (_activities.remove(_arg1)){
_arg1.removedFromEmitter(this);
};
}
public function set maximumFrameTime(_arg1:Number):void{
_maximumFrameTime = _arg1;
}
protected function initParticle(_arg1:Particle):void{
}
public function addAction(_arg1:Action, _arg2:Number=NaN):void{
if (isNaN(_arg2)){
_arg2 = _arg1.getDefaultPriority();
};
_actions.add(_arg1, _arg2);
_arg1.addedToEmitter(this);
}
public function hasInitializerOfType(_arg1:Class):Boolean{
var _local2:uint = _initializers.length;
var _local3:uint;
while (_local3 < _local2) {
if ((_initializers[_local3] is _arg1)){
return (true);
};
_local3++;
};
return (false);
}
public function resume():void{
_running = true;
}
public function removeInitializer(_arg1:Initializer):void{
if (_initializers.remove(_arg1)){
_arg1.removedFromEmitter(this);
};
}
public function get running():Boolean{
return (_running);
}
public function hasActionOfType(_arg1:Class):Boolean{
var _local2:uint = _actions.length;
var _local3:uint;
while (_local3 < _local2) {
if ((_actions[_local3] is _arg1)){
return (true);
};
_local3++;
};
return (false);
}
public function get fixedFrameTime():Number{
return (_fixedFrameTime);
}
public function set particleFactory(_arg1:ParticleFactory):void{
_particleFactory = _arg1;
}
public function hasActivity(_arg1:Activity):Boolean{
return (_activities.contains(_arg1));
}
public function addActivity(_arg1:Activity, _arg2:Number=NaN):void{
if (isNaN(_arg2)){
_arg2 = _arg1.getDefaultPriority();
};
_activities.add(_arg1, _arg2);
_arg1.addedToEmitter(this);
}
public function update(_arg1:Number):void{
var _local2:int;
var _local3:Particle;
var _local5:Action;
var _local6:int;
var _local7:int;
if (!_running){
return;
};
if (_arg1 > _maximumFrameTime){
_arg1 = _maximumFrameTime;
};
var _local4:int = _counter.updateEmitter(this, _arg1);
_local2 = 0;
while (_local2 < _local4) {
createParticle();
_local2++;
};
sortParticles();
_local4 = _activities.length;
_local2 = 0;
while (_local2 < _local4) {
_activities[_local2].update(this, _arg1);
_local2++;
};
if (_particles.length > 0){
_local4 = _actions.length;
_local6 = _particles.length;
_local7 = 0;
while (_local7 < _local4) {
_local5 = _actions[_local7];
_local2 = 0;
while (_local2 < _local6) {
_local3 = _particles[_local2];
_local5.update(this, _local3, _arg1);
_local2++;
};
_local7++;
};
_local2 = _local6;
while (_local2--) {
_local3 = _particles[_local2];
if (_local3.isDead){
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_DEAD, _local3));
_particleFactory.disposeParticle(_local3);
_particles.splice(_local2, 1);
};
};
} else {
dispatchEvent(new EmitterEvent(EmitterEvent.EMITTER_EMPTY));
};
dispatchEvent(new EmitterEvent(EmitterEvent.EMITTER_UPDATED));
}
public function addExistingParticles(_arg1:Array, _arg2:Boolean=false):void{
var _local4:int;
var _local5:int;
var _local6:int;
var _local3:int = _arg1.length;
if (_arg2){
_local5 = _initializers.length;
_local6 = 0;
while (_local6 < _local5) {
_local4 = 0;
while (_local4 < _local3) {
_initializers[_local6].initialize(this, _arg1[_local4]);
_local4++;
};
_local6++;
};
};
_local4 = 0;
while (_local4 < _local3) {
_particles.push(_arg1[_local4]);
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_ADDED, _arg1[_local4]));
_local4++;
};
}
public function removeAction(_arg1:Action):void{
if (_actions.remove(_arg1)){
_arg1.removedFromEmitter(this);
};
}
public function hasActivityOfType(_arg1:Class):Boolean{
var _local2:uint = _activities.length;
var _local3:uint;
while (_local3 < _local2) {
if ((_activities[_local3] is _arg1)){
return (true);
};
_local3++;
};
return (false);
}
public function set useInternalTick(_arg1:Boolean):void{
if (_useInternalTick != _arg1){
_useInternalTick = _arg1;
if (_started){
if (_useInternalTick){
FrameUpdater.instance.addEventListener(UpdateEvent.UPDATE, updateEventListener, false, 0, true);
} else {
FrameUpdater.instance.removeEventListener(UpdateEvent.UPDATE, updateEventListener);
};
};
};
}
public function hasInitializer(_arg1:Initializer):Boolean{
return (_initializers.contains(_arg1));
}
public function start():void{
if (_useInternalTick){
FrameUpdater.instance.addEventListener(UpdateEvent.UPDATE, updateEventListener, false, 0, true);
};
_started = true;
_running = true;
var _local1:int = _activities.length;
var _local2:int;
while (_local2 < _local1) {
_activities[_local2].initialize(this);
_local2++;
};
_local1 = _counter.startEmitter(this);
_local2 = 0;
while (_local2 < _local1) {
createParticle();
_local2++;
};
}
public function hasAction(_arg1:Action):Boolean{
return (_actions.contains(_arg1));
}
public function pause():void{
_running = false;
}
public function set counter(_arg1:Counter):void{
_counter = _arg1;
if (running){
_counter.startEmitter(this);
};
}
public function get counter():Counter{
return (_counter);
}
public function runAhead(_arg1:Number, _arg2:Number=10):void{
var _local3:Number = _maximumFrameTime;
var _local4:Number = (1 / _arg2);
_maximumFrameTime = _local4;
while (_arg1 > 0) {
_arg1 = (_arg1 - _local4);
update(_local4);
};
_maximumFrameTime = _local3;
}
}
}//package org.flintparticles.common.emitters
Section 183
//EmitterEvent (org.flintparticles.common.events.EmitterEvent)
package org.flintparticles.common.events {
import flash.events.*;
public class EmitterEvent extends Event {
public static var EMITTER_UPDATED:String = "emitterUpdated";
public static var EMITTER_EMPTY:String = "emitterEmpty";
public function EmitterEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
}
}//package org.flintparticles.common.events
Section 184
//ParticleEvent (org.flintparticles.common.events.ParticleEvent)
package org.flintparticles.common.events {
import flash.events.*;
import org.flintparticles.common.particles.*;
public class ParticleEvent extends Event {
public var particle:Particle;
public var otherObject;
public static var PARTICLES_COLLISION:String = "particlesCollision";
public static var PARTICLE_ADDED:String = "particleAdded";
public static var PARTICLE_DEAD:String = "particleDead";
public static var PARTICLE_CREATED:String = "particleCreated";
public function ParticleEvent(_arg1:String, _arg2:Particle=null, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.particle = _arg2;
}
}
}//package org.flintparticles.common.events
Section 185
//UpdateEvent (org.flintparticles.common.events.UpdateEvent)
package org.flintparticles.common.events {
import flash.events.*;
public class UpdateEvent extends Event {
public var time:Number;
public static var UPDATE:String = "update";
public function UpdateEvent(_arg1:String, _arg2:Number=NaN, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.time = _arg2;
}
}
}//package org.flintparticles.common.events
Section 186
//ImageClass (org.flintparticles.common.initializers.ImageClass)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.utils.*;
public class ImageClass extends InitializerBase {
private var _parameters:Array;
private var _imageClass:Class;
public function ImageClass(_arg1:Class, ... _args){
_imageClass = _arg1;
_parameters = _args;
}
override public function initialize(_arg1:Emitter, _arg2:Particle):void{
_arg2.image = construct(_imageClass, _parameters);
}
public function get parameters():Array{
return (_parameters);
}
public function set parameters(_arg1:Array):void{
_parameters = _arg1;
}
public function set imageClass(_arg1:Class):void{
_imageClass = _arg1;
}
public function get imageClass():Class{
return (_imageClass);
}
}
}//package org.flintparticles.common.initializers
Section 187
//Initializer (org.flintparticles.common.initializers.Initializer)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public interface Initializer {
function initialize(_arg1:Emitter, _arg2:Particle):void;
function addedToEmitter(_arg1:Emitter):void;
function removedFromEmitter(_arg1:Emitter):void;
function getDefaultPriority():Number;
}
}//package org.flintparticles.common.initializers
Section 188
//InitializerBase (org.flintparticles.common.initializers.InitializerBase)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class InitializerBase implements Initializer {
public function initialize(_arg1:Emitter, _arg2:Particle):void{
}
public function addedToEmitter(_arg1:Emitter):void{
}
public function removedFromEmitter(_arg1:Emitter):void{
}
public function getDefaultPriority():Number{
return (0);
}
}
}//package org.flintparticles.common.initializers
Section 189
//ScaleImageInit (org.flintparticles.common.initializers.ScaleImageInit)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class ScaleImageInit extends InitializerBase {
private var _max:Number;
private var _min:Number;
public function ScaleImageInit(_arg1:Number, _arg2:Number=NaN){
_min = _arg1;
if (isNaN(_arg2)){
_max = _min;
} else {
_max = _arg2;
};
}
public function get scale():Number{
return (((_min == _max)) ? _min : ((_max + _min) / 2));
}
public function set maxScale(_arg1:Number):void{
_max = _arg1;
}
public function get maxScale():Number{
return (_max);
}
public function set minScale(_arg1:Number):void{
_min = _arg1;
}
public function set scale(_arg1:Number):void{
_max = (_min = _arg1);
}
override public function initialize(_arg1:Emitter, _arg2:Particle):void{
if (_max == _min){
_arg2.scale = _min;
} else {
_arg2.scale = (_min + (Math.random() * (_max - _min)));
};
}
public function get minScale():Number{
return (_min);
}
}
}//package org.flintparticles.common.initializers
Section 190
//Particle (org.flintparticles.common.particles.Particle)
package org.flintparticles.common.particles {
import flash.utils.*;
import flash.geom.*;
public class Particle {
public var energy:Number;// = 1
public var lifetime:Number;// = 0
public var scale:Number;// = 1
public var image;// = null
public var color:uint;// = 4294967295
public var collisionRadius:Number;// = 1
private var _colorTransform:ColorTransform;// = null
private var _previousColor:uint;
public var isDead:Boolean;// = false
public var mass:Number;// = 1
private var _dictionary:Dictionary;// = null
public var age:Number;// = 0
public function get dictionary():Dictionary{
if (_dictionary == null){
_dictionary = new Dictionary(true);
};
return (_dictionary);
}
public function get colorTransform():ColorTransform{
if (((!(_colorTransform)) || (!((_previousColor == color))))){
_colorTransform = new ColorTransform((((color >>> 16) & 0xFF) / 0xFF), (((color >>> 8) & 0xFF) / 0xFF), ((color & 0xFF) / 0xFF), (((color >>> 24) & 0xFF) / 0xFF), 0, 0, 0, 0);
_previousColor = color;
};
return (_colorTransform);
}
protected function cloneInto(_arg1:Particle):Particle{
var _local2:Object;
_arg1.color = color;
_arg1.scale = scale;
_arg1.mass = mass;
_arg1.collisionRadius = collisionRadius;
_arg1.lifetime = lifetime;
_arg1.age = age;
_arg1.energy = energy;
_arg1.isDead = isDead;
_arg1.image = image;
if (_dictionary){
_arg1._dictionary = new Dictionary(true);
for (_local2 in _dictionary) {
_arg1._dictionary[_local2] = _dictionary[_local2];
};
};
return (_arg1);
}
public function get alpha():Number{
return ((((color & 4278190080) >>> 24) / 0xFF));
}
public function initialize():void{
color = 4294967295;
scale = 1;
mass = 1;
collisionRadius = 1;
lifetime = 0;
age = 0;
energy = 1;
isDead = false;
image = null;
_dictionary = null;
_colorTransform = null;
}
public function clone(_arg1:ParticleFactory=null):Particle{
var _local2:Particle;
if (_arg1){
_local2 = _arg1.createParticle();
} else {
_local2 = new Particle();
};
return (cloneInto(_local2));
}
}
}//package org.flintparticles.common.particles
Section 191
//ParticleFactory (org.flintparticles.common.particles.ParticleFactory)
package org.flintparticles.common.particles {
public interface ParticleFactory {
function createParticle():Particle;
function disposeParticle(_arg1:Particle):void;
}
}//package org.flintparticles.common.particles
Section 192
//Renderer (org.flintparticles.common.renderers.Renderer)
package org.flintparticles.common.renderers {
import org.flintparticles.common.emitters.*;
public interface Renderer {
function removeEmitter(_arg1:Emitter):void;
function addEmitter(_arg1:Emitter):void;
}
}//package org.flintparticles.common.renderers
Section 193
//SpriteRendererBase (org.flintparticles.common.renderers.SpriteRendererBase)
package org.flintparticles.common.renderers {
import flash.events.*;
import flash.display.*;
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.events.*;
import org.flintparticles.common.particles.*;
public class SpriteRendererBase extends Sprite implements Renderer {
protected var _emitters:Array;
public function SpriteRendererBase(){
_emitters = new Array();
mouseEnabled = false;
mouseChildren = false;
addEventListener(Event.ADDED_TO_STAGE, addedToStage, false, 0, true);
}
private function particleAdded(_arg1:ParticleEvent):void{
addParticle(_arg1.particle);
if (stage){
stage.invalidate();
};
}
private function addedToStage(_arg1:Event):void{
if (stage){
stage.invalidate();
};
}
public function get emitters():Array{
return (_emitters);
}
protected function addParticle(_arg1:Particle):void{
}
private function updateParticles(_arg1:Event):void{
var _local2:Array = new Array();
var _local3:int;
while (_local3 < _emitters.length) {
_local2 = _local2.concat(_emitters[_local3].particles);
_local3++;
};
renderParticles(_local2);
}
private function emitterUpdated(_arg1:EmitterEvent):void{
if (stage){
stage.invalidate();
};
}
public function removeEmitter(_arg1:Emitter):void{
var _local3:Particle;
var _local2:int;
while (_local2 < _emitters.length) {
if (_emitters[_local2] == _arg1){
_emitters.splice(_local2, 1);
_arg1.removeEventListener(EmitterEvent.EMITTER_UPDATED, emitterUpdated);
_arg1.removeEventListener(ParticleEvent.PARTICLE_CREATED, particleAdded);
_arg1.removeEventListener(ParticleEvent.PARTICLE_ADDED, particleAdded);
_arg1.removeEventListener(ParticleEvent.PARTICLE_DEAD, particleRemoved);
for each (_local3 in _arg1.particles) {
removeParticle(_local3);
};
if (_emitters.length == 0){
removeEventListener(Event.RENDER, updateParticles);
renderParticles([]);
} else {
stage.invalidate();
};
return;
};
_local2++;
};
}
protected function renderParticles(_arg1:Array):void{
}
protected function removeParticle(_arg1:Particle):void{
}
private function particleRemoved(_arg1:ParticleEvent):void{
removeParticle(_arg1.particle);
if (stage){
stage.invalidate();
};
}
public function addEmitter(_arg1:Emitter):void{
var _local2:Particle;
_emitters.push(_arg1);
if (stage){
stage.invalidate();
};
_arg1.addEventListener(EmitterEvent.EMITTER_UPDATED, emitterUpdated, false, 0, true);
_arg1.addEventListener(ParticleEvent.PARTICLE_CREATED, particleAdded, false, 0, true);
_arg1.addEventListener(ParticleEvent.PARTICLE_ADDED, particleAdded, false, 0, true);
_arg1.addEventListener(ParticleEvent.PARTICLE_DEAD, particleRemoved, false, 0, true);
for each (_local2 in _arg1.particles) {
addParticle(_local2);
};
if (_emitters.length == 1){
addEventListener(Event.RENDER, updateParticles, false, 0, true);
};
}
}
}//package org.flintparticles.common.renderers
Section 194
//construct (org.flintparticles.common.utils.construct)
package org.flintparticles.common.utils {
public function construct(_arg1:Class, _arg2:Array){
switch (_arg2.length){
case 0:
return (new (_arg1));
case 1:
return (new _arg1(_arg2[0]));
case 2:
return (new _arg1(_arg2[0], _arg2[1]));
case 3:
return (new _arg1(_arg2[0], _arg2[1], _arg2[2]));
case 4:
return (new _arg1(_arg2[0], _arg2[1], _arg2[2], _arg2[3]));
case 5:
return (new _arg1(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4]));
case 6:
return (new _arg1(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4], _arg2[5]));
case 7:
return (new _arg1(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4], _arg2[5], _arg2[6]));
case 8:
return (new _arg1(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4], _arg2[5], _arg2[6], _arg2[7]));
case 9:
return (new _arg1(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4], _arg2[5], _arg2[6], _arg2[7], _arg2[8]));
case 10:
return (new _arg1(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4], _arg2[5], _arg2[6], _arg2[7], _arg2[8], _arg2[9]));
default:
return (null);
};
}
}//package org.flintparticles.common.utils
Section 195
//FrameUpdater (org.flintparticles.common.utils.FrameUpdater)
package org.flintparticles.common.utils {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import org.flintparticles.common.events.*;
public class FrameUpdater extends EventDispatcher {
private var _shape:Shape;
private var _time:Number;
private static var _instance:FrameUpdater;
public function FrameUpdater(){
_shape = new Shape();
_shape.addEventListener(Event.ENTER_FRAME, frameUpdate, false, 0, true);
_time = getTimer();
}
private function frameUpdate(_arg1:Event):void{
var _local2:int = _time;
_time = getTimer();
var _local3:Number = ((_time - _local2) * 0.001);
dispatchEvent(new UpdateEvent(UpdateEvent.UPDATE, _local3));
}
public static function get instance():FrameUpdater{
if (_instance == null){
_instance = new (FrameUpdater);
};
return (_instance);
}
}
}//package org.flintparticles.common.utils
Section 196
//Maths (org.flintparticles.common.utils.Maths)
package org.flintparticles.common.utils {
public class Maths {
private static const DEGTORAD:Number = 0.0174532925199433;
private static const RADTODEG:Number = 57.2957795130823;
public static function asRadians(_arg1:Number):Number{
return ((_arg1 * DEGTORAD));
}
public static function asDegrees(_arg1:Number):Number{
return ((_arg1 * RADTODEG));
}
}
}//package org.flintparticles.common.utils
Section 197
//PriorityArray (org.flintparticles.common.utils.PriorityArray)
package org.flintparticles.common.utils {
import flash.utils.*;
public class PriorityArray extends Proxy {
private var _values:Array;
public function PriorityArray(){
_values = new Array();
}
public function remove(_arg1):Boolean{
var _local2:uint = _values.length;
while (_local2--) {
if (_values[_local2].value == _arg1){
_values.splice(_local2, 1);
return (true);
};
};
return (false);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{
return ((_arg1 - 1).toString());
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{
var _local3:uint = uint(_arg1);
if ((((_local3 == _arg1)) && ((_local3 < _values.length)))){
_values[_local3].value = _arg2;
};
}
public function add(_arg1, _arg2:Number):uint{
var _local3:uint = _values.length;
var _local4:uint;
while (_local4 < _local3) {
if (_values[_local4].priority < _arg2){
break;
};
_local4++;
};
_values.splice(_local4, 0, new Pair(_arg2, _arg1));
return (_values.length);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
var _local2:int = int(_arg1);
if ((((((_local2 == _arg1)) && ((_local2 < _values.length)))) && (_values[_local2]))){
return (_values[_local2].value);
};
return (undefined);
}
public function clear():void{
_values.length = 0;
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{
if (_arg1 < _values.length){
return ((_arg1 + 1));
};
return (0);
}
public function get length():uint{
return (_values.length);
}
public function removeAt(_arg1:uint){
var _local2:* = _values[_arg1].value;
_values.splice(_arg1, 1);
return (_local2);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextValue(_arg1:int){
return (_values[(_arg1 - 1)].value);
}
public function contains(_arg1):Boolean{
var _local2:uint = _values.length;
while (_local2--) {
if (_values[_local2].value == _arg1){
return (true);
};
};
return (false);
}
}
}//package org.flintparticles.common.utils
class Pair {
private var value;
private var priority:Number;
private function Pair(_arg1:Number, _arg2){
this.priority = _arg1;
this.value = _arg2;
}
}
Section 198
//DeathZone (org.flintparticles.twoD.actions.DeathZone)
package org.flintparticles.twoD.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.twoD.zones.*;
import org.flintparticles.twoD.particles.*;
public class DeathZone extends ActionBase {
private var _invertZone:Boolean;
private var _zone:Zone2D;
private var p:Particle2D;
private var inside:Boolean;
public function DeathZone(_arg1:Zone2D, _arg2:Boolean=false){
_zone = _arg1;
_invertZone = _arg2;
}
public function get zoneIsSafe():Boolean{
return (_invertZone);
}
public function set zoneIsSafe(_arg1:Boolean):void{
_invertZone = _arg1;
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
p = Particle2D(_arg2);
inside = _zone.contains(p.x, p.y);
if (_invertZone){
if (!inside){
p.isDead = true;
};
} else {
if (inside){
p.isDead = true;
};
};
}
public function get zone():Zone2D{
return (_zone);
}
override public function getDefaultPriority():Number{
return (-20);
}
public function set zone(_arg1:Zone2D):void{
_zone = _arg1;
}
}
}//package org.flintparticles.twoD.actions
Section 199
//Move (org.flintparticles.twoD.actions.Move)
package org.flintparticles.twoD.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.twoD.particles.*;
public class Move extends ActionBase {
private var p:Particle2D;
override public function getDefaultPriority():Number{
return (-10);
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
p = Particle2D(_arg2);
p.x = (p.x + (p.velX * _arg3));
p.y = (p.y + (p.velY * _arg3));
}
}
}//package org.flintparticles.twoD.actions
Section 200
//RandomDrift (org.flintparticles.twoD.actions.RandomDrift)
package org.flintparticles.twoD.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.twoD.particles.*;
public class RandomDrift extends ActionBase {
private var _sizeX:Number;
private var _sizeY:Number;
public function RandomDrift(_arg1:Number, _arg2:Number){
_sizeX = (_arg1 * 2);
_sizeY = (_arg2 * 2);
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
var _local4:Particle2D = Particle2D(_arg2);
Particle2D(_arg2).velX = (_local4.velX + (((Math.random() - 0.5) * _sizeX) * _arg3));
_local4.velY = (_local4.velY + (((Math.random() - 0.5) * _sizeY) * _arg3));
}
public function get driftY():Number{
return ((_sizeY / 2));
}
public function set driftY(_arg1:Number):void{
_sizeY = (_arg1 * 2);
}
public function set driftX(_arg1:Number):void{
_sizeX = (_arg1 * 2);
}
public function get driftX():Number{
return ((_sizeX / 2));
}
}
}//package org.flintparticles.twoD.actions
Section 201
//Emitter2D (org.flintparticles.twoD.emitters.Emitter2D)
package org.flintparticles.twoD.emitters {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.utils.*;
import org.flintparticles.twoD.particles.*;
public class Emitter2D extends Emitter {
protected var _y:Number;// = 0
public var spaceSort:Boolean;// = false
public var spaceSortedX:Array;
protected var _x:Number;// = 0
protected var _rotation:Number;// = 0
protected static var _creator:ParticleCreator2D = new ParticleCreator2D();
public function Emitter2D(){
_particleFactory = _creator;
}
public function get y():Number{
return (_y);
}
override protected function initParticle(_arg1:Particle):void{
var _local2:Particle2D;
_local2 = Particle2D(_arg1);
_local2.x = _x;
_local2.y = _y;
_local2.rotation = _rotation;
}
override protected function sortParticles():void{
var _local1:int;
var _local2:int;
if (spaceSort){
spaceSortedX = _particles.sortOn("x", (Array.NUMERIC | Array.RETURNINDEXEDARRAY));
_local1 = _particles.length;
_local2 = 0;
while (_local2 < _local1) {
_particles[spaceSortedX[_local2]].sortID = _local2;
_local2++;
};
};
}
public function set x(_arg1:Number):void{
_x = _arg1;
}
public function set rotRadians(_arg1:Number):void{
_rotation = _arg1;
}
public function get x():Number{
return (_x);
}
public function get rotRadians():Number{
return (_rotation);
}
public function set rotation(_arg1:Number):void{
_rotation = Maths.asRadians(_arg1);
}
public function get rotation():Number{
return (Maths.asDegrees(_rotation));
}
public function set y(_arg1:Number):void{
_y = _arg1;
}
public static function get defaultParticleFactory():ParticleFactory{
return (_creator);
}
}
}//package org.flintparticles.twoD.emitters
Section 202
//Position (org.flintparticles.twoD.initializers.Position)
package org.flintparticles.twoD.initializers {
import flash.geom.*;
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.initializers.*;
import org.flintparticles.twoD.zones.*;
import org.flintparticles.twoD.particles.*;
public class Position extends InitializerBase {
private var _zone:Zone2D;
public function Position(_arg1:Zone2D){
_zone = _arg1;
}
override public function initialize(_arg1:Emitter, _arg2:Particle):void{
var _local5:Number;
var _local6:Number;
var _local3:Particle2D = Particle2D(_arg2);
var _local4:Point = _zone.getLocation();
if (_local3.rotation == 0){
_local3.x = (_local3.x + _local4.x);
_local3.y = (_local3.y + _local4.y);
} else {
_local5 = Math.sin(_local3.rotation);
_local6 = Math.cos(_local3.rotation);
_local3.x = (_local3.x + ((_local6 * _local4.x) - (_local5 * _local4.y)));
_local3.y = (_local3.y + ((_local6 * _local4.y) + (_local5 * _local4.x)));
};
}
public function set zone(_arg1:Zone2D):void{
_zone = _arg1;
}
public function get zone():Zone2D{
return (_zone);
}
}
}//package org.flintparticles.twoD.initializers
Section 203
//Velocity (org.flintparticles.twoD.initializers.Velocity)
package org.flintparticles.twoD.initializers {
import flash.geom.*;
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.initializers.*;
import org.flintparticles.twoD.zones.*;
import org.flintparticles.twoD.particles.*;
public class Velocity extends InitializerBase {
private var _zone:Zone2D;
public function Velocity(_arg1:Zone2D){
_zone = _arg1;
}
override public function initialize(_arg1:Emitter, _arg2:Particle):void{
var _local3:Particle2D;
var _local5:Number;
var _local6:Number;
_local3 = Particle2D(_arg2);
var _local4:Point = _zone.getLocation();
if (_local3.rotation == 0){
_local3.velX = _local4.x;
_local3.velY = _local4.y;
} else {
_local5 = Math.sin(_local3.rotation);
_local6 = Math.cos(_local3.rotation);
_local3.velX = ((_local6 * _local4.x) - (_local5 * _local4.y));
_local3.velY = ((_local6 * _local4.y) + (_local5 * _local4.x));
};
}
public function set zone(_arg1:Zone2D):void{
_zone = _arg1;
}
public function get zone():Zone2D{
return (_zone);
}
}
}//package org.flintparticles.twoD.initializers
Section 204
//Particle2D (org.flintparticles.twoD.particles.Particle2D)
package org.flintparticles.twoD.particles {
import flash.geom.*;
import org.flintparticles.common.particles.*;
public class Particle2D extends Particle {
public var sortID:int;// = -1
private var _inertia:Number;
public var velY:Number;// = 0
private var _previousRadius:Number;
private var _previousMass:Number;
public var angVelocity:Number;// = 0
public var x:Number;// = 0
public var y:Number;// = 0
public var velX:Number;// = 0
public var rotation:Number;// = 0
override public function clone(_arg1:ParticleFactory=null):Particle{
var _local2:Particle2D;
if (_arg1){
_local2 = (_arg1.createParticle() as Particle2D);
} else {
_local2 = new Particle2D();
};
cloneInto(_local2);
_local2.x = x;
_local2.y = y;
_local2.velX = velX;
_local2.velY = velY;
_local2.rotation = rotation;
_local2.angVelocity = angVelocity;
return (_local2);
}
override public function initialize():void{
super.initialize();
x = 0;
y = 0;
velX = 0;
velY = 0;
rotation = 0;
angVelocity = 0;
sortID = -1;
}
public function get matrixTransform():Matrix{
var _local1:Number = (scale * Math.cos(rotation));
var _local2:Number = (scale * Math.sin(rotation));
return (new Matrix(_local1, _local2, -(_local2), _local1, x, y));
}
public function get inertia():Number{
if (((!((mass == _previousMass))) || (!((collisionRadius == _previousRadius))))){
_inertia = (((mass * collisionRadius) * collisionRadius) * 0.5);
_previousMass = mass;
_previousRadius = collisionRadius;
};
return (_inertia);
}
}
}//package org.flintparticles.twoD.particles
Section 205
//ParticleCreator2D (org.flintparticles.twoD.particles.ParticleCreator2D)
package org.flintparticles.twoD.particles {
import org.flintparticles.common.particles.*;
public class ParticleCreator2D implements ParticleFactory {
private var _particles:Array;
public function ParticleCreator2D(){
_particles = new Array();
}
public function clearAllParticles():void{
_particles = new Array();
}
public function disposeParticle(_arg1:Particle):void{
if ((_arg1 is Particle2D)){
_arg1.initialize();
_particles.push(_arg1);
};
}
public function createParticle():Particle{
if (_particles.length){
return (_particles.pop());
};
return (new Particle2D());
}
}
}//package org.flintparticles.twoD.particles
Section 206
//DisplayObjectRenderer (org.flintparticles.twoD.renderers.DisplayObjectRenderer)
package org.flintparticles.twoD.renderers {
import flash.display.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.renderers.*;
import org.flintparticles.twoD.particles.*;
public class DisplayObjectRenderer extends SpriteRendererBase {
override protected function removeParticle(_arg1:Particle):void{
removeChild(_arg1.image);
}
override protected function addParticle(_arg1:Particle):void{
addChildAt(_arg1.image, 0);
}
override protected function renderParticles(_arg1:Array):void{
var _local2:Particle2D;
var _local3:DisplayObject;
var _local4:int = _arg1.length;
var _local5:int;
while (_local5 < _local4) {
_local2 = _arg1[_local5];
_local3 = _local2.image;
_local3.transform.colorTransform = _local2.colorTransform;
_local3.transform.matrix = _local2.matrixTransform;
_local5++;
};
}
}
}//package org.flintparticles.twoD.renderers
Section 207
//PointZone (org.flintparticles.twoD.zones.PointZone)
package org.flintparticles.twoD.zones {
import flash.geom.*;
public class PointZone implements Zone2D {
private var _point:Point;
public function PointZone(_arg1:Point){
_point = _arg1;
}
public function get point():Point{
return (_point);
}
public function getArea():Number{
return (1);
}
public function set point(_arg1:Point):void{
_point = _arg1;
}
public function getLocation():Point{
return (_point.clone());
}
public function contains(_arg1:Number, _arg2:Number):Boolean{
return ((((_point.x == _arg1)) && ((_point.y == _arg2))));
}
}
}//package org.flintparticles.twoD.zones
Section 208
//RectangleZone (org.flintparticles.twoD.zones.RectangleZone)
package org.flintparticles.twoD.zones {
import flash.geom.*;
public class RectangleZone implements Zone2D {
private var _height:Number;
private var _width:Number;
private var _bottom:Number;
private var _right:Number;
private var _top:Number;
private var _left:Number;
public function RectangleZone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
_left = _arg1;
_top = _arg2;
_right = _arg3;
_bottom = _arg4;
_width = (_arg3 - _arg1);
_height = (_arg4 - _arg2);
}
public function getArea():Number{
return ((_width * _height));
}
public function get top():Number{
return (_top);
}
public function set bottom(_arg1:Number):void{
_bottom = _arg1;
_height = (bottom - top);
}
public function get right():Number{
return (_right);
}
public function set left(_arg1:Number):void{
_left = _arg1;
_width = (right - left);
}
public function get left():Number{
return (_left);
}
public function set top(_arg1:Number):void{
_top = _arg1;
_height = (bottom - top);
}
public function contains(_arg1:Number, _arg2:Number):Boolean{
return ((((((((_arg1 >= _left)) && ((_arg1 <= _right)))) && ((_arg2 >= _top)))) && ((_arg2 <= _bottom))));
}
public function get bottom():Number{
return (_bottom);
}
public function set right(_arg1:Number):void{
_right = _arg1;
_width = (right - left);
}
public function getLocation():Point{
return (new Point((_left + (Math.random() * _width)), (_top + (Math.random() * _height))));
}
}
}//package org.flintparticles.twoD.zones
Section 209
//Zone2D (org.flintparticles.twoD.zones.Zone2D)
package org.flintparticles.twoD.zones {
import flash.geom.*;
public interface Zone2D {
function getArea():Number;
function getLocation():Point;
function contains(_arg1:Number, _arg2:Number):Boolean;
}
}//package org.flintparticles.twoD.zones
Section 210
//BitmapFont (SFXLib.BitmapFont)
package SFXLib {
import flash.display.*;
import flash.geom.*;
public class BitmapFont {
private var _matrix:Matrix;
private var _indexes:Array;
private var _bmp:BitmapData;
private var _charWidth:int;
private var _charHeight:int;
public static const ALIGN_LEFT:Number = 1;
public static const ALIGN_BOTTOM:Number = 5;
public static const ALIGN_RIGHT:Number = 2;
public static const ALIGN_TOP:Number = 4;
public static const ALIGN_CENTER:Number = 0;
public function BitmapFont(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Array=null){
_bmp = _arg1;
_charHeight = int(_arg3);
_charWidth = int(_arg2);
_indexes = _arg4;
_matrix = new Matrix();
}
public function paintText(_arg1:String, _arg2:Sprite, _arg3:Number, _arg4:Number, _arg5:Number=1, _arg6:Number=5):void{
var _local8:Number;
switch (_arg5){
case ALIGN_CENTER:
_arg3 = (_arg3 - ((_arg1.length * _charWidth) / 2));
break;
case ALIGN_RIGHT:
_arg3 = (_arg3 - (_arg1.length * _charWidth));
break;
};
switch (_arg6){
case ALIGN_CENTER:
_arg4 = (_arg4 + (_charHeight / 2));
break;
case ALIGN_TOP:
_arg4 = (_arg4 + _charHeight);
break;
};
var _local7:Number = 0;
while (_local7 < _arg1.length) {
_local8 = _arg1.charCodeAt(_local7);
paintChar(_local8, _arg2, (_arg3 + (_local7 * _charWidth)), _arg4);
_local7++;
};
}
public function paintChar(_arg1:Number, _arg2:Sprite, _arg3:Number, _arg4:Number):void{
var _local5:Number;
var _local6:Number;
if (_indexes != null){
_local5 = 0;
for each (_local6 in _indexes) {
if ((((_arg1 >= _local6)) && ((_arg1 < (_local6 + (_bmp.width / _charWidth)))))){
_matrix.identity();
_matrix.translate(((-((_arg1 - _local6)) * _charWidth) + int(_arg3)), ((-(_local5) * _charHeight) + int(_arg4)));
_arg2.graphics.beginBitmapFill(_bmp, _matrix, false);
_arg2.graphics.drawRect(int(_arg3), int(_arg4), _charWidth, _charHeight);
_arg2.graphics.endFill();
break;
};
_local5++;
};
};
}
}
}//package SFXLib
Section 211
//PaperRain (SFXLib.PaperRain)
package SFXLib {
import flash.geom.*;
import org.flintparticles.common.initializers.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.common.counters.*;
import org.flintparticles.twoD.zones.*;
import org.flintparticles.twoD.emitters.*;
import org.flintparticles.twoD.actions.*;
import org.flintparticles.twoD.initializers.*;
import org.flintparticles.common.displayObjects.*;
public class PaperRain extends Emitter2D {
public function PaperRain(){
counter = new Steady(200);
addInitializer(new ImageClass(Rect, 2, 2));
addInitializer(new Position(new RectangleZone(0, 0, DEF.SCREEN_WIDTH, DEF.SCREEN_HEIGHT)));
addInitializer(new Velocity(new PointZone(new Point(0, 65))));
addInitializer(new ScaleImageInit(0.75, 4));
addAction(new Move());
addAction(new DeathZone(new RectangleZone(-5, -5, (DEF.SCREEN_WIDTH + 10), (DEF.SCREEN_HEIGHT + 10)), true));
addAction(new RandomDrift(250, 50));
addAction(new Fade(1, 0));
}
}
}//package SFXLib
Section 212
//SFX (SFXLib.SFX)
package SFXLib {
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import caurina.transitions.*;
import flash.filters.*;
public class SFX {
protected var _rewardText:TextField;
private static var _instance:SFX = null;
public function showFadingMessage(_arg1:Sprite, _arg2:BitmapData, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Function=null):void{
var spr:Sprite;
var parent = _arg1;
var bmp = _arg2;
var posX = _arg3;
var posY = _arg4;
var seconds = _arg5;
var delay = _arg6;
var callback = _arg7;
spr = new Sprite();
parent.addChild(spr);
var matrix:Matrix = new Matrix();
matrix.translate((-(bmp.width) / 2), (-(bmp.height) / 2));
spr.graphics.beginBitmapFill(bmp, matrix);
spr.graphics.drawRect((-(bmp.width) / 2), (-(bmp.height) / 2), bmp.width, bmp.height);
spr.graphics.endFill();
spr.x = posX;
spr.y = posY;
spr.scaleX = 5;
spr.scaleY = 0.5;
spr.alpha = 1.5;
var filter:BlurFilter = new BlurFilter(10, 0, 2);
spr.filters = [filter];
spr.visible = false;
MediaPlayer.getSingleton().play(MediaPlayer.SND_INGAME_MESSAGE);
Tweener.addTween(spr, {time:delay, onComplete:function ():void{
spr.visible = true;
}});
Tweener.addTween(spr, {delay:delay, time:(seconds / 4), scaleX:0.5, onComplete:function ():void{
spr.filters = null;
}});
Tweener.addTween(spr, {delay:((seconds / 4) + delay), time:((seconds * 3) / 4), alpha:0, scaleX:1.5, scaleY:1.5, transition:"easeOutInQuart", onComplete:function ():void{
parent.removeChild(spr);
if (callback != null){
callback();
};
}});
}
public function showReward(_arg1:Sprite, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{
var format:TextFormat;
var bmpFilter:BitmapFilter;
var newFilter:Array;
var parent = _arg1;
var str = _arg2;
var textWidth = _arg3;
var initialX = _arg4;
var initialY = _arg5;
var seconds = _arg6;
if (!_rewardText){
_rewardText = new TextField();
format = new TextFormat(DEF.REWARD_FONT, DEF.REWARD_FONT_SIZE);
_rewardText.width = textWidth;
_rewardText.height = 100;
format.color = DEF.REWARD_COLOR;
format.align = "center";
_rewardText.embedFonts = true;
_rewardText.defaultTextFormat = format;
_rewardText.selectable = false;
bmpFilter = new GlowFilter(0, 0.5);
newFilter = new Array();
newFilter.push(bmpFilter);
_rewardText.filters = newFilter;
parent.addChild(_rewardText);
};
if (_rewardText.parent != parent){
_rewardText.parent.removeChild(_rewardText);
parent.addChild(_rewardText);
};
_rewardText.x = initialX;
_rewardText.y = initialY;
_rewardText.text = str;
_rewardText.visible = true;
_rewardText.alpha = 1;
Tweener.addTween(_rewardText, {time:seconds, y:(initialY - 50), alpha:0, onComplete:function ():void{
_rewardText.visible = false;
}});
}
public function maskedExplode(_arg1:Sprite, _arg2:BitmapData, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Number=-1, _arg7:Number=-1):void{
var _maskedExplodeSpr:Sprite;
var spr = _arg1;
var originalBitmap = _arg2;
var maskData = _arg3;
var scale = _arg4;
var expTime = _arg5;
var centerX = _arg6;
var centerY = _arg7;
_maskedExplodeSpr = null;
var bitmap:BitmapData = originalBitmap.clone();
var mask:BitmapData = new BitmapData(bitmap.width, bitmap.height, true);
var rect:Rectangle = new Rectangle(0, 0, bitmap.width, bitmap.height);
var point:Point = new Point(0, 0);
mask.copyChannel(bitmap, rect, point, 1, 1);
mask.copyChannel(bitmap, rect, point, 2, 2);
mask.copyChannel(bitmap, rect, point, 4, 4);
mask.copyChannel(maskData, rect, point, 1, 8);
_maskedExplodeSpr = new Sprite();
spr.addChild(_maskedExplodeSpr);
var matrix:Matrix = new Matrix();
matrix.translate((-(bitmap.width) / 2), (-(bitmap.height) / 2));
_maskedExplodeSpr.graphics.beginBitmapFill(mask, matrix);
_maskedExplodeSpr.graphics.drawRect((-(bitmap.width) / 2), (-(bitmap.height) / 2), bitmap.width, bitmap.height);
_maskedExplodeSpr.graphics.endFill();
_maskedExplodeSpr.x = 0;
_maskedExplodeSpr.y = 0;
_maskedExplodeSpr.alpha = 1;
_maskedExplodeSpr.scaleX = 1;
_maskedExplodeSpr.scaleY = 1;
var _scaleX:Number = scale;
var _scaleY:Number = scale;
var _width:Number = bitmap.width;
var _height:Number = bitmap.height;
var _centerX:Number = (spr.x + (_width / 2));
var _centerY:Number = spr.y;
if (centerX != -1){
_centerX = centerX;
};
if (centerY != -1){
_centerY = centerY;
};
Tweener.addTween(_maskedExplodeSpr, {time:expTime, alpha:0, scaleX:_scaleX, scaleY:_scaleY, onComplete:function ():void{
spr.removeChild(_maskedExplodeSpr);
_maskedExplodeSpr = null;
}});
}
public function radialGradient(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number=-1, _arg5:Number=-1, _arg6:Boolean=true, _arg7:Number=5):void{
var _local11:BlurFilter;
var _local12:Number;
var _local13:Number;
var _local8:Sprite = (_arg1.getChildByName("RADIAL_GRADIENT") as Sprite);
if (_local8 == null){
_local8 = new Sprite();
_arg1.addChild(_local8);
_local8.name = "RADIAL_GRADIENT";
if (_arg6){
_local11 = new BlurFilter(10, 10, 2);
_local8.filters = [_local11];
};
};
_local8.graphics.clear();
var _local9:Number = (_arg1.width / 2);
_arg4 = (_arg4 % (_local9 / _arg2));
var _local10:Number = 0;
while (_local10 < _arg2) {
_local12 = ((((_local10 * _local9) / _arg2) + _arg4) * _arg3);
_local13 = ((_arg2 - _local10) / _arg2);
_local8.graphics.lineStyle(_arg7, _arg5, _local13);
_local8.graphics.drawCircle(0, 0, _local12);
_local10++;
};
}
public static function getSingleton():SFX{
if (!_instance){
_instance = new (SFX);
};
return (_instance);
}
}
}//package SFXLib
Section 213
//BaseSportAI (ShooterLib.AI.BaseSportAI)
package ShooterLib.AI {
import flash.display.*;
import ShooterLib.Unit.*;
import ShooterLib.Base.*;
public class BaseSportAI {
protected var _player:GravityBallSprite;
protected var _goUp:Boolean;// = false
protected var _goDown:Boolean;// = false
protected var _hasShoot:Boolean;// = false
protected var _goRight:Boolean;// = false
protected var _type:Number;
protected var _ballLogic:GravityBallLogic;
protected var _friendGoalkeeper:GravityBallLogic;
protected var _shoot:Boolean;// = false
protected var _foeGoalkeeper:GravityBallLogic;
protected var _goLeft:Boolean;// = false
protected var _playerLogic:GravityBallLogic;
public static const TYPE_AGGRESSIVE:Number = 0;
public static const TYPE_TACTIC:Number = 2;
public static const TYPE_DEFENSIVE:Number = 1;
public static var movingActive:Boolean = true;
public static var debugSprite:Sprite;
public function BaseSportAI(_arg1:GravityBallSprite, _arg2:GravityBallLogic, _arg3:GravityBallLogic, _arg4:GravityBallLogic, _arg5:Number){
_ballLogic = _arg2;
_player = _arg1;
_playerLogic = _arg1.logic;
_friendGoalkeeper = _arg3;
_foeGoalkeeper = _arg4;
_type = _arg5;
}
protected function goToPoint(_arg1:Vector):void{
if (_playerLogic.pos.x < _arg1.x){
_goRight = true;
};
if (_playerLogic.pos.x > _arg1.x){
_goLeft = true;
};
if (_playerLogic.pos.y > _arg1.y){
_goUp = true;
};
if (_playerLogic.pos.y < _arg1.y){
_goDown = true;
};
}
public function update(_arg1:Array, _arg2:Array):void{
var _local3:Vector;
var _local4:Number;
var _local7:Vector;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_goDown = (_goUp = (_goLeft = (_goRight = (_shoot = false))));
var _local5:GravityBallLogic = (_arg2[0] as GravityBallLogic);
var _local6:GravityBallLogic;
if (((_arg1) && ((_arg1.length > 0)))){
_local6 = (_arg1[0] as GravityBallLogic);
};
switch (_type){
case TYPE_AGGRESSIVE:
if (_playerLogic.orbitChild == _ballLogic){
if (_playerLogic.pos.distance(_foeGoalkeeper.pos) < _local5.pos.distance(_foeGoalkeeper.pos)){
if (shouldShoot()){
_local3 = _ballLogic.launchVector;
_local4 = _ballLogic.pos.minus(_foeGoalkeeper.pos).degreesWith(_local3);
if ((((_local4 > 155)) && ((_local4 < 175)))){
_shoot = true;
};
};
goToPoint(_foeGoalkeeper.pos);
} else {
if (_playerLogic.pos.distance(_local5.pos) < 100){
_local7 = _playerLogic.pos.minus(_local5.pos);
_local7.normalizeEquals();
_local7.multEquals(((Math.random() * 10) - 2));
_local7.plusEquals(_playerLogic.pos);
goToPoint(_local7);
};
if (shouldShoot()){
_local3 = _ballLogic.launchVector;
_local4 = _ballLogic.pos.minus(_foeGoalkeeper.pos).degreesWith(_local3);
if ((((_local4 > 170)) && ((_local4 < 180)))){
_shoot = true;
};
goToPoint(_foeGoalkeeper.pos);
};
};
} else {
if ((((_local5.orbitChild == _ballLogic)) || (((_local6) && ((_local6.orbitChild == _ballLogic)))))){
if (_local5.pos.distance(_player.pos) > 40){
goToPoint(_local5.pos);
};
} else {
goToPoint(_ballLogic.pos);
};
};
break;
case TYPE_DEFENSIVE:
if (_playerLogic.orbitChild == _ballLogic){
if (_playerLogic.pos.distance(_foeGoalkeeper.pos) < _local5.pos.distance(_foeGoalkeeper.pos)){
if (shouldShoot()){
_local3 = _ballLogic.launchVector;
_local4 = _ballLogic.pos.minus(_foeGoalkeeper.pos).degreesWith(_local3);
if ((((_local4 > 155)) && ((_local4 < 175)))){
_shoot = true;
};
};
goToPoint(_foeGoalkeeper.pos);
} else {
if (_playerLogic.pos.distance(_local5.pos) < 100){
_local7 = _playerLogic.pos.minus(_local5.pos);
_local7.normalizeEquals();
_local7.multEquals(((Math.random() * 10) - 2));
_local7.plusEquals(_playerLogic.pos);
goToPoint(_local7);
};
if (shouldShoot()){
_local3 = _ballLogic.launchVector;
_local4 = _ballLogic.pos.minus(_foeGoalkeeper.pos).degreesWith(_local3);
if ((((_local4 > 170)) && ((_local4 < 180)))){
_shoot = true;
};
goToPoint(_foeGoalkeeper.pos);
};
};
} else {
if ((((_local5.orbitChild == _ballLogic)) || (((_local6) && ((_local6.orbitChild == _ballLogic)))))){
goToPoint(circleDefense(_local5.pos, _friendGoalkeeper.pos, 100));
} else {
goToPoint(_ballLogic.pos);
};
};
break;
case TYPE_TACTIC:
if (_playerLogic.orbitChild == _ballLogic){
if (_playerLogic.pos.distance(_local5.pos) < 100){
_local7 = _playerLogic.pos.minus(_local5.pos);
_local7.normalizeEquals();
_local7.multEquals(((Math.random() * 10) - 2));
_local7.plusEquals(_playerLogic.pos);
goToPoint(_local7);
};
if (shouldShoot()){
_local3 = _ballLogic.launchVector;
_local4 = _ballLogic.launchVector.degreesWithPositiveX();
_local8 = getBottomWallLaunchAngle(_ballLogic.pos, _foeGoalkeeper.pos);
_local9 = getTopWallLaunchAngle(_ballLogic.pos, _foeGoalkeeper.pos);
_local10 = _ballLogic.pos.minus(_foeGoalkeeper.pos).degreesWith(_local3);
if ((((((Math.abs((_local8 - _local4)) < 5)) || ((Math.abs((_local9 - _local4)) < 5)))) || ((((_local4 > 170)) && ((_local4 < 180)))))){
_shoot = true;
};
};
} else {
if ((((_local5.orbitChild == _ballLogic)) || (((_local6) && ((_local6.orbitChild == _ballLogic)))))){
if (_local5.pos.distance(_player.pos) > 40){
goToPoint(_local5.pos);
};
} else {
goToPoint(_ballLogic.pos);
};
};
break;
};
if (_shoot){
_hasShoot = true;
};
if (movingActive){
_player.update(_goUp, _goDown, _goLeft, _goRight, _shoot, 0, 0);
} else {
_player.update(false, false, false, false, _shoot, 0, 0);
};
}
public function getTopWallLaunchAngle(_arg1:Vector, _arg2:Vector):Number{
var _local3:Number;
var _local4:Number = _arg2.x;
var _local5:Number = DEF.MAP_HEIGHT;
var _local6:Number = _arg1.x;
var _local7:Number = _arg1.y;
var _local8:Number = ((((2 * _local4) * _local7) + ((2 * _local5) * _local6)) - (_local4 * _local5));
var _local9:Number = (_local5 + (2 * _local7));
_local3 = (_local8 / _local9);
var _local10:Number = (DEF.MAP_HEIGHT / 2);
var _local11:Number = (-((_arg2.x - _local3)) / 2);
var _local12:Number = _local10;
var _local13:Number = (_local12 / _local11);
var _local14:Number = (_local10 - (_local13 * _local3));
return (((Math.atan2(-(_local7), ((-(_local14) / _local13) - _local6)) * 180) / Math.PI));
}
public function circleDefense(_arg1:Vector, _arg2:Vector, _arg3:Number):Vector{
var _local4:Vector = new Vector();
var _local5:Number = Math.atan2((_arg1.y - _arg2.y), (_arg1.x - _arg2.x));
_local4.x = ((_arg3 * Math.cos(_local5)) + _arg2.x);
_local4.y = ((_arg3 * Math.sin(_local5)) + _arg2.y);
return (_local4);
}
public function getBottomWallLaunchAngle(_arg1:Vector, _arg2:Vector):Number{
var _local3:Number;
var _local4:Number = _arg2.x;
var _local5:Number = DEF.MAP_HEIGHT;
var _local6:Number = _arg1.x;
var _local7:Number = _arg1.y;
var _local8:Number = (((_local5 * _local6) - (_local4 * _local7)) + ((_local5 * _local4) / 2));
var _local9:Number = (2 * (((3 / 4) * _local5) - (_local7 / 2)));
_local3 = (_local8 / _local9);
var _local10:Number = (DEF.MAP_HEIGHT / 2);
var _local11:Number = (-((_arg2.x - _local3)) / 2);
var _local12:Number = _local10;
var _local13:Number = (_local12 / _local11);
var _local14:Number = (_local10 - (_local13 * _local3));
return (((Math.atan2((DEF.MAP_HEIGHT - _local7), ((-(_local14) / _local13) - _local6)) * 180) / Math.PI));
}
public function hasShoot():Boolean{
var _local1:Boolean = _hasShoot;
_hasShoot = false;
return (_local1);
}
public function shouldShoot():Boolean{
var _local1:Number = _ballLogic.angularVelMagnitude;
if (_local1 < ((1 / 3) * DEF.MAX_ANGULAR_VELOCITY)){
return (false);
};
if (_local1 >= DEF.MAX_ANGULAR_VELOCITY){
return (true);
};
if (Math.random() < 0.3){
return (true);
};
return (false);
}
public static function commandToPoint(_arg1:GravityBallSprite, _arg2:Vector, _arg3:Number=1):Boolean{
var _local4:Boolean;
var _local5:Boolean;
var _local6:Boolean;
var _local7:Boolean;
if (_arg1.logic.pos.x < _arg2.x){
_local7 = true;
};
if (_arg1.logic.pos.x > _arg2.x){
_local6 = true;
};
if (_arg1.logic.pos.y > _arg2.y){
_local4 = true;
};
if (_arg1.logic.pos.y < _arg2.y){
_local5 = true;
};
_arg1.update(_local4, _local5, _local6, _local7, false, 0, 0);
if (_arg1.logic.pos.distance(_arg2) < _arg3){
return (true);
};
return (false);
}
}
}//package ShooterLib.AI
Section 214
//Mobile (ShooterLib.Base.Mobile)
package ShooterLib.Base {
import flash.geom.*;
public class Mobile {
public var dragCoeff:Number;
public var appliedForce:Vector;
public var pos:Vector;
public var mass:Number;
public var vel:Vector;
public static var boundingBox:Rectangle;
public function resetAppliedForce():void{
appliedForce.setTo(0, 0);
}
public function update():void{
vel.x = (vel.x + ((appliedForce.x / mass) - (vel.x * dragCoeff)));
vel.y = (vel.y + ((appliedForce.y / mass) - (vel.y * dragCoeff)));
pos.x = (pos.x + vel.x);
pos.y = (pos.y + vel.y);
}
public function addForce(_arg1:Vector):void{
appliedForce.plusEquals(_arg1);
}
public function isVisible():Boolean{
if (boundingBox){
if (boundingBox.contains(pos.x, pos.y)){
return (true);
};
return (false);
};
return (true);
}
public static function setBoundingBox(_arg1:Rectangle):void{
boundingBox = _arg1.clone();
}
}
}//package ShooterLib.Base
Section 215
//Vector (ShooterLib.Base.Vector)
package ShooterLib.Base {
public class Vector {
public var y:Number;
public var x:Number;
public static const UNITY_X:Vector = new Vector(1, 0);
;
public static const UNITY_Y:Vector = new Vector(0, 1);
;
public function Vector(_arg1:Number=0, _arg2:Number=0){
x = _arg1;
y = _arg2;
}
public function cross(_arg1:Vector):Number{
return (((x * _arg1.y) - (y * _arg1.x)));
}
public function times(_arg1:Vector):Vector{
return (new Vector((x * _arg1.x), (y * _arg1.y)));
}
public function radiansWithPositiveX():Number{
var _local1:Vector = normalize();
var _local2:Number = ((_local1.cross(UNITY_X) > 0)) ? -1 : 1;
return ((Math.acos(_local1.dot(UNITY_X)) * _local2));
}
public function dot(_arg1:Vector):Number{
return (((x * _arg1.x) + (y * _arg1.y)));
}
public function normalize():Vector{
var _local1:Number = magnitude();
if (_local1 == 0){
_local1 = 0.0001;
};
return (mult((1 / _local1)));
}
public function minusEquals(_arg1:Vector):Vector{
x = (x - _arg1.x);
y = (y - _arg1.y);
return (this);
}
public function magnitude():Number{
return (Math.sqrt(((x * x) + (y * y))));
}
public function mult(_arg1:Number):Vector{
return (new Vector((x * _arg1), (y * _arg1)));
}
public function degreesWith(_arg1:Vector):Number{
var _local2:Vector = normalize();
var _local3:Vector = _arg1.normalize();
var _local4:Number = ((_local2.cross(_local3) > 0)) ? -1 : 1;
return ((((Math.acos(_local2.dot(_local3)) * _local4) * 180) / Math.PI));
}
public function multEquals(_arg1:Number):Vector{
x = (x * _arg1);
y = (y * _arg1);
return (this);
}
public function plus(_arg1:Vector):Vector{
return (new Vector((x + _arg1.x), (y + _arg1.y)));
}
public function rotateDegreesEquals(_arg1:Number):Vector{
var _local2:Number = x;
var _local3:Number = y;
x = ((Math.cos(_arg1) * _local2) - (Math.sin(_arg1) * _local3));
y = ((Math.cos(_arg1) * _local3) + (Math.sin(_arg1) * _local2));
return (this);
}
public function normalizeEquals():Vector{
var _local1:Number = magnitude();
if (_local1 == 0){
_local1 = 0.0001;
};
return (multEquals((1 / _local1)));
}
public function divEquals(_arg1:Number):Vector{
if (_arg1 == 0){
_arg1 = 0.0001;
};
x = (x / _arg1);
y = (y / _arg1);
return (this);
}
public function degreesWithPositiveX():Number{
var _local1:Vector = normalize();
var _local2:Number = ((_local1.cross(UNITY_X) > 0)) ? -1 : 1;
return ((((Math.acos(_local1.dot(UNITY_X)) * _local2) * 180) / Math.PI));
}
public function copy(_arg1:Vector):void{
x = _arg1.x;
y = _arg1.y;
}
public function plusEquals(_arg1:Vector):Vector{
x = (x + _arg1.x);
y = (y + _arg1.y);
return (this);
}
public function toString():String{
return (((x + " : ") + y));
}
public function distance(_arg1:Vector):Number{
var _local2:Vector = this.minus(_arg1);
return (_local2.magnitude());
}
public function setTo(_arg1:Number, _arg2:Number):void{
x = _arg1;
y = _arg2;
}
public function minus(_arg1:Vector):Vector{
return (new Vector((x - _arg1.x), (y - _arg1.y)));
}
}
}//package ShooterLib.Base
Section 216
//FixedObjects (ShooterLib.Shootable.FixedObjects)
package ShooterLib.Shootable {
import flash.display.*;
import flash.geom.*;
public class FixedObjects {
public static var objects:Array;
protected static var _canvas:Sprite;
public static function init(_arg1:Sprite):void{
_canvas = _arg1;
objects = new Array();
}
public static function add(_arg1:Rectangle):void{
objects.push(_arg1);
}
public static function paint(_arg1:Number=0xFF0000, _arg2:Number=1):void{
var _local3:Rectangle;
for each (_local3 in objects) {
_canvas.graphics.moveTo(_local3.x, _local3.y);
_canvas.graphics.beginFill(_arg1, _arg2);
_canvas.graphics.drawRect(_local3.x, _local3.y, _local3.width, _local3.height);
_canvas.graphics.endFill();
};
}
}
}//package ShooterLib.Shootable
Section 217
//GravityBallLogic (ShooterLib.Unit.GravityBallLogic)
package ShooterLib.Unit {
import flash.utils.*;
import flash.geom.*;
import ShooterLib.Base.*;
import SFXLib.*;
import ShooterLib.Shootable.*;
public class GravityBallLogic extends Mobile {
public var container:GravityBallSprite;
public var inmobile:Boolean;// = false
protected var _orbitChild:GravityBallLogic;
public var radius:Number;
protected var _collisionCallback:Function;
public var shootPower:Number;
protected var _orbitDelta:Number;
protected var _orbitRadius:Number;
protected var _orbiting:Boolean;// = false
protected var _ballColliders:Array;
public var canBeSatellite:Boolean;// = false
protected var _orbitAngle:Number;
protected var _boxColliders:Array;
protected var _orbitParent:GravityBallLogic;
public var isParentOrbiter:Boolean;// = false
protected var _lastRepelTime:Number;// = -1
public static const G:Number = 1;
public static var collisionsActivated:Boolean = true;
public function GravityBallLogic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Boolean, _arg6:Boolean, _arg7:Boolean){
vel = new Vector();
appliedForce = new Vector();
pos = new Vector();
init(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7);
}
public function get orbitParent():GravityBallLogic{
return (_orbitParent);
}
public function stop():void{
vel.multEquals(0);
}
public function get launchMagnitude():Number{
return ((((5 * Math.abs(_orbitDelta)) * _orbitRadius) / 300));
}
public function init(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Boolean, _arg6:Boolean, _arg7:Boolean):void{
this.mass = _arg3;
this.radius = _arg4;
this.isParentOrbiter = _arg5;
this.canBeSatellite = _arg6;
this.inmobile = _arg7;
pos.setTo(_arg1, _arg2);
_ballColliders = new Array();
_boxColliders = new Array();
}
public function shoot():void{
if (_orbitChild){
_orbitChild.releaseFromOrbit(shootPower);
_orbitChild = null;
};
}
protected function fineCollision(_arg1:Rectangle):Boolean{
var _local2:Number = Math.abs(((pos.x - _arg1.x) - (_arg1.width / 2)));
var _local3:Number = Math.abs(((pos.y - _arg1.y) - (_arg1.height / 2)));
if (_local2 > ((_arg1.width / 2) + radius)){
return (false);
};
if (_local3 > ((_arg1.height / 2) + radius)){
return (false);
};
if (_local2 <= (_arg1.width / 2)){
return (true);
};
if (_local3 <= (_arg1.height / 2)){
return (true);
};
var _local4:Number = Math.sqrt((((_local2 - (_arg1.width / 2)) * (_local2 - (_arg1.width / 2))) + ((_local3 - (_arg1.height / 2)) * (_local3 - (_arg1.height / 2)))));
return ((_local4 < radius));
}
public function set collisionCallback(_arg1:Function):void{
_collisionCallback = _arg1;
}
public function orbitAround(_arg1:GravityBallLogic, _arg2:Number=1, _arg3:Boolean=true):void{
if (((_orbiting) && ((_orbitParent == _arg1)))){
return;
};
if (_orbitParent != null){
_orbitParent.orbitChild = null;
};
_orbitParent = _arg1;
_arg1.orbitChild = this;
_orbiting = true;
var _local4:Vector = new Vector((pos.x - _arg1.pos.x), (pos.y - _arg1.pos.y));
_local4.normalizeEquals();
_orbitAngle = _local4.degreesWithPositiveX();
_orbitRadius = ((_arg1.radius + radius) + 5);
_orbitDelta = _arg2;
if (_arg3){
_arg1.repelCompetence();
};
}
public function attractBy(_arg1:GravityBallLogic):void{
var _local2:Vector;
var _local3:Number;
var _local4:Number;
if (collisionsActivated){
_local2 = pos.minus(_arg1.pos);
_local3 = _local2.magnitude();
_local4 = (-(G) * ((this.mass * _arg1.mass) / (_local3 * _local3)));
_local2.normalizeEquals();
_local2.multEquals(_local4);
appliedForce.plusEquals(_local2);
};
}
override public function update():void{
var _local1:Array;
var _local2:Rectangle;
var _local3:Vector;
var _local4:Number;
var _local5:Number;
var _local6:GravityBallLogic;
var _local7:Number;
var _local8:Vector;
var _local9:Number;
var _local10:Vector;
var _local11:Vector;
if (_orbiting){
_orbitAngle = (_orbitAngle + _orbitDelta);
pos.setTo(1, 0);
pos.rotateDegreesEquals(((_orbitAngle * Math.PI) / 180));
pos.multEquals(_orbitRadius);
pos.plusEquals(_orbitParent.pos);
if (Math.abs(_orbitDelta) < DEF.MAX_ANGULAR_VELOCITY){
if (_orbitDelta > 0){
_orbitDelta = (_orbitDelta + DEF.ANGULAR_VELOCITY_DELTA);
} else {
_orbitDelta = (_orbitDelta - DEF.ANGULAR_VELOCITY_DELTA);
};
};
} else {
_local1 = FixedObjects.objects;
_local3 = new Vector(pos.x, pos.y);
_local4 = pos.x;
vel.x = (vel.x + ((appliedForce.x / mass) - (vel.x * dragCoeff)));
pos.x = (pos.x + vel.x);
if (collisionsActivated){
for each (_local2 in _local1) {
if (((((pos.y + radius) >= _local2.y)) && (((pos.y - radius) <= _local2.bottom)))){
if (((((pos.x + radius) >= _local2.left)) && (((pos.x - radius) <= _local2.right)))){
if (fineCollision(_local2)){
pos.x = _local4;
vel.x = -(vel.x);
break;
};
};
};
};
};
_local5 = pos.y;
vel.y = (vel.y + ((appliedForce.y / mass) - (vel.y * dragCoeff)));
pos.y = (pos.y + vel.y);
if (collisionsActivated){
for each (_local2 in _local1) {
if (((((pos.x + radius) >= _local2.left)) && (((pos.x - radius) <= _local2.right)))){
if (((((pos.y + radius) >= _local2.y)) && (((pos.y - radius) <= _local2.bottom)))){
if (fineCollision(_local2)){
pos.y = _local5;
vel.y = -(vel.y);
break;
};
};
};
};
};
if (collisionsActivated){
for each (_local6 in _ballColliders) {
if (((!((_local6.orbitParent == this))) && (collidedWithBall(_local6)))){
_local7 = (vel.magnitude() + (_local6.vel.magnitude() * 0.5));
_local8 = new Vector((_local3.x - _local6.pos.x), (_local3.y - _local6.pos.y));
_local8.normalizeEquals();
if ((((_local8.x == 0)) && ((_local8.y == 0)))){
_local8.setTo(1, 0);
};
_local9 = 0;
do {
_local9++;
pos.x = (_local8.mult(((_local6.radius + radius) + _local9)).x + _local6.pos.x);
pos.y = (_local8.mult(((_local6.radius + radius) + _local9)).y + _local6.pos.y);
} while (((collidedWithBall(_local6)) && ((_local9 < 100))));
_local10 = _local8.mult(((-((mass - _local6.mass)) / (mass + _local6.mass)) * _local7));
_local11 = _local8.mult(((-((mass + mass)) / (mass + _local6.mass)) * _local7));
if (!inmobile){
vel.x = (_local10.x / mass);
vel.y = (_local10.y / mass);
};
if (!_local6.inmobile){
_local6.vel.x = (_local11.x / _local6.mass);
_local6.vel.y = (_local11.y / _local6.mass);
};
if (_collisionCallback != null){
_collisionCallback(_local6);
};
};
};
};
};
}
public function addBallCollider(_arg1:GravityBallLogic):void{
_ballColliders.push(_arg1);
}
public function get launchVector():Vector{
var _local1:Number;
if (_orbitDelta > 0){
_local1 = 1;
} else {
_local1 = -1;
};
var _local2:Vector = new Vector(1, 0);
_local2.rotateDegreesEquals((((_orbitAngle + (_local1 * 90)) * Math.PI) / 180));
return (_local2);
}
public function get orbiting():Boolean{
return (_orbiting);
}
public function removeBallCollider(_arg1:GravityBallLogic):void{
var _local2:Number = _ballColliders.indexOf(_arg1);
if (_local2 != -1){
_ballColliders.splice(_local2, 1);
};
}
public function get launchAngle():Number{
var _local1:Number;
if (_orbitDelta > 0){
_local1 = 1;
} else {
_local1 = -1;
};
return ((_orbitAngle + (_local1 * 90)));
}
public function set orbitChild(_arg1:GravityBallLogic):void{
_orbitChild = _arg1;
}
public function collidedWithBall(_arg1:GravityBallLogic):Boolean{
var _local2:Number;
var _local3:Vector;
var _local4:Vector;
if (pos.distance(_arg1.pos) <= (radius + _arg1.radius)){
if (((((isParentOrbiter) && (!(_arg1.isParentOrbiter)))) && (_arg1.canBeSatellite))){
_local2 = 1;
if (_arg1.orbiting){
_local3 = _arg1.orbitParent.pos.minus(pos).normalize();
_local4 = _arg1.pos.minus(pos).normalize();
_local2 = ((_local3.cross(_local4) > 0)) ? 1 : -1;
};
_arg1.orbitAround(this, _local2);
};
return (true);
};
return (false);
}
public function repelCompetence(_arg1:Number=10):void{
var _local2:GravityBallLogic;
var _local3:Vector;
var _local4:Number;
var _local5:Number;
for each (_local2 in _ballColliders) {
if (_local2.isParentOrbiter){
_local3 = pos.minus(_local2.pos);
_local4 = _local3.magnitude();
_local5 = ((-(_arg1) * G) * ((this.mass * _local2.mass) / (_local4 * _local4)));
_local3.normalizeEquals();
_local3.multEquals(_local5);
if (((((getTimer() - _lastRepelTime) > 200)) || ((_lastRepelTime == -1)))){
SFX.getSingleton().maskedExplode(container, container.bmpBase, IMG.getSingleton().getBitmapData(IMG.MASKED_EXPLODE), 5, 2, 0, 0);
_lastRepelTime = getTimer();
};
_local2.vel.plusEquals(_local3);
};
};
}
public function get orbitChild():GravityBallLogic{
return (_orbitChild);
}
public function get angularVelMagnitude():Number{
return (Math.abs(_orbitDelta));
}
public function releaseFromOrbit(_arg1:Number):void{
var _local2:Number;
_orbiting = false;
if (_arg1 == 0){
return;
};
if (!inmobile){
_local2 = (Math.abs(_orbitDelta) * _orbitRadius);
vel = launchVector;
vel.multEquals((((_arg1 * Math.abs(_orbitDelta)) * _orbitRadius) / 300));
vel.plusEquals(_orbitParent.vel);
};
}
public function addBoxCollider(_arg1:Rectangle):void{
_boxColliders.push(_arg1);
}
}
}//package ShooterLib.Unit
Section 218
//GravityBallSprite (ShooterLib.Unit.GravityBallSprite)
package ShooterLib.Unit {
import flash.display.*;
import flash.geom.*;
import ShooterLib.Base.*;
public class GravityBallSprite extends Sprite {
protected var _movementSpeed:Number;// = 80
protected var _moveForce:Vector;
protected var _ballLogic:GravityBallLogic;
protected var _auxRotation:Number;// = 0
protected var _auxVector:Vector;
protected var _blurVector:Vector;
protected var _auxMatrix:Matrix;
protected var _vectorUnity:Vector;
protected var _bmpBase:BitmapData;
protected var _rotates:Boolean;
protected var _affectors:Array;
public function GravityBallSprite(_arg1:BitmapData){
_vectorUnity = new Vector(1, 0);
super();
_bmpBase = _arg1;
_auxMatrix = new Matrix();
_auxMatrix.translate((-(_bmpBase.width) / 2), (-(_bmpBase.height) / 2));
graphics.beginBitmapFill(_bmpBase, _auxMatrix);
graphics.drawRect((-(_bmpBase.width) / 2), (-(_bmpBase.height) / 2), _bmpBase.width, _bmpBase.height);
graphics.endFill();
_rotates = false;
}
public function get posX():Number{
return (_ballLogic.pos.x);
}
public function get posY():Number{
return (_ballLogic.pos.y);
}
public function addAffector(_arg1:GravityBallSprite):void{
_affectors.push(_arg1.logic);
}
public function update(_arg1:Boolean, _arg2:Boolean, _arg3:Boolean, _arg4:Boolean, _arg5:Boolean, _arg6:Number, _arg7:Number):void{
var _local8:GravityBallLogic;
_moveForce.setTo(0, 0);
if (_arg1){
_moveForce.y = (_moveForce.y - _movementSpeed);
};
if (_arg2){
_moveForce.y = (_moveForce.y + _movementSpeed);
};
if (_arg3){
_moveForce.x = (_moveForce.x - _movementSpeed);
};
if (_arg4){
_moveForce.x = (_moveForce.x + _movementSpeed);
};
_ballLogic.resetAppliedForce();
for each (_local8 in _affectors) {
_ballLogic.attractBy(_local8);
};
_ballLogic.addForce(_moveForce);
_ballLogic.update();
this.x = _ballLogic.pos.x;
this.y = _ballLogic.pos.y;
if (_arg5){
_ballLogic.shoot();
};
}
public function addBallCollider(_arg1:GravityBallSprite):void{
_ballLogic.addBallCollider(_arg1.logic);
}
public function get pos():Vector{
return (_ballLogic.pos);
}
public function addBoxCollider(_arg1:Rectangle):void{
_ballLogic.addBoxCollider(_arg1);
}
public function init(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false, _arg8:Boolean=false, _arg9:Boolean=false):void{
_moveForce = new Vector();
_auxVector = new Vector();
_affectors = new Array();
_blurVector = new Vector();
_movementSpeed = _arg4;
this.x = _arg1;
this.y = _arg2;
_ballLogic = new GravityBallLogic(_arg1, _arg2, _arg3, (_bmpBase.width / 2), _arg7, _arg8, _arg9);
_ballLogic.shootPower = _arg6;
_ballLogic.dragCoeff = _arg5;
_ballLogic.container = this;
}
public function set autoRotate(_arg1:Boolean):void{
_rotates = _arg1;
}
public function removeAffector(_arg1:GravityBallSprite):void{
var _local2:Number = _affectors.indexOf(_arg1);
if (_local2 != -1){
_affectors.splice(_local2, 1);
};
}
public function paint():void{
if (_rotates){
rotation = (rotation - ((_ballLogic.vel.magnitude() * _ballLogic.vel.cross(_vectorUnity)) / 2));
};
}
public function get logic():GravityBallLogic{
return (_ballLogic);
}
public function resetAffectors():void{
_affectors = [];
}
public function set collisionCallback(_arg1:Function):void{
_ballLogic.collisionCallback = _arg1;
}
public function get bmpBase():BitmapData{
return (_bmpBase);
}
public function removeBallCollider(_arg1:GravityBallSprite):void{
_ballLogic.removeBallCollider(_arg1.logic);
}
}
}//package ShooterLib.Unit
Section 219
//State (StateLib.State)
package StateLib {
import flash.events.*;
import com.tracker.*;
import flash.display.*;
import flash.net.*;
import caurina.transitions.*;
public class State {
protected var _parent:Sprite;
protected var _nextState:State;
public static const NEXT:int = 0;
public static const PREVIOUS:int = 1;
public static const NEXT_AND_DESTROY:int = 4;
public static const EXIT:int = 2;
public static const CONTINUE:int = 3;
public function mouseUp(_arg1:MouseEvent):void{
}
public function keyUp(_arg1:KeyboardEvent):void{
}
public function hide():void{
}
protected function fadeIn(_arg1:Array):void{
var _local2:Sprite;
for each (_local2 in _arg1) {
if (_local2 != null){
_local2.visible = true;
_local2.alpha = 0;
Tweener.addTween(_local2, {alpha:1, time:StateManager.TRANSITION_TIME});
};
};
}
public function get nextState():State{
return (_nextState);
}
public function mouseDown(_arg1:MouseEvent):void{
}
public function keyDown(_arg1:KeyboardEvent):void{
}
public function update():int{
return (CONTINUE);
}
protected function fadeOutAndRemove(_arg1:Array):void{
var object:Sprite;
var objects = _arg1;
for each (object in objects) {
if (object != null){
try {
_parent.removeChild((object as Sprite));
} catch(error:ArgumentError) {
trace(error);
};
};
};
}
public function init(_arg1:Sprite):void{
_parent = _arg1;
}
protected function playMoreGames():void{
var _local1:URLRequest = new URLRequest("http://googamez.com?ref=GravityFootball2");
navigateToURL(_local1, "_blank");
if (DEF.GOOGLE_ANALYTICS){
GoogleTracker.getSingleton().trackPageview("/playMoreGames");
};
}
protected function goToIlMareGames():void{
var _local1:URLRequest = new URLRequest("http://www.ilmaregames.com.ar?ref=GravityFootball2");
navigateToURL(_local1);
if (DEF.GOOGLE_ANALYTICS){
GoogleTracker.getSingleton().trackPageview("/goToIlMareGames");
};
}
public function mouseMove(_arg1:MouseEvent):void{
}
protected function fadeOut(_arg1:Array):void{
var object:Sprite;
var objects = _arg1;
for each (object in objects) {
if (object != null){
Tweener.addTween(object, {alpha:0, time:StateManager.TRANSITION_TIME, onComplete:function ():void{
object.visible = false;
}});
};
};
}
public function destroy():void{
}
public function show():void{
}
public function paint():void{
}
}
}//package StateLib
Section 220
//StateManager (StateLib.StateManager)
package StateLib {
import flash.events.*;
import com.tracker.*;
import flash.display.*;
import States.*;
public class StateManager {
private var _parent:Sprite;
private var _stateStack:Array;
private var _state:State;
public static const TRANSITION_TIME:Number = 0.5;
public function StateManager(_arg1:Sprite){
_parent = _arg1;
_stateStack = new Array();
_state = new StateMenu();
_state.init(_parent);
_state.show();
}
public function mouseUp(_arg1:MouseEvent):void{
_state.mouseUp(_arg1);
}
public function keyDown(_arg1:KeyboardEvent):void{
_state.keyDown(_arg1);
}
public function mouseDown(_arg1:MouseEvent):void{
_state.mouseDown(_arg1);
}
public function update():void{
var _local1:State;
switch (_state.update()){
case State.CONTINUE:
break;
case State.PREVIOUS:
_state.destroy();
_state = (_stateStack.pop() as State);
_state.show();
if (DEF.GOOGLE_ANALYTICS){
GoogleTracker.getSingleton().trackClass(_state);
};
break;
case State.NEXT:
_local1 = _state;
_state = _local1.nextState;
_state.init(_parent);
_state.show();
_local1.hide();
_stateStack.push(_local1);
if (DEF.GOOGLE_ANALYTICS){
GoogleTracker.getSingleton().trackClass(_state);
};
break;
case State.NEXT_AND_DESTROY:
_local1 = _state;
_state = _local1.nextState;
_stateStack.push(_local1);
for each (_local1 in _stateStack) {
_local1.destroy();
};
_stateStack = new Array();
_state.init(_parent);
_state.show();
if (DEF.GOOGLE_ANALYTICS){
GoogleTracker.getSingleton().trackClass(_state);
};
break;
case State.EXIT:
break;
};
}
public function keyUp(_arg1:KeyboardEvent):void{
_state.keyUp(_arg1);
}
public function mouseMove(_arg1:MouseEvent):void{
_state.mouseMove(_arg1);
}
public function paint():void{
_state.paint();
}
}
}//package StateLib
Section 221
//StateAbout (States.StateAbout)
package States {
import flash.display.*;
import StateLib.*;
import flash.text.*;
import GenericUILib.*;
import flash.filters.*;
public class StateAbout extends StateMenu {
private static const FONT_SIZE:Number = 26;
private static const OPTION_MAIN_MENU:Number = 0;
private static const VERT_MARGIN:Number = 30;
private static const OPTION_ILMAREGAMES:Number = 1;
private static const FONT:String = "abadi";
public function StateAbout(){
_options = new Array({image:IMG.MENU_MAIN_MENU, x:320, y:430, returnValue:OPTION_MAIN_MENU});
}
override public function init(_arg1:Sprite):void{
var _local4:Object;
var _local5:TextField;
var _local6:TextFormat;
_parent = _arg1;
_menu = new GenericMenu(_options, IMG.getSingleton().getBitmap(IMG.ABOUT_BACKGROUND), IMG.getSingleton().getBitmap(IMG.MENU_BACKGROUND));
_parent.addChild(_menu);
_menu.show();
var _local2:GlowFilter = new GlowFilter(0xFFFFFF, 1, 2, 2, 2, 1, false);
var _local3:Number = 0;
for each (_local4 in DEF.ABOUT_TEXT) {
_local5 = new TextField();
_local6 = new TextFormat(FONT, FONT_SIZE);
_local6.align = "center";
_local6.color = _local4.color;
_local5.embedFonts = true;
_local5.defaultTextFormat = _local6;
_local5.selectable = false;
_local5.autoSize = "center";
if (_local4.url){
_local5.htmlText = (((("<a href='" + _local4.string) + "'>") + _local4.string) + "</a>");
} else {
_local5.text = _local4.string;
};
_local5.x = ((DEF.SCREEN_WIDTH / 2) - (_local5.width / 2));
_local5.y = ((VERT_MARGIN * 1.3) + _local3);
_local5.filters = [_local2];
_menu.addChild(_local5);
_local3 = (_local3 + (FONT_SIZE * 1.1));
};
}
override public function update():int{
switch (_menu.update()){
case OPTION_MAIN_MENU:
return (State.PREVIOUS);
};
return (State.CONTINUE);
}
}
}//package States
Section 222
//StateContinueSeasonMenu (States.StateContinueSeasonMenu)
package States {
import flash.display.*;
import StateLib.*;
import flash.text.*;
import Tournament.*;
public class StateContinueSeasonMenu extends StateMenu {
private var _timeText:TextField;
private var _difficultyOptions:Array;
private var _currentTime:Number;// = 0
private var _timeDescText:TextField;
private var _difficultyTexts:Array;
private var _currentDifficulty:Number;// = 0
private var _difficultyText:TextField;
private var _difficultyDescText:TextField;
private var _timeOptions:Array;
private static const OPTION_LESS_TIME:Number = 3;
private static const OPTION_MORE_DIFFICULTY:Number = 6;
private static const OPTION_MORE_TIME:Number = 4;
private static const OPTION_BACK:Number = 2;
private static const OPTION_LESS_DIFFICULTY:Number = 5;
private static const OPTION_CONTINUE:Number = 0;
private static const OPTION_NEW_GAME:Number = 1;
private static const OPTIONS_X:Number = 435;
public function StateContinueSeasonMenu(){
_difficultyTexts = ["easy", "normal", "hard"];
super();
_options = new Array({image:IMG.MENU_CONTINUE, x:200, y:270, returnValue:OPTION_CONTINUE, hint:"Continue your current World Cup"}, {image:IMG.MENU_NEW_SEASON, x:200, y:230, returnValue:OPTION_NEW_GAME, hint:"Start a new World Cup"}, {image:IMG.MENU_LESS, x:OPTIONS_X, y:270, returnValue:OPTION_LESS_TIME, hint:"Decrease the match time"}, {image:IMG.MENU_MORE, x:(OPTIONS_X + 160), y:270, returnValue:OPTION_MORE_TIME, hint:"Increase the match time"}, {image:IMG.MENU_LESS, x:OPTIONS_X, y:370, returnValue:OPTION_LESS_DIFFICULTY, hint:"Decrease the difficulty level"}, {image:IMG.MENU_MORE, x:(OPTIONS_X + 160), y:370, returnValue:OPTION_MORE_DIFFICULTY, hint:"Increase the difficulty level"}, {image:IMG.MENU_BACK, x:200, y:390, returnValue:OPTION_BACK});
_timeOptions = [1, 2, 5, 10, 20];
_difficultyOptions = [DifficultManager.LEVEL_EASY, DifficultManager.LEVEL_MEDIUM, DifficultManager.LEVEL_HARD];
_currentTime = OptionsManager.getSingleton().matchTimeIndex;
_currentDifficulty = DifficultManager.instance.level;
}
private function updateMatchTime():void{
if (_currentTime < 0){
_currentTime = (_timeOptions.length - 1);
};
if (_currentTime >= _timeOptions.length){
_currentTime = 0;
};
OptionsManager.getSingleton().matchTime = _timeOptions[_currentTime];
OptionsManager.getSingleton().matchTimeIndex = _currentTime;
_timeText.text = (_timeOptions[_currentTime] + " min");
}
override public function update():int{
if (!MatchManager.getSingleton().hasSavedSeason()){
_menu.hideItem(0);
};
switch (_menu.update()){
case OPTION_NEW_GAME:
MatchManager.getSingleton().setType(MatchManager.TYPE_SEASON);
_nextState = new StateSelectTeam();
return (State.NEXT);
case OPTION_BACK:
return (State.PREVIOUS);
case OPTION_CONTINUE:
if (MatchManager.getSingleton().load()){
_nextState = new StateScheduleInfo();
return (State.NEXT);
};
case OPTION_LESS_TIME:
_currentTime--;
updateMatchTime();
break;
case OPTION_MORE_TIME:
_currentTime++;
updateMatchTime();
break;
case OPTION_LESS_DIFFICULTY:
_currentDifficulty--;
updateDifficulty();
break;
case OPTION_MORE_DIFFICULTY:
_currentDifficulty++;
updateDifficulty();
break;
};
return (State.CONTINUE);
}
override public function init(_arg1:Sprite):void{
super.init(_arg1);
_timeDescText = createTextField("center");
_timeDescText.x = OPTIONS_X;
_timeDescText.y = (230 - 20);
_timeDescText.width = 160;
_timeDescText.height = 40;
_timeDescText.text = "Match Time";
_menu.addChild(_timeDescText);
_timeText = createTextField("center");
_timeText.x = (OPTIONS_X + 20);
_timeText.y = (270 - 20);
_timeText.width = 120;
_timeText.height = 40;
_menu.addChild(_timeText);
updateMatchTime();
_difficultyDescText = createTextField("center");
_difficultyDescText.x = OPTIONS_X;
_difficultyDescText.y = (330 - 20);
_difficultyDescText.width = 160;
_difficultyDescText.height = 40;
_difficultyDescText.text = "Difficulty";
_menu.addChild(_difficultyDescText);
_difficultyText = createTextField("center");
_difficultyText.x = (OPTIONS_X + 20);
_difficultyText.y = (370 - 20);
_difficultyText.width = 120;
_difficultyText.height = 40;
_menu.addChild(_difficultyText);
updateDifficulty();
}
private function updateDifficulty():void{
if (_currentDifficulty < 0){
_currentDifficulty = (_difficultyOptions.length - 1);
};
if (_currentDifficulty >= _difficultyOptions.length){
_currentDifficulty = 0;
};
DifficultManager.instance.level = _currentDifficulty;
_difficultyText.text = _difficultyTexts[_currentDifficulty];
}
}
}//package States
Section 223
//StateGame (States.StateGame)
package States {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import ShooterLib.Unit.*;
import ShooterLib.Base.*;
import StateLib.*;
import flash.text.*;
import Teams.*;
import SFXLib.*;
import Tournament.*;
import de.polygonal.ds.*;
import com.gskinner.geom.*;
import ShooterLib.AI.*;
import GenericUILib.*;
import ShooterLib.Shootable.*;
import org.flintparticles.twoD.renderers.*;
import caurina.transitions.*;
import flash.filters.*;
import flash.ui.*;
public class StateGame extends State {
protected var _rightPlayerAI:BaseSportAI;
protected var _playerIndicatorDelta:Number;// = 1
protected var _topPanel:Sprite;
protected var _clock:CircularFilledClock;
protected var _areaRight:GravityBallSprite;
protected var _down2Pressed:Boolean;// = false
protected var _menuButton:GenericButton;
protected var _leftSatellites:Array;
protected var _frontCanvas:Sprite;
protected var _rightPlayerData:Object;
protected var _mouse2Pressed:Boolean;// = false
protected var _deltaRadial:Number;// = 0
protected var _down1Pressed:Boolean;// = false
protected var _blurCanvas:Sprite;
protected var _trailCanvas:Sprite;
protected var paperRain:PaperRain;
protected var _rightScoreText:TextField;
protected var _rightBackup:GravityBallSprite;
protected var _leftBackup:GravityBallSprite;
protected var _leftFinalScore:TextField;
protected var _leftGoalkeeper:GravityBallSprite;
protected var _leftScore:Number;// = 0
protected var _mouse1Pressed:Boolean;// = false
protected var _arrowHelper:Sprite;
protected var _rightPlayer:GravityBallSprite;
protected var _rightHasBackup:Boolean;// = false
protected var _secondHalf:Boolean;// = false
protected var _leftPlayer:GravityBallSprite;
protected var _rightLogo:Sprite;
protected var _leftBackupAI:BaseSportAI;
protected var _rightScore:Number;// = 0
protected var _left2Pressed:Boolean;// = false
protected var particleRenderer:DisplayObjectRenderer;
protected var _controlsActive:Boolean;// = false
protected var _tutorialCanvas:Sprite;
protected var _backgroundCanvas:Sprite;
protected var _leftTeamName:TextField;
protected var _rightScored:Boolean;// = false
protected var _state:Number;
protected var _rightSatellites:Array;
protected var _leftScoreText:TextField;
protected var _areaLeft:GravityBallSprite;
protected var _leftScored:Boolean;// = false
protected var _left1Pressed:Boolean;// = false
protected var _rightBackupAI:BaseSportAI;
protected var _right2Pressed:Boolean;// = false
protected var _leftLogo:Sprite;
protected var _leftHasBackup:Boolean;// = false
protected var _resetPositionsState:Number;// = 0
protected var _leftPlayerData:Object;
protected var _rightFinalScore:TextField;
protected var _targetMousePoint:Point;
protected var _rightGoalkeeper:GravityBallSprite;
protected var _rightTeamName:TextField;
protected var _boundingBox:Rectangle;
protected var _up2Pressed:Boolean;// = false
protected var _leftPlayerAI:BaseSportAI;
protected var _anyKeyPressed:Boolean;// = false
protected var _right1Pressed:Boolean;// = false
protected var _activeControlsStates:Array;
protected var _ball:GravityBallSprite;
protected var _obstacleCanvas:Sprite;
protected var _up1Pressed:Boolean;// = false
protected var _playerIndicator:Sprite;
protected var _ballTrail:ArrayedQueue;
protected static const STATE_GAME:Number = 0;
protected static const STATE_GOAL:Number = 3;
protected static const STATE_GAME_END:Number = 4;
protected static const STATE_INIT_TIME:Number = 2;
protected static const STATE_INIT_GAME:Number = 5;
protected static const TRAIL_COUNT:Number = 9;
protected static const STATE_INTER_TIME:Number = 1;
protected static const STATE_WAITING:Number = 6;
public function StateGame(){
_activeControlsStates = [STATE_GAME];
super();
}
protected function removeTutorialCanvas():void{
if (_tutorialCanvas != null){
_backgroundCanvas.removeChild(_tutorialCanvas);
};
_tutorialCanvas = null;
}
protected function resetToCenterPositions():Boolean{
var _local1:Vector = new Vector();
var _local2:Boolean;
var _local3:Boolean;
var _local4:Boolean;
_local1.setTo((DEF.MAP_WIDTH / 2), (DEF.MAP_HEIGHT / 3));
_local2 = BaseSportAI.commandToPoint(_leftPlayer, _local1, 10);
_local1.setTo((DEF.MAP_WIDTH / 2), ((2 * DEF.MAP_HEIGHT) / 3));
_local3 = BaseSportAI.commandToPoint(_rightPlayer, _local1, 10);
_local1.setTo((DEF.MAP_WIDTH / 2), (DEF.MAP_HEIGHT / 2));
_local4 = BaseSportAI.commandToPoint(_ball, _local1, 70);
if (_leftHasBackup){
_local1.setTo((DEF.MAP_WIDTH / 2), ((DEF.MAP_HEIGHT / 3) - 50));
_local2 = ((BaseSportAI.commandToPoint(_leftBackup, _local1, 10)) && (_local2));
};
if (_rightHasBackup){
_local1.setTo((DEF.MAP_WIDTH / 2), (((2 * DEF.MAP_HEIGHT) / 3) + 50));
_local3 = ((BaseSportAI.commandToPoint(_rightBackup, _local1, 10)) && (_local3));
};
return (((((_local2) && (_local3))) && (_local4)));
}
protected function leftBackupCallback(_arg1:GravityBallLogic):void{
if (((!((_arg1 == _areaRight.logic))) && (!((_arg1 == _areaLeft.logic))))){
MediaPlayer.getSingleton().play(MediaPlayer.SND_INGAME_SHOCK);
};
if (_arg1 == _rightPlayer.logic){
_leftBackup.logic.repelCompetence((_leftPlayerData.shoot / 2));
return;
};
}
override public function mouseMove(_arg1:MouseEvent):void{
if (DEF.MOUSE_CONTROL){
if (((MatchManager.getSingleton().rightAIControlled) || (MatchManager.getSingleton().leftAIControlled))){
_targetMousePoint.x = _arg1.stageX;
_targetMousePoint.y = (_arg1.stageY - (DEF.SCREEN_HEIGHT - DEF.MAP_HEIGHT));
};
};
}
protected function createLCDScreens():void{
var _local1:TextFormat = new TextFormat("lcd", 40);
_local1.align = "right";
_local1.color = 0xEEEEEE;
var _local2:BitmapFilter = new GlowFilter(0, 1, 2, 2, 2, 1, false);
_leftScoreText = new TextField();
_leftScoreText.selectable = false;
_leftScoreText.x = DEF.LEFT_SCORE_X;
_leftScoreText.y = DEF.LEFT_SCORE_Y;
_leftScoreText.width = DEF.PANEL_SCORE_WIDTH;
_leftScoreText.height = DEF.PANEL_SCORE_HEIGHT;
_leftScoreText.alpha = 0.8;
_leftScoreText.embedFonts = true;
_leftScoreText.defaultTextFormat = _local1;
_leftScoreText.filters = [_local2];
_topPanel.addChild(_leftScoreText);
_rightScoreText = new TextField();
_rightScoreText.selectable = false;
_rightScoreText.x = DEF.RIGHT_SCORE_X;
_rightScoreText.y = DEF.RIGHT_SCORE_Y;
_rightScoreText.width = DEF.PANEL_SCORE_WIDTH;
_rightScoreText.height = DEF.PANEL_SCORE_HEIGHT;
_rightScoreText.alpha = 0.8;
_rightScoreText.embedFonts = true;
_rightScoreText.defaultTextFormat = _local1;
_rightScoreText.filters = [_local2];
_topPanel.addChild(_rightScoreText);
_leftScoreText.text = "0";
_leftScore = 0;
_rightScoreText.text = "0";
_rightScore = 0;
}
override public function init(_arg1:Sprite):void{
var _local8:Matrix;
var _local9:BitmapData;
var _local10:Object;
var _local11:GravityBallSprite;
super.init(_arg1);
MediaPlayer.getSingleton().stop(MediaPlayer.SND_INTRO);
_parent.y = (DEF.SCREEN_HEIGHT - DEF.MAP_HEIGHT);
_leftPlayerData = MatchManager.getSingleton().leftTeam;
_rightPlayerData = MatchManager.getSingleton().rightTeam;
var _local2:Number = 0;
var _local3:Number = 10;
var _local4:Number = 10;
_backgroundCanvas = new Sprite();
_backgroundCanvas.graphics.beginBitmapFill(IMG.getSingleton().getBitmapData(IMG.BACKGROUND));
_backgroundCanvas.graphics.drawRect(0, 0, DEF.MAP_WIDTH, DEF.MAP_HEIGHT);
_backgroundCanvas.graphics.endFill();
_backgroundCanvas.graphics.beginBitmapFill(IMG.getSingleton().getBitmapData(IMG[("BACKGROUND_MASK_" + _leftPlayerData.backgroundMask)]));
_backgroundCanvas.graphics.drawRect(0, 0, DEF.MAP_WIDTH, DEF.MAP_HEIGHT);
_backgroundCanvas.graphics.endFill();
_trailCanvas = new Sprite();
_backgroundCanvas.addChild(_trailCanvas);
if (OptionsManager.getSingleton().showTutorial){
_tutorialCanvas = new Sprite();
_backgroundCanvas.addChild(_tutorialCanvas);
_local9 = IMG.getSingleton().getBitmapData(IMG.TUTORIAL_KEYS);
_local8 = new Matrix();
_local8.translate(((DEF.MAP_WIDTH / 2) - (_local9.width / 2)), ((DEF.MAP_HEIGHT / 2) - (_local9.height / 2)));
_tutorialCanvas.graphics.beginBitmapFill(_local9, _local8);
_tutorialCanvas.graphics.drawRect(((DEF.MAP_WIDTH / 2) - (_local9.width / 2)), ((DEF.MAP_HEIGHT / 2) - (_local9.height / 2)), _local9.width, _local9.height);
};
_parent.addChild(_backgroundCanvas);
_obstacleCanvas = new Sprite();
_parent.addChild(_obstacleCanvas);
_frontCanvas = new Sprite();
_parent.addChild(_frontCanvas);
createInterface();
if (DEF.USE_SATELLITES){
_leftSatellites = new Array();
for each (_local10 in _leftPlayerData.satellites) {
_local11 = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG[(_leftPlayerData.graphicSet + "_DEFENDER")]));
_leftSatellites.push(_local11);
_backgroundCanvas.addChild(_local11);
};
_rightSatellites = new Array();
for each (_local10 in _rightPlayerData.satellites) {
_local11 = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG[(_rightPlayerData.graphicSet + "_DEFENDER")]));
_rightSatellites.push(_local11);
_backgroundCanvas.addChild(_local11);
};
};
_rightPlayer = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG[(_rightPlayerData.graphicSet + "_ATTACKER")]));
_rightBackup = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG[(_rightPlayerData.graphicSet + "_ATTACKER")]));
_rightGoalkeeper = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG[(_rightPlayerData.graphicSet + "_GOALKEEPER")]));
_leftPlayer = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG[(_leftPlayerData.graphicSet + "_ATTACKER")]));
_leftBackup = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG[(_leftPlayerData.graphicSet + "_ATTACKER")]));
_leftGoalkeeper = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG[(_leftPlayerData.graphicSet + "_GOALKEEPER")]));
initTeams();
_arrowHelper = new Sprite();
_local9 = IMG.getSingleton().getBitmapData(IMG.ARROW_HELPER);
_local8 = new Matrix();
_local8.translate(0, (-(_local9.height) / 2));
_arrowHelper.graphics.beginBitmapFill(_local9, _local8);
_arrowHelper.graphics.drawRect(0, (-(_local9.height) / 2), _local9.width, _local9.height);
_arrowHelper.graphics.endFill();
_arrowHelper.x = DEF.BALL_X;
_arrowHelper.x = DEF.BALL_Y;
_backgroundCanvas.addChild(_arrowHelper);
_backgroundCanvas.addChild(_rightGoalkeeper);
_backgroundCanvas.addChild(_leftGoalkeeper);
if (currentPlayer == _leftPlayer){
_backgroundCanvas.addChild(_rightPlayer);
if (_rightHasBackup){
_backgroundCanvas.addChild(_rightBackup);
};
_backgroundCanvas.addChild(_leftPlayer);
} else {
_backgroundCanvas.addChild(_leftPlayer);
if (_leftHasBackup){
_backgroundCanvas.addChild(_leftBackup);
};
_backgroundCanvas.addChild(_rightPlayer);
};
_ball = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG.BALL));
_ball.init(DEF.BALL_X, DEF.BALL_Y, 500, 100, 0.01, 0, false, true);
_ball.autoRotate = true;
_backgroundCanvas.addChild(_ball);
_ballTrail = new ArrayedQueue(TRAIL_COUNT);
var _local5:Number = 0;
while (_local5 < TRAIL_COUNT) {
_ballTrail.enqueue(new Vector(DEF.BALL_X, DEF.BALL_Y));
_local5++;
};
_areaLeft = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG.AREA));
_areaLeft.init(DEF.LEFT_GOALKEEPER_X, DEF.LEFT_GOALKEEKER_Y, 1, 0, 0, 0, false, false, true);
_backgroundCanvas.addChild(_areaLeft);
_areaRight = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG.AREA));
_areaRight.init(DEF.RIGHT_GOALKEEPER_X, DEF.RIGHT_GOALKEEPER_Y, 1, 0, 0, 0, false, false, true);
_backgroundCanvas.addChild(_areaRight);
_leftPlayerAI = new BaseSportAI(_leftPlayer, _ball.logic, _leftGoalkeeper.logic, _rightGoalkeeper.logic, _leftPlayerData.AIType);
if (_leftHasBackup){
_leftBackupAI = new BaseSportAI(_leftBackup, _ball.logic, _leftGoalkeeper.logic, _rightGoalkeeper.logic, ((_leftPlayerData.AIType)!=BaseSportAI.TYPE_DEFENSIVE) ? BaseSportAI.TYPE_DEFENSIVE : BaseSportAI.TYPE_AGGRESSIVE);
};
_rightPlayerAI = new BaseSportAI(_rightPlayer, _ball.logic, _rightGoalkeeper.logic, _leftGoalkeeper.logic, _rightPlayerData.AIType);
if (_rightHasBackup){
_rightBackupAI = new BaseSportAI(_rightBackup, _ball.logic, _rightGoalkeeper.logic, _leftGoalkeeper.logic, ((_rightPlayerData.AIType)!=BaseSportAI.TYPE_DEFENSIVE) ? BaseSportAI.TYPE_DEFENSIVE : BaseSportAI.TYPE_AGGRESSIVE);
};
_ball.addAffector(_leftGoalkeeper);
_ball.addAffector(_rightGoalkeeper);
_ball.addAffector(_rightPlayer);
_ball.addAffector(_leftPlayer);
if (_leftHasBackup){
_ball.addAffector(_leftBackup);
};
if (_rightHasBackup){
_ball.addAffector(_rightBackup);
};
if (DEF.USE_SATELLITES){
for each (_local11 in _leftSatellites) {
_ball.addAffector(_local11);
};
for each (_local11 in _rightSatellites) {
_ball.addAffector(_local11);
};
};
_rightPlayer.addAffector(_ball);
if (_rightHasBackup){
_rightBackup.addAffector(_ball);
};
_leftPlayer.addAffector(_ball);
if (_leftHasBackup){
_leftBackup.addAffector(_ball);
};
_ball.addBallCollider(_rightPlayer);
_ball.addBallCollider(_rightGoalkeeper);
if (_rightHasBackup){
_ball.addBallCollider(_rightBackup);
};
_ball.addBallCollider(_leftPlayer);
_ball.addBallCollider(_leftGoalkeeper);
if (_leftHasBackup){
_ball.addBallCollider(_leftBackup);
};
_rightPlayer.addBallCollider(_ball);
_rightPlayer.addBallCollider(_leftGoalkeeper);
_rightPlayer.addBallCollider(_rightGoalkeeper);
_rightPlayer.addBallCollider(_areaLeft);
_rightPlayer.addBallCollider(_areaRight);
_rightPlayer.addBallCollider(_leftPlayer);
if (_rightHasBackup){
_rightBackup.addBallCollider(_ball);
_rightBackup.addBallCollider(_leftGoalkeeper);
_rightBackup.addBallCollider(_rightGoalkeeper);
_rightBackup.addBallCollider(_areaLeft);
_rightBackup.addBallCollider(_areaRight);
_rightBackup.addBallCollider(_leftPlayer);
_leftPlayer.addBallCollider(_rightBackup);
};
_leftPlayer.addBallCollider(_ball);
_leftPlayer.addBallCollider(_leftGoalkeeper);
_leftPlayer.addBallCollider(_rightGoalkeeper);
_leftPlayer.addBallCollider(_areaLeft);
_leftPlayer.addBallCollider(_areaRight);
_leftPlayer.addBallCollider(_rightPlayer);
if (_leftHasBackup){
_leftBackup.addBallCollider(_ball);
_leftBackup.addBallCollider(_leftGoalkeeper);
_leftBackup.addBallCollider(_rightGoalkeeper);
_leftBackup.addBallCollider(_areaLeft);
_leftBackup.addBallCollider(_areaRight);
_leftBackup.addBallCollider(_leftPlayer);
_rightPlayer.addBallCollider(_leftBackup);
};
_areaLeft.addBallCollider(_rightPlayer);
_areaRight.addBallCollider(_rightPlayer);
_areaLeft.addBallCollider(_leftPlayer);
_areaRight.addBallCollider(_leftPlayer);
if (_leftHasBackup){
_areaLeft.addBallCollider(_leftBackup);
_areaRight.addBallCollider(_leftBackup);
};
if (_rightHasBackup){
_areaLeft.addBallCollider(_rightBackup);
_areaRight.addBallCollider(_rightBackup);
};
_ball.collisionCallback = ballCallback;
_leftPlayer.collisionCallback = leftPlayerCallback;
_rightPlayer.collisionCallback = rightPlayerCallback;
if (_leftHasBackup){
_leftBackup.collisionCallback = leftBackupCallback;
};
if (_rightHasBackup){
_rightBackup.collisionCallback = rightBackupCallback;
};
_boundingBox = new Rectangle(0, 0, DEF.MAP_WIDTH, DEF.MAP_HEIGHT);
Mobile.setBoundingBox(_boundingBox);
var _local6:Number = 100;
var _local7:Number = -90;
FixedObjects.init(_obstacleCanvas);
FixedObjects.add(new Rectangle(0, _local7, DEF.MAP_WIDTH, _local6));
FixedObjects.add(new Rectangle(0, (DEF.MAP_HEIGHT - (_local7 + _local6)), DEF.MAP_WIDTH, _local6));
FixedObjects.add(new Rectangle(_local7, 0, _local6, DEF.MAP_HEIGHT));
FixedObjects.add(new Rectangle((DEF.MAP_WIDTH - (_local7 + _local6)), 0, _local6, DEF.MAP_HEIGHT));
paperRain = new PaperRain();
particleRenderer = new DisplayObjectRenderer();
particleRenderer.addEmitter(paperRain);
_frontCanvas.addChild(particleRenderer);
_menuButton = new GenericButton(IMG.getSingleton().getBitmapData(IMG.MENU_PANEL_BUTTON), IMG.getSingleton().getBitmapData(IMG.MENU_PANEL_BUTTON), true);
_menuButton.x = 40;
_menuButton.y = -40;
_menuButton.visible = false;
_frontCanvas.addChild(_menuButton);
_playerIndicator = new Sprite();
_local8 = new Matrix();
_local9 = IMG.getSingleton().getBitmapData(IMG.PLAYER_INDICATOR);
_local8.translate((-(_local9.width) / 2), (-(_local9.height) / 2));
_playerIndicator.graphics.beginBitmapFill(_local9, _local8);
_playerIndicator.graphics.drawRect((-(_local9.width) / 2), (-(_local9.height) / 2), _local9.width, _local9.height);
_playerIndicator.y = -30;
if (((MatchManager.getSingleton().leftAIControlled) && (!(MatchManager.getSingleton().rightAIControlled)))){
_rightPlayer.addChild(_playerIndicator);
} else {
if (((!(MatchManager.getSingleton().leftAIControlled)) && (MatchManager.getSingleton().rightAIControlled))){
_leftPlayer.addChild(_playerIndicator);
};
};
_secondHalf = false;
setState(STATE_INIT_GAME);
_frontCanvas.visible = false;
_backgroundCanvas.visible = false;
_targetMousePoint = new Point((DEF.MAP_WIDTH / 2), (DEF.MAP_HEIGHT / 2));
}
override public function mouseUp(_arg1:MouseEvent):void{
super.mouseUp(_arg1);
_mouse1Pressed = (_mouse2Pressed = false);
}
protected function leftPlayerCallback(_arg1:GravityBallLogic):void{
if (((!((_arg1 == _areaRight.logic))) && (!((_arg1 == _areaLeft.logic))))){
MediaPlayer.getSingleton().play(MediaPlayer.SND_INGAME_SHOCK);
};
if (_arg1 == _rightPlayer.logic){
_leftPlayer.logic.repelCompetence((_leftPlayerData.shoot / 2));
return;
};
}
protected function onPlayerMouseOut(_arg1:MouseEvent):void{
var _local2:GravityBallSprite = (_arg1.target as GravityBallSprite);
_local2.stopDrag();
var _local3:ColorMatrix = new ColorMatrix();
_local3.adjustSaturation(-100);
var _local4:ColorMatrixFilter = new ColorMatrixFilter(_local3);
_local2.filters = [_local4];
}
protected function deactivateControls(_arg1:GravityBallSprite):void{
if (!_controlsActive){
return;
};
_arg1.stopDrag();
_arg1.filters = [];
_arg1.removeEventListener(MouseEvent.MOUSE_OVER, onPlayerMouseOver);
_arg1.removeEventListener(MouseEvent.MOUSE_OUT, onPlayerMouseOut);
_controlsActive = false;
}
public function setState(_arg1:Number):void{
var matrix:Matrix;
var delay:Number;
var player:GravityBallSprite;
var state = _arg1;
if (DEF.MOUSE_CONTROL){
if (_activeControlsStates.indexOf(state) >= 0){
activateControls(currentPlayer);
} else {
deactivateControls(currentPlayer);
};
};
switch (state){
case STATE_INIT_GAME:
_menuButton.visible = false;
matrix = new Matrix();
matrix.translate(0, -80);
_frontCanvas.graphics.beginBitmapFill(IMG.getSingleton().getBitmapData(IMG.PRE_MATCH_BACKGROUND), matrix);
_frontCanvas.graphics.drawRect(0, -80, DEF.SCREEN_WIDTH, DEF.SCREEN_HEIGHT);
_frontCanvas.graphics.endFill();
matrix.identity();
matrix.translate((160 - 25), ((220 - 80) - 25));
_frontCanvas.graphics.beginBitmapFill(IMG.getSingleton().getBitmapData(IMG[(_leftPlayerData.graphicSet + "_LOGO")]), matrix);
_frontCanvas.graphics.drawRect((160 - 25), ((220 - 80) - 25), 50, 50);
_frontCanvas.graphics.endFill();
matrix.identity();
matrix.translate((480 - 25), ((220 - 80) - 25));
_frontCanvas.graphics.beginBitmapFill(IMG.getSingleton().getBitmapData(IMG[(_rightPlayerData.graphicSet + "_LOGO")]), matrix);
_frontCanvas.graphics.drawRect((480 - 25), ((220 - 80) - 25), 50, 50);
_frontCanvas.graphics.endFill();
createTeamNames();
_frontCanvas.addChild(_leftTeamName);
_frontCanvas.addChild(_rightTeamName);
_leftTeamName.text = _leftPlayerData.name;
_rightTeamName.text = _rightPlayerData.name;
break;
case STATE_INIT_TIME:
_menuButton.visible = false;
GravityBallLogic.collisionsActivated = false;
paperRain.stop();
delay = 0;
if (_secondHalf){
delay = 2;
};
SFX.getSingleton().showFadingMessage(_frontCanvas, IMG.getSingleton().getBitmapData(IMG.MESSAGE_KICK_OFF), (DEF.MAP_WIDTH / 2), (DEF.MAP_HEIGHT / 2), 2, delay, function ():void{
setState(STATE_GAME);
_clock.start();
});
break;
case STATE_INTER_TIME:
_menuButton.visible = false;
_ball.logic.releaseFromOrbit(0);
_ball.logic.stop();
GravityBallLogic.collisionsActivated = false;
_resetPositionsState = 0;
if (_secondHalf){
MediaPlayer.getSingleton().play(MediaPlayer.SND_INGAME_WHISTLE);
SFX.getSingleton().showFadingMessage(_frontCanvas, IMG.getSingleton().getBitmapData(IMG.MESSAGE_FINAL_WHISTLE), (DEF.MAP_WIDTH / 2), (DEF.MAP_HEIGHT / 2), 2, 0, function ():void{
setState(STATE_GAME_END);
});
} else {
_secondHalf = true;
MediaPlayer.getSingleton().play(MediaPlayer.SND_INGAME_WHISTLE);
SFX.getSingleton().showFadingMessage(_frontCanvas, IMG.getSingleton().getBitmapData(IMG.MESSAGE_TIME_UP), (DEF.MAP_WIDTH / 2), (DEF.MAP_HEIGHT / 2), 2, 0, function ():void{
SFX.getSingleton().showFadingMessage(_frontCanvas, IMG.getSingleton().getBitmapData(IMG.MESSAGE_SECOND_HALF), (DEF.MAP_WIDTH / 2), (DEF.MAP_HEIGHT / 2), 2, 0);
});
if (OptionsManager.getSingleton().showTutorial){
Tweener.addTween(_tutorialCanvas, {time:2, alpha:0, onComplete:removeTutorialCanvas});
OptionsManager.getSingleton().showTutorial = false;
};
};
break;
case STATE_GAME:
_menuButton.visible = true;
GravityBallLogic.collisionsActivated = true;
MediaPlayer.getSingleton().play(MediaPlayer.SND_INGAME_WHISTLE);
if (DEF.MOUSE_CONTROL){
player = currentPlayer;
_targetMousePoint.x = player.x;
_targetMousePoint.y = player.y;
};
break;
case STATE_GOAL:
_menuButton.visible = false;
_ball.logic.releaseFromOrbit(0);
_ball.logic.stop();
_clock.pause();
MediaPlayer.getSingleton().play(MediaPlayer.SND_INGAME_GOAL);
SFX.getSingleton().showFadingMessage(_frontCanvas, IMG.getSingleton().getBitmapData(IMG.MESSAGE_GOAL), (DEF.MAP_WIDTH / 2), (DEF.MAP_HEIGHT / 2), 2, 0);
paperRain.start();
particleRenderer.alpha = 1;
_resetPositionsState = 0;
GravityBallLogic.collisionsActivated = false;
break;
case STATE_GAME_END:
_menuButton.visible = false;
MediaPlayer.getSingleton().play(MediaPlayer.SND_INGAME_WHISTLE);
MediaPlayer.getSingleton().stop(MediaPlayer.SND_INGAME1, MediaPlayer.SND_INGAME5);
break;
};
_state = state;
}
override public function hide():void{
fadeOut([_backgroundCanvas, _frontCanvas, _obstacleCanvas, _blurCanvas]);
}
protected function createTeamNames():void{
var _local1:TextFormat = new TextFormat("lcd", 32);
_local1.align = "center";
_local1.color = 0xEEEEEE;
var _local2:GlowFilter = new GlowFilter(0, 1, 2, 2, 2, 1, false);
_leftTeamName = new TextField();
_leftTeamName.selectable = false;
_leftTeamName.x = 0;
_leftTeamName.y = (250 - 80);
_leftTeamName.width = (DEF.SCREEN_WIDTH / 2);
_leftTeamName.height = 30;
_leftTeamName.embedFonts = true;
_leftTeamName.defaultTextFormat = _local1;
_leftTeamName.filters = [_local2];
_rightTeamName = new TextField();
_rightTeamName.selectable = false;
_rightTeamName.x = (DEF.SCREEN_WIDTH / 2);
_rightTeamName.y = (250 - 80);
_rightTeamName.width = (DEF.SCREEN_WIDTH / 2);
_rightTeamName.height = 30;
_rightTeamName.embedFonts = true;
_rightTeamName.defaultTextFormat = _local1;
_rightTeamName.filters = [_local2];
}
protected function onPlayerMouseOver(_arg1:MouseEvent):void{
var _local2:GravityBallSprite = (_arg1.target as GravityBallSprite);
_local2.startDrag(true, new Rectangle(30, 20, (DEF.MAP_WIDTH - 60), (DEF.MAP_HEIGHT - 40)));
_local2.filters = [];
}
override public function keyUp(_arg1:KeyboardEvent):void{
super.keyUp(_arg1);
_anyKeyPressed = false;
if (((MatchManager.getSingleton().rightAIControlled) && (MatchManager.getSingleton().leftAIControlled))){
return;
};
if (((MatchManager.getSingleton().rightAIControlled) || (MatchManager.getSingleton().leftAIControlled))){
switch (_arg1.keyCode){
case Keyboard.UP:
case 87:
_up1Pressed = (_up2Pressed = false);
break;
case Keyboard.DOWN:
case 83:
_down1Pressed = (_down2Pressed = false);
break;
case Keyboard.LEFT:
case 65:
_left1Pressed = (_left2Pressed = false);
break;
case Keyboard.RIGHT:
case 68:
_right1Pressed = (_right2Pressed = false);
break;
case Keyboard.SPACE:
case Keyboard.ENTER:
_mouse1Pressed = (_mouse2Pressed = false);
break;
};
} else {
switch (_arg1.keyCode){
case Keyboard.UP:
_up1Pressed = false;
break;
case 87:
_up2Pressed = false;
break;
case Keyboard.DOWN:
_down1Pressed = false;
break;
case 83:
_down2Pressed = false;
break;
case Keyboard.LEFT:
_left1Pressed = false;
break;
case 65:
_left2Pressed = false;
break;
case Keyboard.RIGHT:
_right1Pressed = false;
break;
case 68:
_right2Pressed = false;
break;
case Keyboard.SPACE:
_mouse1Pressed = false;
break;
case Keyboard.ENTER:
_mouse2Pressed = false;
break;
};
};
}
protected function rightBackupCallback(_arg1:GravityBallLogic):void{
if (((!((_arg1 == _areaRight.logic))) && (!((_arg1 == _areaLeft.logic))))){
MediaPlayer.getSingleton().play(MediaPlayer.SND_INGAME_SHOCK);
};
if (_arg1 == _leftPlayer.logic){
_rightBackup.logic.repelCompetence((_rightPlayerData.shoot / 2));
return;
};
}
override public function paint():void{
var _local5:GravityBallSprite;
var _local6:BitmapData;
var _local7:Vector;
_playerIndicatorDelta = (_playerIndicatorDelta + 0.5);
_playerIndicator.y = (-26 + (Math.sin(_playerIndicatorDelta) * 2));
_playerIndicator.scaleX = (0.5 + (Math.cos(_playerIndicatorDelta) * 0.5));
var _local1:GravityBallSprite = currentPlayer;
if (DEF.MOUSE_CONTROL){
};
if (OptionsManager.getSingleton().showArrow){
if (((_ball.logic.orbiting) && ((_ball.logic.orbitParent == _local1.logic)))){
_arrowHelper.visible = true;
_arrowHelper.x = _ball.x;
_arrowHelper.y = _ball.y;
_arrowHelper.scaleX = (_ball.logic.launchMagnitude / 20);
_arrowHelper.rotation = _ball.logic.launchAngle;
} else {
_arrowHelper.visible = false;
};
};
_rightPlayer.paint();
_leftGoalkeeper.paint();
_ball.paint();
_deltaRadial = (_deltaRadial + 0.5);
SFX.getSingleton().radialGradient(_leftGoalkeeper, _leftPlayerData.goalkeeper, 3, _deltaRadial, _leftPlayerData.color);
SFX.getSingleton().radialGradient(_rightGoalkeeper, _rightPlayerData.goalkeeper, 3, _deltaRadial, _rightPlayerData.color);
if (DEF.USE_SATELLITES){
for each (_local5 in _leftSatellites) {
SFX.getSingleton().radialGradient(_local5, (_leftPlayerData.goalkeeper / 2), 3, (_deltaRadial / 10), _leftPlayerData.color, false, 1);
};
for each (_local5 in _rightSatellites) {
SFX.getSingleton().radialGradient(_local5, (_rightPlayerData.goalkeeper / 2), 3, (_deltaRadial / 10), _rightPlayerData.color, false, 1);
};
};
_clock.paint();
var _local2:Matrix = new Matrix();
_trailCanvas.graphics.clear();
var _local3:Iterator = _ballTrail.getIterator();
_local3.start();
var _local4:Number = 0;
while (_local3.hasNext()) {
_local6 = IMG.getSingleton().getBitmapData(IMG[("BALL_" + _local4)]);
_local7 = (_local3.data as Vector);
_local2.identity();
_local2.translate(((-(_local6.width) / 2) + _local7.x), ((-(_local6.height) / 2) + _local7.y));
_trailCanvas.graphics.beginBitmapFill(_local6, _local2);
_trailCanvas.graphics.drawRect(((-(_local6.width) / 2) + _local7.x), ((-(_local6.height) / 2) + _local7.y), _local6.width, _local6.height);
_trailCanvas.graphics.endFill();
_local3.next();
_local4++;
};
_ballTrail.dequeue();
_ballTrail.enqueue(new Vector(_ball.x, _ball.y));
}
protected function ballCallback(_arg1:GravityBallLogic):void{
var _local2:Number;
var _local3:Vector;
var _local4:Vector;
MediaPlayer.getSingleton().play(MediaPlayer.SND_INGAME_SHOCK);
if (_arg1 == _leftGoalkeeper.logic){
_rightScore++;
_rightScoreText.text = ("" + _rightScore);
if (((!(MatchManager.getSingleton().rightAIControlled)) && (OptionsManager.getSingleton().showTutorial))){
Tweener.addTween(_tutorialCanvas, {time:2, alpha:0, onComplete:removeTutorialCanvas});
OptionsManager.getSingleton().showTutorial = false;
};
_leftScored = false;
_rightScored = true;
setState(STATE_GOAL);
return;
};
if (_arg1 == _rightGoalkeeper.logic){
_leftScore++;
_leftScoreText.text = ("" + _leftScore);
if (((!(MatchManager.getSingleton().leftAIControlled)) && (OptionsManager.getSingleton().showTutorial))){
Tweener.addTween(_tutorialCanvas, {time:2, alpha:0, onComplete:removeTutorialCanvas});
OptionsManager.getSingleton().showTutorial = false;
};
_leftScored = true;
_rightScored = false;
setState(STATE_GOAL);
return;
};
if (_arg1 == _rightPlayer.logic){
_local3 = _leftPlayer.pos.minus(_rightPlayer.pos).normalize();
_local4 = _ball.pos.minus(_rightPlayer.pos).normalize();
_ball.logic.orbitAround(_rightPlayer.logic, ((_local3.cross(_local4) > 0)) ? 1 : -1);
trace(("delta1:" + ((_local3.cross(_local4) > 0)) ? 1 : -1));
return;
};
if (_arg1 == _leftPlayer.logic){
_local3 = _rightPlayer.pos.minus(_leftPlayer.pos).normalize();
_local4 = _ball.pos.minus(_leftPlayer.pos).normalize();
_ball.logic.orbitAround(_leftPlayer.logic, ((_local3.cross(_local4) > 0)) ? 1 : -1);
trace(("delta2:" + ((_local3.cross(_local4) > 0)) ? 1 : -1));
return;
};
}
protected function reallocatePlayer(_arg1:GravityBallLogic):void{
var _local2:Vector = _arg1.pos;
var _local3:Number = _arg1.radius;
var _local4:Number = 12;
if ((_local2.x + _local3) > (_boundingBox.right - _local4)){
_local2.x = ((_boundingBox.right - _local4) - _local3);
};
if ((_local2.x - _local3) < (_boundingBox.left + _local4)){
_local2.x = ((_boundingBox.left + _local4) + _local3);
};
if ((_local2.y + _local3) > (_boundingBox.bottom - _local4)){
_local2.y = ((_boundingBox.bottom - _local4) - _local3);
};
if ((_local2.y - _local3) < (_boundingBox.top + _local4)){
_local2.y = ((_boundingBox.top + _local4) + _local3);
};
}
protected function createClock():void{
_clock = new CircularFilledClock(0, (MatchManager.getSingleton().matchTime / 2), 25, 0x222222, 1, 0xFF0000);
_topPanel.addChild(_clock);
_clock.x = (DEF.SCREEN_WIDTH / 2);
_clock.y = 40;
}
protected function rightPlayerCallback(_arg1:GravityBallLogic):void{
if (((!((_arg1 == _areaRight.logic))) && (!((_arg1 == _areaLeft.logic))))){
MediaPlayer.getSingleton().play(MediaPlayer.SND_INGAME_SHOCK);
};
if (_arg1 == _leftPlayer.logic){
_rightPlayer.logic.repelCompetence((_rightPlayerData.shoot / 2));
return;
};
}
protected function initTeams():void{
var _local1:Object;
_local1 = DifficultManager.instance.balancePlayer(_leftPlayerData, _rightPlayerData, MatchManager.getSingleton().leftAIControlled);
_leftPlayer.init(DEF.LEFT_PLAYER_ADV_X, DEF.LEFT_PLAYER_Y, (_local1.mass * DEF.MASS_COEFF), (_local1.speed * DEF.SPEED_COEFF), 0.1, (_local1.shoot * DEF.ATTACK_COEFF), true);
_leftGoalkeeper.init(DEF.LEFT_GOALKEEPER_X, DEF.LEFT_GOALKEEKER_Y, (_local1.goalkeeper * DEF.DEFENSE_COEFF), 0, 1, 0, false, false, true);
if (_local1.hasBackup){
_leftHasBackup = true;
_leftBackup.init(DEF.LEFT_PLAYER_ADV_BACKUP_X, DEF.LEFT_PLAYER_Y, (_local1.mass * DEF.MASS_COEFF), (_local1.speed * DEF.SPEED_COEFF), 0.1, (_local1.shoot * DEF.ATTACK_COEFF), true);
};
_local1 = DifficultManager.instance.balancePlayer(_rightPlayerData, _leftPlayerData, MatchManager.getSingleton().rightAIControlled);
_rightPlayer.init(DEF.RIGHT_PLAYER_X, DEF.RIGHT_PLAYER_Y, (_local1.mass * DEF.MASS_COEFF), (_local1.speed * DEF.SPEED_COEFF), 0.1, (_local1.shoot * DEF.ATTACK_COEFF), true);
_rightGoalkeeper.init(DEF.RIGHT_GOALKEEPER_X, DEF.RIGHT_GOALKEEPER_Y, (_local1.goalkeeper * DEF.DEFENSE_COEFF), 0, 1, 0, false, false, true);
if (_local1.hasBackup){
_rightHasBackup = true;
_rightBackup.init(DEF.RIGHT_PLAYER_BACKUP_X, DEF.RIGHT_PLAYER_Y, (_local1.mass * DEF.MASS_COEFF), (_local1.speed * DEF.SPEED_COEFF), 0.1, (_local1.shoot * DEF.ATTACK_COEFF), true);
};
}
protected function resetGoalPositions():Boolean{
var _local1:Vector = new Vector();
var _local2:Vector = new Vector();
var _local3:Boolean;
var _local4:Boolean;
var _local5:Boolean;
if (_resetPositionsState == 0){
if (resetToCenterPositions()){
_resetPositionsState = 1;
};
};
if (_resetPositionsState == 1){
_local3 = false;
_local4 = false;
_local5 = false;
_ball.logic.stop();
_ball.logic.pos.setTo((DEF.MAP_WIDTH / 2), (DEF.MAP_HEIGHT / 2));
_ball.update(false, false, false, false, false, 0, 0);
if (_rightScored){
if (_secondHalf){
_local1.setTo(DEF.RIGHT_PLAYER_ADV_X, DEF.RIGHT_PLAYER_Y);
_local2.setTo(DEF.RIGHT_PLAYER_ADV_BACKUP_X, DEF.RIGHT_PLAYER_Y);
} else {
_local1.setTo(DEF.LEFT_PLAYER_ADV_X, DEF.LEFT_PLAYER_Y);
_local2.setTo(DEF.LEFT_PLAYER_ADV_BACKUP_X, DEF.LEFT_PLAYER_Y);
};
} else {
if (_secondHalf){
_local1.setTo(DEF.RIGHT_PLAYER_X, DEF.RIGHT_PLAYER_Y);
_local2.setTo(DEF.RIGHT_PLAYER_BACKUP_X, DEF.RIGHT_PLAYER_Y);
} else {
_local1.setTo(DEF.LEFT_PLAYER_X, DEF.LEFT_PLAYER_Y);
_local2.setTo(DEF.LEFT_PLAYER_BACKUP_X, DEF.LEFT_PLAYER_Y);
};
};
_local3 = BaseSportAI.commandToPoint(_leftPlayer, _local1, 5);
if (_leftHasBackup){
_local3 = ((BaseSportAI.commandToPoint(_leftBackup, _local2, 5)) && (_local3));
};
if (_leftScored){
if (_secondHalf){
_local1.setTo(DEF.LEFT_PLAYER_ADV_X, DEF.LEFT_PLAYER_Y);
_local2.setTo(DEF.LEFT_PLAYER_ADV_BACKUP_X, DEF.LEFT_PLAYER_Y);
} else {
_local1.setTo(DEF.RIGHT_PLAYER_ADV_X, DEF.RIGHT_PLAYER_Y);
_local2.setTo(DEF.RIGHT_PLAYER_ADV_BACKUP_X, DEF.RIGHT_PLAYER_Y);
};
} else {
if (_secondHalf){
_local1.setTo(DEF.LEFT_PLAYER_X, DEF.LEFT_PLAYER_Y);
_local2.setTo(DEF.LEFT_PLAYER_BACKUP_X, DEF.LEFT_PLAYER_Y);
} else {
_local1.setTo(DEF.RIGHT_PLAYER_X, DEF.RIGHT_PLAYER_Y);
_local2.setTo(DEF.RIGHT_PLAYER_BACKUP_X, DEF.RIGHT_PLAYER_Y);
};
};
_local4 = BaseSportAI.commandToPoint(_rightPlayer, _local1, 5);
if (_rightHasBackup){
_local4 = ((BaseSportAI.commandToPoint(_rightBackup, _local2, 5)) && (_local4));
};
if (((_local4) && (_local3))){
return (true);
};
};
return (false);
}
public function resetInterTimePositions():Boolean{
var _local1:Vector = new Vector();
var _local2:Vector = new Vector();
var _local3:Boolean;
var _local4:Boolean;
var _local5:Boolean;
if (_resetPositionsState == 0){
if (resetToCenterPositions()){
_resetPositionsState = 1;
};
};
if (_resetPositionsState == 1){
_local3 = false;
_local4 = false;
_local5 = false;
_ball.logic.stop();
_ball.logic.pos.setTo((DEF.MAP_WIDTH / 2), (DEF.MAP_HEIGHT / 2));
_ball.update(false, false, false, false, false, 0, 0);
if (_secondHalf){
_local1.setTo(DEF.LEFT_PLAYER_ADV_X, DEF.LEFT_PLAYER_Y);
_local2.setTo(DEF.LEFT_PLAYER_ADV_BACKUP_X, DEF.LEFT_PLAYER_Y);
} else {
_local1.setTo(DEF.LEFT_PLAYER_X, DEF.LEFT_PLAYER_Y);
_local2.setTo(DEF.LEFT_PLAYER_BACKUP_X, DEF.LEFT_PLAYER_Y);
};
_local3 = BaseSportAI.commandToPoint(_rightPlayer, _local1, 5);
if (_rightHasBackup){
_local3 = ((BaseSportAI.commandToPoint(_rightBackup, _local2, 5)) && (_local3));
};
if (_secondHalf){
_local1.setTo(DEF.RIGHT_PLAYER_X, DEF.RIGHT_PLAYER_Y);
_local2.setTo(DEF.RIGHT_PLAYER_BACKUP_X, DEF.RIGHT_PLAYER_Y);
} else {
_local1.setTo(DEF.RIGHT_PLAYER_ADV_X, DEF.RIGHT_PLAYER_Y);
_local2.setTo(DEF.RIGHT_PLAYER_ADV_BACKUP_X, DEF.RIGHT_PLAYER_Y);
};
_local4 = BaseSportAI.commandToPoint(_leftPlayer, _local1, 5);
if (_leftHasBackup){
_local4 = ((BaseSportAI.commandToPoint(_leftBackup, _local2, 5)) && (_local4));
};
if (((_local4) && (_local3))){
return (true);
};
};
return (false);
}
protected function createLogos():void{
_leftLogo = new Sprite();
_leftLogo.x = DEF.LEFT_LOGO_X;
_leftLogo.y = DEF.LEFT_LOGO_Y;
_topPanel.addChild(_leftLogo);
_rightLogo = new Sprite();
_rightLogo.x = DEF.RIGHT_LOGO_X;
_rightLogo.y = DEF.RIGHT_LOGO_Y;
_topPanel.addChild(_rightLogo);
_leftLogo.graphics.beginBitmapFill(IMG.getSingleton().getBitmapData(IMG[(_leftPlayerData.graphicSet + "_LOGO")]));
_leftLogo.graphics.drawRect(0, 0, 50, 50);
_leftLogo.graphics.endFill();
_rightLogo.graphics.beginBitmapFill(IMG.getSingleton().getBitmapData(IMG[(_rightPlayerData.graphicSet + "_LOGO")]));
_rightLogo.graphics.drawRect(0, 0, 50, 50);
_rightLogo.graphics.endFill();
}
protected function createFinalScores():void{
var _local1:TextFormat = new TextFormat("meta-bold", 140);
_local1.align = "center";
_local1.color = 0xEEEEEE;
var _local2:GlowFilter = new GlowFilter(0, 1, 2, 2, 2, 1, false);
_leftFinalScore = new TextField();
_leftFinalScore.selectable = false;
_leftFinalScore.x = 0;
_leftFinalScore.y = (0xFF - 80);
_leftFinalScore.width = (DEF.SCREEN_WIDTH / 2);
_leftFinalScore.height = 140;
_leftFinalScore.embedFonts = true;
_leftFinalScore.defaultTextFormat = _local1;
_leftFinalScore.filters = [_local2];
_leftFinalScore.background = false;
_rightFinalScore = new TextField();
_rightFinalScore.selectable = false;
_rightFinalScore.x = (DEF.SCREEN_WIDTH / 2);
_rightFinalScore.y = (0xFF - 80);
_rightFinalScore.width = (DEF.SCREEN_WIDTH / 2);
_rightFinalScore.height = 140;
_rightFinalScore.embedFonts = true;
_rightFinalScore.defaultTextFormat = _local1;
_rightFinalScore.filters = [_local2];
_rightFinalScore.background = false;
}
protected function createInterface():void{
var _local1:BitmapData = IMG.getSingleton().getBitmapData(IMG.TOP_PANEL);
_topPanel = new Sprite();
_topPanel.graphics.beginBitmapFill(_local1);
_topPanel.graphics.drawRect(0, 0, DEF.SCREEN_WIDTH, _local1.height);
_topPanel.graphics.endFill();
_topPanel.x = 0;
_topPanel.y = -(_local1.height);
var _local2:Sprite = new Sprite();
_local2.graphics.beginBitmapFill(IMG.getSingleton().getBitmapData(IMG.TOP_PANEL_REFLECTION));
_local2.graphics.drawRect(0, 0, DEF.SCREEN_WIDTH, _local1.height);
_local2.graphics.endFill();
_local2.x = 0;
_local2.y = -(_local1.height);
_backgroundCanvas.addChild(_topPanel);
_backgroundCanvas.addChild(_local2);
createLCDScreens();
createClock();
createLogos();
}
override public function keyDown(_arg1:KeyboardEvent):void{
super.keyDown(_arg1);
_anyKeyPressed = true;
if (((MatchManager.getSingleton().rightAIControlled) && (MatchManager.getSingleton().leftAIControlled))){
return;
};
if (DEF.CHEATS){
if (_arg1.keyCode == Keyboard.ESCAPE){
_clock.forceEnd();
};
if (_arg1.keyCode == Keyboard.F1){
TeamUnlockerManager.getSingleton().unlockAll();
};
};
if (((MatchManager.getSingleton().rightAIControlled) || (MatchManager.getSingleton().leftAIControlled))){
switch (_arg1.keyCode){
case Keyboard.UP:
case 87:
_up1Pressed = (_up2Pressed = true);
break;
case Keyboard.DOWN:
case 83:
_down1Pressed = (_down2Pressed = true);
break;
case Keyboard.LEFT:
case 65:
_left1Pressed = (_left2Pressed = true);
break;
case Keyboard.RIGHT:
case 68:
_right1Pressed = (_right2Pressed = true);
break;
case Keyboard.SPACE:
case Keyboard.ENTER:
_mouse1Pressed = (_mouse2Pressed = true);
break;
};
} else {
switch (_arg1.keyCode){
case Keyboard.UP:
_up1Pressed = true;
break;
case 87:
_up2Pressed = true;
break;
case Keyboard.DOWN:
_down1Pressed = true;
break;
case 83:
_down2Pressed = true;
break;
case Keyboard.LEFT:
_left1Pressed = true;
break;
case 65:
_left2Pressed = true;
break;
case Keyboard.RIGHT:
_right1Pressed = true;
break;
case 68:
_right2Pressed = true;
break;
case Keyboard.SPACE:
_mouse1Pressed = true;
break;
case Keyboard.ENTER:
_mouse2Pressed = true;
break;
};
};
}
protected function get currentPlayer():GravityBallSprite{
var _local1:GravityBallSprite;
if (MatchManager.getSingleton().rightAIControlled){
_local1 = _leftPlayer;
} else {
_local1 = _rightPlayer;
};
return (_local1);
}
override public function update():int{
var point:Vector;
var point2:Vector;
var leftReady:Boolean;
var rightReady:Boolean;
var ballReady:Boolean;
var player:GravityBallSprite;
var ready:Boolean;
if (_menuButton.isPressed){
_parent.y = 0;
_clock.pause();
_nextState = new StateInGameMenu();
(_nextState as StateInGameMenu).background = _parent;
return (State.NEXT);
};
switch (_state){
case STATE_INIT_GAME:
if (((_anyKeyPressed) || (_mouse1Pressed))){
setState(STATE_WAITING);
Tweener.addTween(_frontCanvas, {time:0.5, alpha:0, onComplete:function ():void{
_frontCanvas.removeChild(_leftTeamName);
_frontCanvas.removeChild(_rightTeamName);
_frontCanvas.graphics.clear();
_frontCanvas.alpha = 1;
SFX.getSingleton().showFadingMessage(_frontCanvas, IMG.getSingleton().getBitmapData(IMG.MESSAGE_FIRST_HALF), (DEF.MAP_WIDTH / 2), (DEF.MAP_HEIGHT / 2), 2, 0, function ():void{
setState(STATE_INIT_TIME);
});
}});
};
break;
case STATE_GAME:
if (_clock.isPaused()){
_clock.resume();
};
reallocatePlayer(_rightPlayer.logic);
reallocatePlayer(_leftPlayer.logic);
if (_leftHasBackup){
reallocatePlayer(_leftBackup.logic);
};
if (_rightHasBackup){
reallocatePlayer(_rightBackup.logic);
};
if (!_ball.logic.orbiting){
reallocatePlayer(_ball.logic);
};
if (DEF.MOUSE_CONTROL){
_left1Pressed = (_left2Pressed = false);
_right1Pressed = (_right2Pressed = false);
_up1Pressed = (_up2Pressed = false);
_down1Pressed = (_down2Pressed = false);
if (MatchManager.getSingleton().rightAIControlled){
player = _leftPlayer;
} else {
player = _rightPlayer;
};
player.logic.pos.x = player.x;
player.logic.pos.y = player.y;
};
_ball.update(false, false, false, false, false, 0, 0);
if (MatchManager.getSingleton().rightAIControlled){
if (_rightHasBackup){
_rightPlayerAI.update([_rightBackup.logic], [_leftPlayer.logic]);
_rightBackupAI.update([_rightPlayer.logic], [_leftPlayer.logic]);
} else {
_rightPlayerAI.update(null, [_leftPlayer.logic]);
};
} else {
_rightPlayer.update(_up2Pressed, _down2Pressed, _left2Pressed, _right2Pressed, _mouse2Pressed, 0, 0);
};
if (MatchManager.getSingleton().leftAIControlled){
if (_leftHasBackup){
_leftPlayerAI.update([_leftBackup.logic], [_rightPlayer.logic]);
_leftBackupAI.update([_leftPlayer.logic], [_rightPlayer.logic]);
} else {
_leftPlayerAI.update(null, [_rightPlayer.logic]);
};
} else {
_leftPlayer.update(_up1Pressed, _down1Pressed, _left1Pressed, _right1Pressed, _mouse1Pressed, 0, 0);
};
_clock.update();
if (_clock.finished()){
setState(STATE_INTER_TIME);
};
break;
case STATE_GOAL:
ready = resetGoalPositions();
if (_resetPositionsState == 1){
Tweener.addTween(particleRenderer, {time:2, alpha:0});
if (ready){
setState(STATE_WAITING);
paperRain.stop();
SFX.getSingleton().showFadingMessage(_frontCanvas, IMG.getSingleton().getBitmapData(IMG.MESSAGE_KICK_OFF), (DEF.MAP_WIDTH / 2), (DEF.MAP_HEIGHT / 2), 2, 0, function ():void{
_clock.resume();
setState(STATE_GAME);
});
};
};
break;
case STATE_INTER_TIME:
ready = resetInterTimePositions();
if (_resetPositionsState == 1){
_leftGoalkeeper.pos.x = (_leftGoalkeeper.x = DEF.RIGHT_GOALKEEPER_X);
_rightGoalkeeper.pos.x = (_rightGoalkeeper.x = DEF.LEFT_GOALKEEPER_X);
_leftScoreText.x = DEF.RIGHT_SCORE_X;
_rightScoreText.x = DEF.LEFT_SCORE_X;
_leftLogo.x = DEF.RIGHT_LOGO_X;
_rightLogo.x = DEF.LEFT_LOGO_X;
Tweener.addTween(particleRenderer, {time:2, alpha:0});
if (ready){
setState(STATE_INIT_TIME);
};
};
break;
case STATE_GAME_END:
_parent.y = 0;
MatchManager.getSingleton().setMatchResults(_leftScore, _rightScore);
_nextState = new StateMatchEnd();
return (State.NEXT_AND_DESTROY);
};
return (State.CONTINUE);
}
protected function activateControls(_arg1:GravityBallSprite):void{
if (_controlsActive){
return;
};
_arg1.mouseChildren = false;
_arg1.buttonMode = true;
_arg1.addEventListener(MouseEvent.MOUSE_OVER, onPlayerMouseOver, false, 0, true);
_arg1.addEventListener(MouseEvent.MOUSE_OUT, onPlayerMouseOut, false, 0, true);
_controlsActive = true;
}
override public function mouseDown(_arg1:MouseEvent):void{
super.mouseDown(_arg1);
_mouse1Pressed = (_mouse2Pressed = true);
}
override public function destroy():void{
fadeOutAndRemove([_backgroundCanvas, _frontCanvas, _obstacleCanvas, _blurCanvas]);
MediaPlayer.getSingleton().stop(MediaPlayer.SND_INGAME1, MediaPlayer.SND_INGAME5);
}
override public function show():void{
fadeIn([_backgroundCanvas, _frontCanvas, _obstacleCanvas, _blurCanvas]);
MediaPlayer.getSingleton().loopBetween(MediaPlayer.SND_INGAME1, MediaPlayer.SND_INGAME5);
}
}
}//package States
Section 224
//StateInGameMenu (States.StateInGameMenu)
package States {
import flash.display.*;
import flash.geom.*;
import StateLib.*;
import GenericUILib.*;
public class StateInGameMenu extends StateMenu {
private var _backgroundBmp:BitmapData;
private static const OPTION_MORE_GAMES:Number = 1;
private static const OPTION_RESUME_GAME:Number = 2;
private static const OPTION_MAIN_MENU:Number = 0;
public function StateInGameMenu(){
_options = new Array({image:IMG.MENU_PLAY_MORE_GAMES_BUTTON, x:320, y:400, returnValue:OPTION_MORE_GAMES}, {image:IMG.MENU_RESUME_GAME, x:320, y:210, returnValue:OPTION_RESUME_GAME, hint:"Back to the game"}, {image:IMG.MENU_MAIN_MENU, x:320, y:270, returnValue:OPTION_MAIN_MENU, hint:"Return to the main menu"});
}
override public function update():int{
switch (_menu.update()){
case OPTION_RESUME_GAME:
_parent.y = (DEF.SCREEN_HEIGHT - DEF.MAP_HEIGHT);
return (State.PREVIOUS);
case OPTION_MAIN_MENU:
_nextState = new StateMenu();
return (State.NEXT_AND_DESTROY);
case OPTION_MORE_GAMES:
playMoreGames();
break;
};
return (State.CONTINUE);
}
override public function init(_arg1:Sprite):void{
_parent = _arg1;
var _local2:Bitmap;
if (_backgroundBmp != null){
_local2 = new Bitmap(_backgroundBmp);
};
_menu = new GenericMenu(_options, _local2);
_parent.addChild(_menu);
_menu.show();
_hintText = createTextField("center", 28, 16777113);
_hintText.x = 0;
_hintText.y = (DEF.SCREEN_HEIGHT - 50);
_hintText.width = DEF.SCREEN_WIDTH;
_hintText.height = 40;
_menu.addChild(_hintText);
}
public function set background(_arg1:Sprite):void{
_backgroundBmp = new BitmapData(_arg1.width, _arg1.height);
var _local2:Matrix = new Matrix();
_local2.translate(0, (DEF.SCREEN_HEIGHT - DEF.MAP_HEIGHT));
var _local3:ColorTransform = new ColorTransform(0.7, 0.7, 0.7, 1, 0, 0, 0, 0);
_backgroundBmp.draw(_arg1, _local2, _local3);
}
}
}//package States
Section 225
//StateKnockout (States.StateKnockout)
package States {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import StateLib.*;
import Tournament.*;
import ShooterLib.AI.*;
import GenericUILib.*;
import caurina.transitions.*;
public class StateKnockout extends State {
protected var _frontCanvas:Sprite;
protected var _tooltip:KnockoutTooltip;
protected var _nextButton:GenericButton;
protected var _background:Sprite;
protected var _optionsButton:GenericButton;
protected var _backButton:GenericButton;
protected var _skip:Boolean;// = false
private static const DELTA_Y:Number = 50;
protected static var NULL_TEAM_INFO:SeasonTeamInfo = new SeasonTeamInfo("", {name:"", graphicSet:"TEAM_NULL", color:0, backgroundMask:0, speed:0, mass:0, goalkeeper:0, shoot:0, AIType:BaseSportAI.TYPE_TACTIC, locked:false, unlockDesc:""}, -1);
override public function update():int{
if (_optionsButton.isPressed){
_nextState = new StateOptions();
return (State.NEXT);
};
if (((_nextButton.isPressed) || (_skip))){
if (DEF.SKIP_KNOCKOUT_MATCHES){
_skip = false;
MatchManager.getSingleton().setupNextMatch();
MatchManager.getSingleton().setMatchResults((MatchManager.getSingleton().leftAIControlled) ? 0 : 2, (MatchManager.getSingleton().rightAIControlled) ? 0 : 2);
_nextState = new StateMatchEnd();
return (State.NEXT_AND_DESTROY);
} else {
_skip = false;
MatchManager.getSingleton().setupNextMatch();
_nextState = new StateGame();
return (State.NEXT_AND_DESTROY);
};
};
if (_backButton.isPressed){
if ((((((MatchManager.getSingleton().getType() == MatchManager.TYPE_SEASON)) || ((MatchManager.getSingleton().getType() == MatchManager.TYPE_TOURNAMENT)))) || ((MatchManager.getSingleton().getType() == MatchManager.TYPE_KNOCKOUT)))){
_nextState = new StateMenu();
return (State.NEXT_AND_DESTROY);
};
return (State.PREVIOUS);
};
return (State.CONTINUE);
}
protected function onItemMouseOver(_arg1:MouseEvent):void{
_tooltip.teamName.text = _arg1.target.teamName;
_arg1.target.addChild(_tooltip);
_tooltip.scaleX = 1;
_tooltip.x = 0;
if ((_arg1.target.x - (_tooltip.width / 2)) < 0){
_tooltip.x = ((_tooltip.width / 2) - _arg1.target.x);
};
if ((_arg1.target.x + (_tooltip.width / 2)) > DEF.SCREEN_WIDTH){
_tooltip.x = ((DEF.SCREEN_WIDTH - _arg1.target.x) - (_tooltip.width / 2));
};
_tooltip.visible = true;
_tooltip.scaleX = 0.001;
Tweener.addTween(_tooltip, {time:0.3, scaleX:1});
}
protected function paintMatchLine(_arg1:Array, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local9:Match;
var _local10:MovieClip;
var _local5:Number = _arg1.length;
var _local6:Number = _arg2;
var _local7:Number = _arg3;
var _local8:Number = 0;
for each (_local9 in _arg1) {
if (_local8 >= (_local5 / 2)){
_local6 = (DEF.SCREEN_WIDTH - _arg2);
_local7 = _arg3;
_local8 = 0;
};
_local10 = createItem(_local9.team1, _local9.score1, (_local9.score1 >= _local9.score2), _local9.team1.isPlayer);
_local10.x = _local6;
_local10.y = _local7;
_local7 = (_local7 + (_local10.height + 10));
_local10 = createItem(_local9.team2, _local9.score2, (_local9.score1 <= _local9.score2), _local9.team2.isPlayer);
_local10.x = _local6;
_local10.y = _local7;
_local7 = (_local7 + ((_local10.height + 10) + _arg4));
_local8++;
};
}
public function fillKnockout():void{
var _local3:Number;
var _local5:Array;
var _local6:Number;
var _local1:Number = MatchManager.getSingleton().currentWeek;
var _local2:Array = [{x:35, y:(20 + DELTA_Y), spacing:20}, {x:130, y:(60 + DELTA_Y), spacing:115}, {x:225, y:(155 + DELTA_Y), spacing:10}, {x:320, y:(155 + DELTA_Y), spacing:10}];
var _local4:Number = 0;
while (_local4 < 4) {
_local5 = MatchManager.getSingleton().weekSchedule(_local4).matches;
if (_local5.length == 0){
trace("dummy phase");
_local5 = new Array();
_local6 = 0;
while (_local6 < (_local3 / 2)) {
_local5.push(new Match(NULL_TEAM_INFO, NULL_TEAM_INFO));
_local6++;
};
};
trace("phase:", _local4, _local5);
paintMatchLine(_local5, _local2[_local4].x, _local2[_local4].y, _local2[_local4].spacing);
_local3 = _local5.length;
_local4++;
};
}
override public function destroy():void{
fadeOutAndRemove([_background]);
_background = null;
MediaPlayer.getSingleton().speakerVisible = true;
}
protected function onItemMouseOut(_arg1:MouseEvent):void{
var target:MovieClip;
var evt = _arg1;
target = (evt.target as MovieClip);
Tweener.addTween(_tooltip, {time:0.2, scaleX:0.001, onComplete:function ():void{
target.removeChild(_tooltip);
_tooltip.visible = false;
}});
}
public function createItem(_arg1:SeasonTeamInfo, _arg2:Number=-1, _arg3:Boolean=true, _arg4:Boolean=false):MovieClip{
var _local5:KnockoutItem = new KnockoutItem();
_background.addChildAt(_local5, 1);
var _local6:BitmapData = IMG.getSingleton().getBitmapData(IMG[(_arg1.teamDesc.graphicSet + "_MINI_FLAG")]);
var _local7:Sprite = new Sprite();
var _local8:Matrix = new Matrix();
_local8.translate((-(_local6.width) / 2), (-(_local6.height) / 2));
_local7.graphics.beginBitmapFill(_local6, _local8);
_local7.graphics.drawRect((-(_local6.width) / 2), (-(_local6.height) / 2), _local6.width, _local6.height);
_local7.graphics.endFill();
if (_arg3){
_local5.gotoAndStop("_enabled");
} else {
_local5.gotoAndStop("_disabled");
};
if (_arg4){
_local5.gotoAndStop("_player");
};
_local5.imageDock.addChild(_local7);
if (_arg2 == -1){
_local5.score.text = "-";
} else {
_local5.score.text = _arg2.toString();
};
_local5.teamName = _arg1.teamName;
_local5.mouseChildren = false;
if (_arg1 != NULL_TEAM_INFO){
_local5.addEventListener(MouseEvent.MOUSE_OVER, onItemMouseOver, false, 0, true);
_local5.addEventListener(MouseEvent.MOUSE_OUT, onItemMouseOut, false, 0, true);
};
return (_local5);
}
override public function init(_arg1:Sprite):void{
super.init(_arg1);
_parent = _arg1;
MediaPlayer.getSingleton().speakerVisible = false;
_background = new Sprite();
_background.graphics.beginBitmapFill(IMG.getSingleton().getBitmapData(IMG.KNOCKOUT_RESULTS));
_background.graphics.drawRect(0, 0, DEF.SCREEN_WIDTH, DEF.SCREEN_HEIGHT);
_background.graphics.endFill();
_parent.addChild(_background);
var _local2:KnockoutLines = new KnockoutLines();
_background.addChild(_local2);
_local2.x = (DEF.SCREEN_WIDTH / 2);
_local2.y = (170 + DELTA_Y);
_nextButton = new GenericButton(IMG.getSingleton().getBitmapData(IMG.BUTTON_NEXT), IMG.getSingleton().getBitmapData(IMG.BUTTON_NEXT), true);
_nextButton.x = DEF.BUTTON_NEXT_X;
_nextButton.y = (DEF.BUTTON_NEXT_Y + DELTA_Y);
_background.addChild(_nextButton);
_backButton = new GenericButton(IMG.getSingleton().getBitmapData(IMG.BUTTON_BACK), IMG.getSingleton().getBitmapData(IMG.BUTTON_BACK), true);
_backButton.x = DEF.BUTTON_BACK_X;
_backButton.y = (DEF.BUTTON_BACK_Y + DELTA_Y);
_background.addChild(_backButton);
_optionsButton = new GenericButton(IMG.getSingleton().getBitmapData(IMG.OPTIONS_PANEL_BUTTON), IMG.getSingleton().getBitmapData(IMG.OPTIONS_PANEL_BUTTON), true);
_optionsButton.x = (DEF.SCREEN_WIDTH / 2);
_optionsButton.y = (DEF.BUTTON_NEXT_Y + DELTA_Y);
_background.addChild(_optionsButton);
fillKnockout();
_tooltip = new KnockoutTooltip();
_tooltip.visible = false;
}
override public function hide():void{
fadeOut([_background]);
MediaPlayer.getSingleton().speakerVisible = true;
}
override public function show():void{
fadeIn([_background]);
MediaPlayer.getSingleton().speakerVisible = false;
}
}
}//package States
Section 226
//StateMatchEnd (States.StateMatchEnd)
package States {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import StateLib.*;
import flash.text.*;
import Teams.*;
import Tournament.*;
import GenericUILib.*;
import flash.filters.*;
import mochi.as3.*;
public class StateMatchEnd extends StateMenu {
private var _rightTeamName:TextField;
private var _continue:Boolean;// = false
private var _rightPlayerData:Object;
private var _leftFinalScore:TextField;
private var _leftTeamName:TextField;
private var _leftPlayerData:Object;
private var _interlevelBackground:MovieClip;
private var _rightFinalScore:TextField;
private var _skip:Boolean;// = false
private static const OPTION_CHOOSE_TEAMS:Number = 2;
private static const OPTION_REMATCH:Number = 1;
private static const OPTION_CONTINUE:Number = 0;
private static const OPTION_MAIN_MENU:Number = 3;
private static const OPTION_PLAY_MORE_GAMES:Number = 4;
private static var interlevelNumber:Number = 0;
public function StateMatchEnd(){
if ((((((MatchManager.getSingleton().getType() == MatchManager.TYPE_SEASON)) || ((MatchManager.getSingleton().getType() == MatchManager.TYPE_TOURNAMENT)))) || ((MatchManager.getSingleton().getType() == MatchManager.TYPE_KNOCKOUT)))){
_options = new Array({image:IMG.MENU_CONTINUE, x:480, y:400, returnValue:OPTION_CONTINUE, hint:"Continue to the Season info screen"}, {image:IMG.MENU_REMATCH, x:160, y:400, returnValue:OPTION_REMATCH, hint:"Play this match again"}, {image:IMG.MENU_MORE_GAMES, x:480, y:440, returnValue:OPTION_PLAY_MORE_GAMES}, {image:IMG.MENU_MAIN_MENU, x:160, y:440, returnValue:OPTION_MAIN_MENU, hint:"Exit to the main menu"});
} else {
_options = new Array({image:IMG.MENU_CONTINUE, x:160, y:400, returnValue:OPTION_CONTINUE, hint:"Return to the main menu"}, {image:IMG.MENU_REMATCH, x:480, y:400, returnValue:OPTION_REMATCH, hint:"Play again with the same teams"}, {image:IMG.MENU_CHOOSE_TEAMS, x:160, y:440, returnValue:OPTION_CHOOSE_TEAMS, hint:"Go back to the team selection screen"}, {image:IMG.MENU_MAIN_MENU, x:480, y:440, returnValue:OPTION_MAIN_MENU, hint:"Return to the main menu"});
};
}
override public function keyDown(_arg1:KeyboardEvent):void{
trace("keyDown");
_skip = true;
}
private function createTeamNames():void{
var _local1:TextFormat = new TextFormat("lcd", 32);
_local1.align = "center";
_local1.color = 0xEEEEEE;
var _local2:GlowFilter = new GlowFilter(0, 1, 2, 2, 2, 1, false);
_leftTeamName = new TextField();
_leftTeamName.selectable = false;
_leftTeamName.x = 0;
_leftTeamName.y = (250 - 30);
_leftTeamName.width = (DEF.SCREEN_WIDTH / 2);
_leftTeamName.height = 30;
_leftTeamName.embedFonts = true;
_leftTeamName.defaultTextFormat = _local1;
_leftTeamName.filters = [_local2];
_rightTeamName = new TextField();
_rightTeamName.selectable = false;
_rightTeamName.x = (DEF.SCREEN_WIDTH / 2);
_rightTeamName.y = (250 - 30);
_rightTeamName.width = (DEF.SCREEN_WIDTH / 2);
_rightTeamName.height = 30;
_rightTeamName.embedFonts = true;
_rightTeamName.defaultTextFormat = _local1;
_rightTeamName.filters = [_local2];
}
private function unlockTeams():void{
if (MatchManager.getSingleton().leftScore == MatchManager.getSingleton().rightScore){
if (((((MatchManager.getSingleton().leftAIControlled) && ((MatchManager.getSingleton().leftTeam.name == DEF.TEAMS[2].name)))) || (((MatchManager.getSingleton().rightAIControlled) && ((MatchManager.getSingleton().rightTeam.name == DEF.TEAMS[2].name)))))){
TeamUnlockerManager.getSingleton().unlockTeam(2, _parent);
};
};
if (Math.abs((MatchManager.getSingleton().leftScore - MatchManager.getSingleton().rightScore)) >= 5){
if (((((MatchManager.getSingleton().leftAIControlled) && ((MatchManager.getSingleton().leftScore < MatchManager.getSingleton().rightScore)))) || (((MatchManager.getSingleton().rightAIControlled) && ((MatchManager.getSingleton().leftScore > MatchManager.getSingleton().rightScore)))))){
TeamUnlockerManager.getSingleton().unlockTeam(3, _parent);
};
};
if (Math.abs((MatchManager.getSingleton().leftScore - MatchManager.getSingleton().rightScore)) >= 3){
if (((((MatchManager.getSingleton().leftAIControlled) && ((MatchManager.getSingleton().leftTeam.name == DEF.TEAMS[4].name)))) || (((MatchManager.getSingleton().rightAIControlled) && ((MatchManager.getSingleton().rightTeam.name == DEF.TEAMS[4].name)))))){
TeamUnlockerManager.getSingleton().unlockTeam(4, _parent);
};
};
if (((((((((!(MatchManager.getSingleton().leftAIControlled)) && ((MatchManager.getSingleton().leftTeam.name == DEF.TEAMS[6].name)))) && (((MatchManager.getSingleton().rightAIControlled) && ((MatchManager.getSingleton().rightTeam.name == DEF.TEAMS[7].name)))))) && ((MatchManager.getSingleton().leftScore > MatchManager.getSingleton().rightScore)))) || (((((((MatchManager.getSingleton().leftAIControlled) && ((MatchManager.getSingleton().leftTeam.name == DEF.TEAMS[7].name)))) && (((!(MatchManager.getSingleton().rightAIControlled)) && ((MatchManager.getSingleton().rightTeam.name == DEF.TEAMS[6].name)))))) && ((MatchManager.getSingleton().leftScore < MatchManager.getSingleton().rightScore)))))){
TeamUnlockerManager.getSingleton().unlockTeam(7, _parent);
};
}
override public function update():int{
unlockTeams();
switch (_menu.update()){
case OPTION_CONTINUE:
_skip = true;
break;
case OPTION_REMATCH:
_nextState = new StateGame();
return (State.NEXT_AND_DESTROY);
case OPTION_CHOOSE_TEAMS:
_nextState = new StateSelectTeam();
return (State.NEXT_AND_DESTROY);
case OPTION_MAIN_MENU:
_nextState = new StateMenu();
return (State.NEXT_AND_DESTROY);
case OPTION_PLAY_MORE_GAMES:
playMoreGames();
break;
};
if (_continue){
trace("continuamos");
_continue = false;
if (((((!((MatchManager.getSingleton().getType() == MatchManager.TYPE_TOURNAMENT))) && (!((MatchManager.getSingleton().getType() == MatchManager.TYPE_SEASON))))) && (!((MatchManager.getSingleton().getType() == MatchManager.TYPE_KNOCKOUT))))){
_nextState = new StateMenu();
return (State.NEXT_AND_DESTROY);
};
switch (MatchManager.getSingleton().setupNextWeek()){
case -1:
_nextState = new StateSeasonEnd();
break;
case MatchManager.TYPE_SEASON:
_nextState = new StateScheduleInfo();
break;
case MatchManager.TYPE_KNOCKOUT:
_nextState = new StateKnockout();
break;
case MatchManager.TYPE_PENALTIES:
_nextState = new StatePenalty();
break;
};
return (State.NEXT_AND_DESTROY);
};
if (((_skip) && (!(_interlevelBackground.visible)))){
_skip = false;
interlevelNumber++;
if (((DEF.INTERLEVEL_ADS) && (((interlevelNumber % 4) == 0)))){
_interlevelBackground.visible = true;
MochiAd.showInterLevelAd({clip:_interlevelBackground, id:"b89714bb1e889e4e", res:"640x480", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
_interlevelBackground.visible = false;
_continue = true;
trace("el ad skippeo");
}});
} else {
_continue = true;
};
};
return (State.CONTINUE);
}
private function createFinalScores():void{
var _local2:GlowFilter;
var _local1:TextFormat = new TextFormat("abadi", 120);
_local1.align = "center";
_local1.color = 0xEEEEEE;
_local2 = new GlowFilter(0, 1, 2, 2, 2, 1, false);
_leftFinalScore = new TextField();
_leftFinalScore.selectable = false;
_leftFinalScore.x = 0;
_leftFinalScore.y = (0xFF - 25);
_leftFinalScore.width = (DEF.SCREEN_WIDTH / 2);
_leftFinalScore.height = 140;
_leftFinalScore.embedFonts = true;
_leftFinalScore.defaultTextFormat = _local1;
_leftFinalScore.filters = [_local2];
_leftFinalScore.background = false;
_rightFinalScore = new TextField();
_rightFinalScore.selectable = false;
_rightFinalScore.x = (DEF.SCREEN_WIDTH / 2);
_rightFinalScore.y = (0xFF - 25);
_rightFinalScore.width = (DEF.SCREEN_WIDTH / 2);
_rightFinalScore.height = 140;
_rightFinalScore.embedFonts = true;
_rightFinalScore.defaultTextFormat = _local1;
_rightFinalScore.filters = [_local2];
_rightFinalScore.background = false;
}
override public function init(_arg1:Sprite):void{
_parent = _arg1;
_menu = new GenericMenu(_options, IMG.getSingleton().getBitmap(IMG.POST_MATCH_BACKGROUND));
_parent.addChild(_menu);
_menu.show();
_logo = null;
_leftPlayerData = MatchManager.getSingleton().leftTeam;
_rightPlayerData = MatchManager.getSingleton().rightTeam;
var _local2:Matrix = new Matrix();
_local2.translate((160 - 25), ((220 - 30) - 25));
_menu.graphics.beginBitmapFill(IMG.getSingleton().getBitmapData(IMG[(_leftPlayerData.graphicSet + "_LOGO")]), _local2);
_menu.graphics.drawRect((160 - 25), ((220 - 30) - 25), 50, 50);
_menu.graphics.endFill();
_local2.identity();
_local2.translate((480 - 25), ((220 - 30) - 25));
_menu.graphics.beginBitmapFill(IMG.getSingleton().getBitmapData(IMG[(_rightPlayerData.graphicSet + "_LOGO")]), _local2);
_menu.graphics.drawRect((480 - 25), ((220 - 30) - 25), 50, 50);
_menu.graphics.endFill();
createTeamNames();
createFinalScores();
_menu.addChild(_leftTeamName);
_menu.addChild(_rightTeamName);
_menu.addChild(_leftFinalScore);
_menu.addChild(_rightFinalScore);
_leftTeamName.text = _leftPlayerData.name;
_rightTeamName.text = _rightPlayerData.name;
_leftFinalScore.text = ("" + MatchManager.getSingleton().leftScore);
_rightFinalScore.text = ("" + MatchManager.getSingleton().rightScore);
_interlevelBackground = new MovieClip();
_interlevelBackground.graphics.beginBitmapFill(IMG.getSingleton().getBitmapData(IMG.INTERLEVEL_BACKGROUND));
_interlevelBackground.graphics.drawRect(0, 0, DEF.SCREEN_WIDTH, DEF.SCREEN_HEIGHT);
_interlevelBackground.graphics.endFill();
_interlevelBackground.visible = false;
_menu.addChild(_interlevelBackground);
}
}
}//package States
Section 227
//StateMenu (States.StateMenu)
package States {
import flash.display.*;
import flash.geom.*;
import StateLib.*;
import flash.text.*;
import Teams.*;
import GenericUILib.*;
import caurina.transitions.*;
import flash.filters.*;
public class StateMenu extends State {
protected var _logo:MovieClip;
protected var _background:Sprite;
private var _saveGame:SaveGame;
protected var _hintText:TextField;
protected var _menu:GenericMenu;
protected var _options:Array;
private static const OPTION_ABOUT:Number = 2;
private static const OPTION_PLAYGROUND:Number = 5;
private static const OPTION_QUICK_MATCH:Number = 0;
private static const OPTION_TOURNAMENT:Number = 1;
private static const OPTION_OPTIONS:Number = 4;
private static const OPTION_PLAY_MORE_GAMES:Number = 3;
private static const OPTION_ILMARE:Number = 6;
public function StateMenu(){
_options = new Array({image:IMG.MENU_SEASON, x:200, y:230, returnValue:OPTION_TOURNAMENT, hint:"Start or Continue the World Cup 2010"}, {image:IMG.MENU_QUICK_MATCH, x:200, y:310, returnValue:OPTION_QUICK_MATCH, hint:"Play a quick match"}, {image:IMG.MENU_OPTIONS, x:200, y:350, returnValue:OPTION_OPTIONS, hint:"Customise match time, tutorial and more"}, {image:IMG.MENU_ABOUT, x:200, y:390, returnValue:OPTION_ABOUT, hint:"Find out who are the people behind this game"}, {image:IMG.MENU_PLAY_MORE_GAMES_BUTTON, x:510, y:310, returnValue:OPTION_PLAY_MORE_GAMES, hint:"Play more awesome games!"});
}
override public function destroy():void{
fadeOutAndRemove([_menu]);
MediaPlayer.getSingleton().stop(MediaPlayer.SND_INTRO);
}
override public function update():int{
unlockTeams();
switch (_menu.update()){
case OPTION_QUICK_MATCH:
_nextState = new StateQuickMatchMenu();
return (State.NEXT);
case OPTION_TOURNAMENT:
_nextState = new StateContinueSeasonMenu();
return (State.NEXT);
case OPTION_PLAYGROUND:
_nextState = new StatePlayground();
return (State.NEXT);
case OPTION_OPTIONS:
_nextState = new StateOptions();
return (State.NEXT);
case OPTION_PLAY_MORE_GAMES:
playMoreGames();
break;
case OPTION_ABOUT:
_nextState = new StateAbout();
return (State.NEXT);
case OPTION_ILMARE:
goToIlMareGames();
break;
};
return (State.CONTINUE);
}
override public function init(_arg1:Sprite):void{
super.init(_arg1);
_menu = new GenericMenu(_options, IMG.getSingleton().getBitmap(IMG.MENU_FRONT_END), IMG.getSingleton().getBitmap(IMG.MENU_BACKGROUND));
_parent.addChild(_menu);
_menu.show();
var _local2:BitmapData = IMG.getSingleton().getBitmapData(IMG.LOGO);
var _local3:Matrix = new Matrix();
_local3.translate((-(_local2.width) / 2), (-(_local2.height) / 2));
_logo = new MovieClip();
_logo.graphics.beginBitmapFill(_local2, _local3);
_logo.graphics.drawRect((-(_local2.width) / 2), (-(_local2.height) / 2), _local2.width, _local2.height);
_logo.graphics.endFill();
_menu.addChild(_logo);
_logo.x = DEF.LOGO_X;
_logo.y = DEF.LOGO_Y;
_logo.scaleX = 0.1;
_logo.scaleY = 0.1;
_hintText = createTextField("center", 28, 16777113);
_hintText.x = 0;
_hintText.y = (DEF.SCREEN_HEIGHT - 50);
_hintText.width = DEF.SCREEN_WIDTH;
_hintText.height = 40;
_menu.addChild(_hintText);
TeamUnlockerManager.getSingleton();
}
override public function hide():void{
fadeOut([_menu]);
if (_logo != null){
Tweener.addTween(_logo, {scaleX:0.1, scaleY:0.1, time:0.5, transition:"easeoutbounce"});
};
}
private function unlockTeams():void{
if (_saveGame == null){
_saveGame = new SaveGame("ilMareGames_XeeBee");
};
if (!_saveGame.isFirstTime()){
TeamUnlockerManager.getSingleton().unlockTeam(9, _parent);
};
}
override public function paint():void{
if (_hintText != null){
_hintText.text = _menu.hint;
};
}
protected function createTextField(_arg1:String, _arg2:Number=32, _arg3:Number=0xEEEEEE):TextField{
var _local4:TextField = new TextField();
var _local5:TextFormat = new TextFormat("abadi", _arg2);
_local5.align = _arg1;
_local5.color = _arg3;
var _local6:GlowFilter = new GlowFilter(0, 1, 2, 2, 20, 10, false);
_local4.selectable = false;
_local4.embedFonts = true;
_local4.defaultTextFormat = _local5;
_local4.filters = [_local6];
return (_local4);
}
override public function show():void{
if (!MediaPlayer.getSingleton().isPlaying(MediaPlayer.SND_INTRO)){
MediaPlayer.getSingleton().play(MediaPlayer.SND_INTRO, true);
};
fadeIn([_menu]);
if (_logo != null){
Tweener.addTween(_logo, {scaleX:1, scaleY:1, time:0.5, transition:"easeoutbounce"});
};
}
}
}//package States
Section 228
//StateOptions (States.StateOptions)
package States {
import flash.display.*;
import StateLib.*;
import flash.text.*;
public class StateOptions extends StateMenu {
private var _tutorialOptions:Array;
private var _currentTime:Number;// = 0
private var _showArrow:Boolean;// = true
private var _timeDescText:TextField;
private var _timeOptions:Array;
private var _showTutorialText:TextField;
private var _timeText:TextField;
private var _showTutorial:Boolean;// = true
private var _showArrowText:TextField;
private static const OPTION_BACK:Number = 0;
private static const OPTION_SHOW_TUTORIAL:Number = 3;
private static const OPTION_SHOW_ARROW:Number = 4;
private static const OPTION_LESS_TIME:Number = 1;
private static const OPTION_MORE_TIME:Number = 2;
public function StateOptions(){
_options = new Array({image:IMG.MENU_CHECKED, x:350, y:310, returnValue:OPTION_SHOW_TUTORIAL, hint:"Shows ingame instructions"}, {image:IMG.MENU_UNCHECKED, x:350, y:310, returnValue:OPTION_SHOW_TUTORIAL, hint:"Shows ingame instructions"}, {image:IMG.MENU_CHECKED, x:350, y:350, returnValue:OPTION_SHOW_ARROW, hint:"Shows an arrow that indicates the shoot direction"}, {image:IMG.MENU_UNCHECKED, x:350, y:350, returnValue:OPTION_SHOW_ARROW, hint:"Shows an arrow that indicates the shoot direction"}, {image:IMG.MENU_LESS, x:120, y:270, returnValue:OPTION_LESS_TIME, hint:"Decrease the match time"}, {image:IMG.MENU_MORE, x:280, y:270, returnValue:OPTION_MORE_TIME, hint:"Increase the match time"}, {image:IMG.MENU_BACK, x:200, y:395, returnValue:OPTION_BACK});
_timeOptions = new Array(1, 2, 5, 10, 20);
_currentTime = OptionsManager.getSingleton().matchTimeIndex;
_showTutorial = OptionsManager.getSingleton().showTutorial;
_showArrow = OptionsManager.getSingleton().showArrow;
}
private function updateShowArrow():void{
OptionsManager.getSingleton().showArrow = _showArrow;
if (_showArrow){
_menu.showItem(2);
_menu.hideItem(3);
} else {
_menu.showItem(3);
_menu.hideItem(2);
};
}
private function updateShowTutorial():void{
OptionsManager.getSingleton().showTutorial = _showTutorial;
if (_showTutorial){
_menu.showItem(0);
_menu.hideItem(1);
} else {
_menu.showItem(1);
_menu.hideItem(0);
};
}
private function updateMatchTime():void{
if (_currentTime < 0){
_currentTime = (_timeOptions.length - 1);
};
if (_currentTime >= _timeOptions.length){
_currentTime = 0;
};
OptionsManager.getSingleton().matchTime = _timeOptions[_currentTime];
OptionsManager.getSingleton().matchTimeIndex = _currentTime;
_timeText.text = (_timeOptions[_currentTime] + " min");
}
override public function init(_arg1:Sprite):void{
super.init(_arg1);
_timeDescText = createTextField("center");
_timeDescText.x = 120;
_timeDescText.y = (230 - 20);
_timeDescText.width = 160;
_timeDescText.height = 40;
_timeDescText.text = "Match Time";
_menu.addChild(_timeDescText);
_timeText = createTextField("center");
_timeText.x = (120 + 20);
_timeText.y = (270 - 20);
_timeText.width = 120;
_timeText.height = 40;
_menu.addChild(_timeText);
updateMatchTime();
_showTutorialText = createTextField("center");
_showTutorialText.x = (200 - (210 / 2));
_showTutorialText.y = (310 - 20);
_showTutorialText.width = 210;
_showTutorialText.height = 40;
_showTutorialText.text = "Tutorial";
_menu.addChild(_showTutorialText);
updateShowTutorial();
_showArrowText = createTextField("center");
_showArrowText.x = (200 - (210 / 2));
_showArrowText.y = (350 - 20);
_showArrowText.width = 210;
_showArrowText.height = 40;
_showArrowText.text = "Shoot Direction";
_menu.addChild(_showArrowText);
updateShowArrow();
}
override public function update():int{
switch (_menu.update()){
case OPTION_LESS_TIME:
_currentTime--;
updateMatchTime();
break;
case OPTION_MORE_TIME:
_currentTime++;
updateMatchTime();
break;
case OPTION_SHOW_TUTORIAL:
_showTutorial = !(_showTutorial);
updateShowTutorial();
break;
case OPTION_SHOW_ARROW:
_showArrow = !(_showArrow);
updateShowArrow();
break;
case OPTION_BACK:
return (State.PREVIOUS);
};
return (State.CONTINUE);
}
}
}//package States
Section 229
//StatePenalty (States.StatePenalty)
package States {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import ShooterLib.Unit.*;
import ShooterLib.Base.*;
import StateLib.*;
import SFXLib.*;
import Tournament.*;
import ShooterLib.AI.*;
import GenericUILib.*;
import caurina.transitions.*;
public class StatePenalty extends StateGame {
protected var _originalDelta:Number;
protected var _redSquare:Sprite;
protected var _shootTurn:Number;// = 0
protected static const DEFENDING_GOALKEEPER_X:Number = 0;
protected static const DEFENDING_X:Number = 160;
protected static const STATE_CHANGE_POSITIONS:Number = 12;
protected static const STATE_ATTACKING:Number = 11;
protected static const STATE_SHOOTING:Number = 13;
protected static const ATTACKING_X:Number = 321;
protected static const NULL_GOALKEEPER_X:Number = 5000;
private static const PENALTY_COUNT:Number = 2;
protected static const STATE_DEFENDING:Number = 10;
public function StatePenalty(){
_originalDelta = DEF.ANGULAR_VELOCITY_DELTA;
DEF.ANGULAR_VELOCITY_DELTA = 0.15;
_activeControlsStates = [STATE_ATTACKING, STATE_DEFENDING, STATE_SHOOTING];
}
override public function destroy():void{
super.destroy();
BaseSportAI.movingActive = true;
DEF.ANGULAR_VELOCITY_DELTA = _originalDelta;
}
public function reallocatePlayers(_arg1:Boolean=true):void{
var _local2:Vector = new Vector();
var _local3:Boolean;
var _local4:Vector = new Vector();
var _local5:Boolean;
_ball.logic.releaseFromOrbit(0);
_ball.logic.stop();
if ((_shootTurn % 2) == 0){
_leftGoalkeeper.x = (_leftGoalkeeper.logic.pos.x = DEFENDING_GOALKEEPER_X);
_rightGoalkeeper.x = (_rightGoalkeeper.logic.pos.x = NULL_GOALKEEPER_X);
_local2.setTo(DEFENDING_X, DEF.LEFT_PLAYER_Y);
_local4.setTo(ATTACKING_X, DEF.RIGHT_PLAYER_Y);
_local3 = BaseSportAI.commandToPoint(_leftPlayer, _local2, 5);
_local5 = BaseSportAI.commandToPoint(_rightPlayer, _local4, 5);
if (((((_local3) && (_local5))) || (_arg1))){
_leftPlayer.x = (_leftPlayer.logic.pos.x = DEFENDING_X);
_leftPlayer.y = (_leftPlayer.logic.pos.y = DEF.LEFT_PLAYER_Y);
_rightPlayer.x = (_rightPlayer.logic.pos.x = ATTACKING_X);
_rightPlayer.y = (_rightPlayer.logic.pos.y = DEF.RIGHT_PLAYER_Y);
if (MatchManager.getSingleton().leftAIControlled){
setState(STATE_ATTACKING);
} else {
setState(STATE_DEFENDING);
};
};
} else {
_leftGoalkeeper.x = (_leftGoalkeeper.logic.pos.x = NULL_GOALKEEPER_X);
_rightGoalkeeper.x = (_rightGoalkeeper.logic.pos.x = DEFENDING_GOALKEEPER_X);
_local2.setTo(ATTACKING_X, DEF.LEFT_PLAYER_Y);
_local4.setTo(DEFENDING_X, DEF.RIGHT_PLAYER_Y);
_local3 = BaseSportAI.commandToPoint(_leftPlayer, _local2, 5);
_local5 = BaseSportAI.commandToPoint(_rightPlayer, _local4, 5);
if (((((_local3) && (_local5))) || (_arg1))){
_leftPlayer.x = (_leftPlayer.logic.pos.x = ATTACKING_X);
_leftPlayer.y = (_leftPlayer.logic.pos.y = DEF.LEFT_PLAYER_Y);
_rightPlayer.x = (_rightPlayer.logic.pos.x = DEFENDING_X);
_rightPlayer.y = (_rightPlayer.logic.pos.y = DEF.RIGHT_PLAYER_Y);
if (MatchManager.getSingleton().leftAIControlled){
setState(STATE_DEFENDING);
} else {
setState(STATE_ATTACKING);
};
};
};
}
protected function get foePlayer():GravityBallSprite{
if (_leftPlayer == currentPlayer){
return (_rightPlayer);
};
return (_leftPlayer);
}
override protected function initTeams():void{
var _local1:Object;
_local1 = DifficultManager.instance.balancePlayer(_leftPlayerData, _rightPlayerData, MatchManager.getSingleton().leftAIControlled);
_leftPlayer.init(DEFENDING_X, DEF.LEFT_PLAYER_Y, (_local1.mass * DEF.MASS_COEFF), (_local1.speed * DEF.SPEED_COEFF), 0.1, (_local1.shoot * DEF.ATTACK_COEFF), true);
_leftGoalkeeper.init(DEFENDING_GOALKEEPER_X, DEF.LEFT_GOALKEEKER_Y, (_local1.goalkeeper * DEF.DEFENSE_COEFF), 0, 1, 0, false, false, true);
_local1 = DifficultManager.instance.balancePlayer(_rightPlayerData, _leftPlayerData, MatchManager.getSingleton().rightAIControlled);
_rightPlayer.init(ATTACKING_X, DEF.RIGHT_PLAYER_Y, (_local1.mass * DEF.MASS_COEFF), (_local1.speed * DEF.SPEED_COEFF), 0.1, (_local1.shoot * DEF.ATTACK_COEFF), true);
_rightGoalkeeper.init(NULL_GOALKEEPER_X, DEF.RIGHT_GOALKEEPER_Y, (_local1.goalkeeper * DEF.DEFENSE_COEFF), 0, 1, 0, false, false, true);
}
override public function update():int{
var hasShoot:Boolean;
var ready:Boolean;
switch (_state){
case STATE_INIT_GAME:
if (((_anyKeyPressed) || (_mouse1Pressed))){
setState(STATE_WAITING);
Tweener.addTween(_frontCanvas, {time:0.5, alpha:0, onComplete:function ():void{
_frontCanvas.removeChild(_leftTeamName);
_frontCanvas.removeChild(_rightTeamName);
_frontCanvas.graphics.clear();
_frontCanvas.alpha = 1;
SFX.getSingleton().showFadingMessage(_frontCanvas, IMG.getSingleton().getBitmapData(IMG.MESSAGE_PENALTIES), (DEF.MAP_WIDTH / 2), (DEF.MAP_HEIGHT / 2), 2, 0, reallocatePlayers);
}});
};
break;
case STATE_ATTACKING:
updatePlayers(true);
if (_mouse2Pressed){
setState(STATE_SHOOTING);
};
break;
case STATE_DEFENDING:
updatePlayers(true);
hasShoot = false;
if (MatchManager.getSingleton().rightAIControlled){
hasShoot = _rightPlayerAI.hasShoot();
};
if (MatchManager.getSingleton().leftAIControlled){
hasShoot = _leftPlayerAI.hasShoot();
};
if (hasShoot){
setState(STATE_SHOOTING);
};
break;
case STATE_CHANGE_POSITIONS:
trace("TURN:", _shootTurn, _leftScore, _rightScore);
if (_shootTurn > (((PENALTY_COUNT - 1) * 2) + 1)){
trace("FINISHEADO");
if (((((_shootTurn % 2) == 1)) && (!((_leftScore == _rightScore))))){
_parent.y = 0;
MatchManager.getSingleton().setMatchResults(_leftScore, _rightScore);
_nextState = new StateMatchEnd();
return (State.NEXT_AND_DESTROY);
};
};
reallocatePlayers(false);
break;
case STATE_GOAL:
Tweener.addTween(particleRenderer, {time:2, alpha:0, onComplete:function (){
paperRain.stop();
setState(STATE_CHANGE_POSITIONS);
}});
setState(STATE_WAITING);
break;
case STATE_SHOOTING:
updatePlayers(true);
_clock.update();
if (_clock.finished()){
setState(STATE_CHANGE_POSITIONS);
};
break;
};
return (super.update());
}
override protected function ballCallback(_arg1:GravityBallLogic):void{
super.ballCallback(_arg1);
if ((((_state == STATE_SHOOTING)) && ((((_arg1 == _leftPlayer.logic)) || ((_arg1 == _rightPlayer.logic)))))){
_clock.forceEnd();
};
}
override public function setState(_arg1:Number):void{
trace("setState(", _arg1, ")");
if (_redSquare){
if (_arg1 == STATE_DEFENDING){
_redSquare.visible = true;
} else {
_redSquare.visible = false;
};
};
switch (_arg1){
case STATE_ATTACKING:
_leftPlayer.logic.stop();
_rightPlayer.logic.stop();
activateControls(currentPlayer);
currentPlayer.logic.orbitChild = _ball.logic;
_ball.logic.orbitAround(currentPlayer.logic, ((Math.random() > 0.5)) ? 1 : -1, false);
BaseSportAI.movingActive = false;
GravityBallLogic.collisionsActivated = true;
break;
case STATE_DEFENDING:
_leftPlayer.logic.stop();
_rightPlayer.logic.stop();
activateControls(currentPlayer);
foePlayer.logic.orbitChild = _ball.logic;
_ball.logic.orbitAround(foePlayer.logic, ((Math.random() > 0.5)) ? 1 : -1, false);
BaseSportAI.movingActive = false;
GravityBallLogic.collisionsActivated = true;
break;
case STATE_GOAL:
_menuButton.visible = false;
_ball.logic.releaseFromOrbit(0);
_ball.logic.stop();
MediaPlayer.getSingleton().play(MediaPlayer.SND_INGAME_GOAL);
SFX.getSingleton().showFadingMessage(_frontCanvas, IMG.getSingleton().getBitmapData(IMG.MESSAGE_GOAL), (DEF.MAP_WIDTH / 2), (DEF.MAP_HEIGHT / 2), 2, 0);
paperRain.start();
particleRenderer.alpha = 1;
GravityBallLogic.collisionsActivated = false;
_state = _arg1;
return;
case STATE_CHANGE_POSITIONS:
_shootTurn++;
GravityBallLogic.collisionsActivated = false;
break;
case STATE_SHOOTING:
_clock.start();
BaseSportAI.movingActive = true;
break;
};
super.setState(_arg1);
}
override protected function createClock():void{
_clock = new CircularFilledClock(0, 3, 25, 0x222222, 1, 0xFF0000);
_topPanel.addChild(_clock);
_clock.x = (DEF.SCREEN_WIDTH / 2);
_clock.y = 40;
}
override public function init(_arg1:Sprite):void{
super.init(_arg1);
_leftPlayer.resetAffectors();
_rightPlayer.resetAffectors();
_leftPlayerAI = new BaseSportAI(_leftPlayer, _ball.logic, _leftGoalkeeper.logic, _rightGoalkeeper.logic, BaseSportAI.TYPE_TACTIC);
_rightPlayerAI = new BaseSportAI(_rightPlayer, _ball.logic, _rightGoalkeeper.logic, _leftGoalkeeper.logic, BaseSportAI.TYPE_TACTIC);
_redSquare = new Sprite();
_redSquare.graphics.lineStyle(2, 0xFF0000);
_redSquare.graphics.beginFill(0xFF0000, 0.2);
_redSquare.graphics.drawRect(5, 5, ((10 + DEFENDING_X) + 40), (DEF.MAP_HEIGHT - 10));
_redSquare.graphics.endFill();
_backgroundCanvas.addChildAt(_redSquare, 0);
_redSquare.visible = false;
}
protected function updatePlayers(_arg1:Boolean=false):void{
reallocatePlayer(_rightPlayer.logic);
reallocatePlayer(_leftPlayer.logic);
if (!_ball.logic.orbiting){
reallocatePlayer(_ball.logic);
};
if (DEF.MOUSE_CONTROL){
_left1Pressed = (_left2Pressed = false);
_right1Pressed = (_right2Pressed = false);
_up1Pressed = (_up2Pressed = false);
_down1Pressed = (_down2Pressed = false);
currentPlayer.logic.pos.x = currentPlayer.x;
currentPlayer.logic.pos.y = currentPlayer.y;
};
_ball.update(false, false, false, false, false, 0, 0);
if (_arg1){
currentPlayer.update(_up1Pressed, _down1Pressed, _left1Pressed, _right1Pressed, _mouse1Pressed, 0, 0);
if (MatchManager.getSingleton().rightAIControlled){
_rightPlayerAI.update(null, [_leftPlayer.logic]);
};
if (MatchManager.getSingleton().leftAIControlled){
_leftPlayerAI.update(null, [_rightPlayer.logic]);
};
};
}
override protected function onPlayerMouseOver(_arg1:MouseEvent):void{
var _local2:GravityBallSprite = (_arg1.target as GravityBallSprite);
if (_state == STATE_ATTACKING){
_local2.startDrag(true, new Rectangle(ATTACKING_X, (DEF.MAP_HEIGHT / 2), 1, 1));
};
if (_state == STATE_DEFENDING){
_local2.startDrag(true, new Rectangle(20, 20, (20 + DEFENDING_X), (DEF.MAP_HEIGHT - 40)));
};
if (_state == STATE_SHOOTING){
_local2.startDrag(true, new Rectangle(30, 20, (DEF.MAP_WIDTH - 60), (DEF.MAP_HEIGHT - 40)));
};
_local2.filters = [];
}
}
}//package States
Section 230
//StatePlayground (States.StatePlayground)
package States {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import ShooterLib.Unit.*;
import ShooterLib.Base.*;
import StateLib.*;
import SFXLib.*;
import GenericUILib.*;
import ShooterLib.Shootable.*;
import flash.ui.*;
public class StatePlayground extends State {
private var _backgroundCanvas:Sprite;
private var _playerIndicatorDelta:Number;// = 1
private var _topPanel:Sprite;
private var _areaRight:GravityBallSprite;
private var _down2Pressed:Boolean;// = false
private var _areaLeft:GravityBallSprite;
private var _left1Pressed:Boolean;// = false
private var _frontCanvas:Sprite;
private var _menuButton:GenericButton;
private var _right2Pressed:Boolean;// = false
private var _down1Pressed:Boolean;// = false
private var _mouse2Pressed:Boolean;// = false
private var _deltaRadial:Number;// = 0
private var _blurCanvas:Sprite;
private var _rightGoalkeeper:GravityBallSprite;
private var _boundingBox:Rectangle;
private var _up2Pressed:Boolean;// = false
private var _leftGoalkeeper:GravityBallSprite;
private var _anyKeyPressed:Boolean;// = false
private var _right1Pressed:Boolean;// = false
private var _mouse1Pressed:Boolean;// = false
private var _arrowHelper:Sprite;
private var _ball:GravityBallSprite;
private var _obstacleCanvas:Sprite;
private var _leftPlayer:GravityBallSprite;
private var _up1Pressed:Boolean;// = false
private var _playerIndicator:Sprite;
private var _tutorialCanvas:Sprite;
private var _left2Pressed:Boolean;// = false
protected function removeTutorialCanvas():void{
if (_tutorialCanvas != null){
_backgroundCanvas.removeChild(_tutorialCanvas);
};
_tutorialCanvas = null;
}
protected function ballCallback(_arg1:GravityBallLogic):void{
var _local2:Number;
var _local3:Vector;
var _local4:Vector;
MediaPlayer.getSingleton().play(MediaPlayer.SND_INGAME_SHOCK);
if (_arg1 == _leftGoalkeeper.logic){
SFX.getSingleton().showFadingMessage(_frontCanvas, IMG.getSingleton().getBitmapData(IMG.MESSAGE_GOAL), (DEF.MAP_WIDTH / 2), -40, 2, 0);
return;
};
if (_arg1 == _rightGoalkeeper.logic){
SFX.getSingleton().showFadingMessage(_frontCanvas, IMG.getSingleton().getBitmapData(IMG.MESSAGE_GOAL), (DEF.MAP_WIDTH / 2), -40, 2, 0);
return;
};
if (_arg1 == _leftPlayer.logic){
_local3 = Vector.UNITY_X.minus(_leftPlayer.pos).normalize();
_local4 = _ball.pos.minus(_leftPlayer.pos).normalize();
_ball.logic.orbitAround(_leftPlayer.logic, ((_local3.cross(_local4) > 0)) ? 1 : -1);
return;
};
}
override public function keyDown(_arg1:KeyboardEvent):void{
super.keyDown(_arg1);
_anyKeyPressed = true;
switch (_arg1.keyCode){
case Keyboard.UP:
case 87:
_up1Pressed = (_up2Pressed = true);
break;
case Keyboard.DOWN:
case 83:
_down1Pressed = (_down2Pressed = true);
break;
case Keyboard.LEFT:
case 65:
_left1Pressed = (_left2Pressed = true);
break;
case Keyboard.RIGHT:
case 68:
_right1Pressed = (_right2Pressed = true);
break;
case Keyboard.SPACE:
case Keyboard.ENTER:
_mouse1Pressed = (_mouse2Pressed = true);
break;
};
}
private function leftPlayerCallback(_arg1:GravityBallLogic):void{
}
override public function init(_arg1:Sprite):void{
var _local8:Matrix;
var _local9:BitmapData;
super.init(_arg1);
MediaPlayer.getSingleton().stop(MediaPlayer.SND_INTRO);
_parent.y = (DEF.SCREEN_HEIGHT - DEF.MAP_HEIGHT);
_backgroundCanvas = new Sprite();
_backgroundCanvas.graphics.beginBitmapFill(IMG.getSingleton().getBitmapData(IMG.BACKGROUND_PLAYGROUND));
_backgroundCanvas.graphics.drawRect(0, 0, DEF.MAP_WIDTH, DEF.MAP_HEIGHT);
_backgroundCanvas.graphics.endFill();
if (OptionsManager.getSingleton().showTutorial){
_tutorialCanvas = new Sprite();
_backgroundCanvas.addChild(_tutorialCanvas);
_local9 = IMG.getSingleton().getBitmapData(IMG.TUTORIAL_KEYS);
_local8 = new Matrix();
_local8.translate(((DEF.MAP_WIDTH / 2) - (_local9.width / 2)), ((DEF.MAP_HEIGHT / 2) - (_local9.height / 2)));
_tutorialCanvas.graphics.beginBitmapFill(_local9, _local8);
_tutorialCanvas.graphics.drawRect(((DEF.MAP_WIDTH / 2) - (_local9.width / 2)), ((DEF.MAP_HEIGHT / 2) - (_local9.height / 2)), _local9.width, _local9.height);
};
_parent.addChild(_backgroundCanvas);
_obstacleCanvas = new Sprite();
_parent.addChild(_obstacleCanvas);
_frontCanvas = new Sprite();
_parent.addChild(_frontCanvas);
_blurCanvas = new Sprite();
_parent.addChild(_blurCanvas);
_leftPlayer = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG.TEAM0_ATTACKER));
_leftGoalkeeper = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG.TEAM0_GOALKEEPER));
_rightGoalkeeper = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG.TEAM0_GOALKEEPER));
var _local2:Number = 5;
var _local3:Number = 5;
var _local4:Number = 5;
var _local5:Number = 5;
_leftPlayer.init(DEF.LEFT_PLAYER_ADV_X, DEF.LEFT_PLAYER_Y, (_local3 * DEF.MASS_COEFF), (_local2 * DEF.SPEED_COEFF), 0.1, (_local5 * DEF.ATTACK_COEFF), true);
_leftGoalkeeper.init(DEF.LEFT_GOALKEEPER_X, DEF.LEFT_GOALKEEKER_Y, (_local4 * DEF.DEFENSE_COEFF), 0, 1, 0, false, false, true);
_rightGoalkeeper.init(DEF.RIGHT_GOALKEEPER_X, DEF.LEFT_GOALKEEKER_Y, (_local4 * DEF.DEFENSE_COEFF), 0, 1, 0, false, false, true);
_arrowHelper = new Sprite();
_local9 = IMG.getSingleton().getBitmapData(IMG.ARROW_HELPER);
_local8 = new Matrix();
_local8.translate(0, (-(_local9.height) / 2));
_arrowHelper.graphics.beginBitmapFill(_local9, _local8);
_arrowHelper.graphics.drawRect(0, (-(_local9.height) / 2), _local9.width, _local9.height);
_arrowHelper.graphics.endFill();
_arrowHelper.x = DEF.BALL_X;
_arrowHelper.x = DEF.BALL_Y;
_backgroundCanvas.addChild(_arrowHelper);
_backgroundCanvas.addChild(_leftPlayer);
_backgroundCanvas.addChild(_leftGoalkeeper);
_backgroundCanvas.addChild(_rightGoalkeeper);
_ball = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG.BALL));
_ball.init(DEF.BALL_X, DEF.BALL_Y, 500, 100, 0.01, 0, false, true);
_ball.autoRotate = true;
_backgroundCanvas.addChild(_ball);
_areaLeft = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG.AREA));
_areaLeft.init(DEF.LEFT_GOALKEEPER_X, DEF.LEFT_GOALKEEKER_Y, 1, 0, 0, 0, false, false, true);
_backgroundCanvas.addChild(_areaLeft);
_areaRight = new GravityBallSprite(IMG.getSingleton().getBitmapData(IMG.AREA));
_areaRight.init(DEF.RIGHT_GOALKEEPER_X, DEF.RIGHT_GOALKEEPER_Y, 1, 0, 0, 0, false, false, true);
_backgroundCanvas.addChild(_areaRight);
_ball.addAffector(_leftGoalkeeper);
_ball.addAffector(_rightGoalkeeper);
_ball.addAffector(_leftPlayer);
_leftPlayer.addAffector(_ball);
_ball.addBallCollider(_leftPlayer);
_ball.addBallCollider(_leftGoalkeeper);
_ball.addBallCollider(_rightGoalkeeper);
_leftPlayer.addBallCollider(_ball);
_leftPlayer.addBallCollider(_leftGoalkeeper);
_leftPlayer.addBallCollider(_rightGoalkeeper);
_leftPlayer.addBallCollider(_areaLeft);
_leftPlayer.addBallCollider(_areaRight);
_ball.collisionCallback = ballCallback;
_leftPlayer.collisionCallback = leftPlayerCallback;
_boundingBox = new Rectangle(0, 0, DEF.MAP_WIDTH, DEF.MAP_HEIGHT);
Mobile.setBoundingBox(_boundingBox);
var _local6:Number = 100;
var _local7:Number = -90;
FixedObjects.init(_obstacleCanvas);
FixedObjects.add(new Rectangle(0, _local7, DEF.MAP_WIDTH, _local6));
FixedObjects.add(new Rectangle(0, (DEF.MAP_HEIGHT - (_local7 + _local6)), DEF.MAP_WIDTH, _local6));
FixedObjects.add(new Rectangle(_local7, 0, _local6, DEF.MAP_HEIGHT));
FixedObjects.add(new Rectangle((DEF.MAP_WIDTH - (_local7 + _local6)), 0, _local6, DEF.MAP_HEIGHT));
_playerIndicator = new Sprite();
_local8 = new Matrix();
_local9 = IMG.getSingleton().getBitmapData(IMG.PLAYER_INDICATOR);
_local8.translate((-(_local9.width) / 2), (-(_local9.height) / 2));
_playerIndicator.graphics.beginBitmapFill(_local9, _local8);
_playerIndicator.graphics.drawRect((-(_local9.width) / 2), (-(_local9.height) / 2), _local9.width, _local9.height);
_playerIndicator.y = -30;
_leftPlayer.addChild(_playerIndicator);
var _local10:BitmapData = IMG.getSingleton().getBitmapData(IMG.TOP_PANEL_PLAYGROUND);
_topPanel = new Sprite();
_topPanel.graphics.beginBitmapFill(_local10);
_topPanel.graphics.drawRect(0, 0, DEF.SCREEN_WIDTH, _local10.height);
_topPanel.graphics.endFill();
_topPanel.x = 0;
_topPanel.y = -(_local10.height);
_backgroundCanvas.addChild(_topPanel);
_menuButton = new GenericButton(IMG.getSingleton().getBitmapData(IMG.EXIT_PANEL_BUTTON), IMG.getSingleton().getBitmapData(IMG.EXIT_PANEL_BUTTON), true);
_menuButton.x = 40;
_menuButton.y = 40;
_menuButton.visible = true;
_topPanel.addChild(_menuButton);
GravityBallLogic.collisionsActivated = true;
}
override public function update():int{
if (_menuButton.isPressed){
_parent.y = 0;
return (State.PREVIOUS);
};
reallocatePlayer(_leftPlayer.logic);
if (!_ball.logic.orbiting){
reallocatePlayer(_ball.logic);
};
_ball.update(false, false, false, false, false, 0, 0);
_leftPlayer.update(_up1Pressed, _down1Pressed, _left1Pressed, _right1Pressed, _mouse1Pressed, 0, 0);
return (State.CONTINUE);
}
override public function mouseUp(_arg1:MouseEvent):void{
super.mouseUp(_arg1);
_mouse1Pressed = (_mouse2Pressed = false);
}
override public function hide():void{
fadeOut([_backgroundCanvas, _frontCanvas, _obstacleCanvas, _blurCanvas]);
}
override public function keyUp(_arg1:KeyboardEvent):void{
super.keyUp(_arg1);
_anyKeyPressed = false;
switch (_arg1.keyCode){
case Keyboard.UP:
case 87:
_up1Pressed = (_up2Pressed = false);
break;
case Keyboard.DOWN:
case 83:
_down1Pressed = (_down2Pressed = false);
break;
case Keyboard.LEFT:
case 65:
_left1Pressed = (_left2Pressed = false);
break;
case Keyboard.RIGHT:
case 68:
_right1Pressed = (_right2Pressed = false);
break;
case Keyboard.SPACE:
case Keyboard.ENTER:
_mouse1Pressed = (_mouse2Pressed = false);
break;
};
}
override public function paint():void{
_playerIndicatorDelta = (_playerIndicatorDelta + 0.5);
_playerIndicator.y = (-26 + (Math.sin(_playerIndicatorDelta) * 2));
_playerIndicator.scaleX = (0.5 + (Math.cos(_playerIndicatorDelta) * 0.5));
if (OptionsManager.getSingleton().showArrow){
if (((_ball.logic.orbiting) && ((_ball.logic.orbitParent == _leftPlayer.logic)))){
_arrowHelper.visible = true;
_arrowHelper.x = _ball.x;
_arrowHelper.y = _ball.y;
_arrowHelper.scaleX = (_ball.logic.launchMagnitude / 20);
_arrowHelper.rotation = _ball.logic.launchAngle;
} else {
_arrowHelper.visible = false;
};
};
_leftGoalkeeper.paint();
_rightGoalkeeper.paint();
_ball.paint();
_deltaRadial = (_deltaRadial + 0.5);
SFX.getSingleton().radialGradient(_leftGoalkeeper, 5, 3, _deltaRadial, 0xFFFFFF);
SFX.getSingleton().radialGradient(_rightGoalkeeper, 5, 3, _deltaRadial, 0xFFFFFF);
}
override public function mouseDown(_arg1:MouseEvent):void{
super.mouseDown(_arg1);
_mouse1Pressed = (_mouse2Pressed = true);
}
private function reallocatePlayer(_arg1:GravityBallLogic):void{
var _local2:Vector = _arg1.pos;
var _local3:Number = _arg1.radius;
var _local4:Number = 10;
if ((_local2.x + _local3) > (_boundingBox.right - _local4)){
_local2.x = ((_boundingBox.right - _local4) - _local3);
};
if ((_local2.x - _local3) < (_boundingBox.left + _local4)){
_local2.x = ((_boundingBox.left + _local4) + _local3);
};
if ((_local2.y + _local3) > (_boundingBox.bottom - _local4)){
_local2.y = ((_boundingBox.bottom - _local4) - _local3);
};
if ((_local2.y - _local3) < (_boundingBox.top + _local4)){
_local2.y = ((_boundingBox.top + _local4) + _local3);
};
}
override public function destroy():void{
fadeOutAndRemove([_backgroundCanvas, _frontCanvas, _obstacleCanvas, _blurCanvas]);
MediaPlayer.getSingleton().stop(MediaPlayer.SND_INGAME1, MediaPlayer.SND_INGAME5);
}
override public function show():void{
fadeIn([_backgroundCanvas, _frontCanvas, _obstacleCanvas, _blurCanvas]);
MediaPlayer.getSingleton().loopBetween(MediaPlayer.SND_INGAME1, MediaPlayer.SND_INGAME5);
}
}
}//package States
Section 231
//StateQuickMatchMenu (States.StateQuickMatchMenu)
package States {
import StateLib.*;
import Tournament.*;
public class StateQuickMatchMenu extends StateMenu {
private static const OPTION_BACK:Number = 3;
private static const OPTION_1P_2P:Number = 1;
private static const OPTION_COM_COM:Number = 2;
private static const OPTION_1P_COM:Number = 0;
public function StateQuickMatchMenu(){
_options = new Array({image:IMG.MENU_1P_VS_COM, x:200, y:230, returnValue:OPTION_1P_COM, hint:"Play against the computer"}, {image:IMG.MENU_BACK, x:200, y:390, returnValue:OPTION_BACK});
}
override public function update():int{
var _local1:Boolean;
switch (_menu.update()){
case OPTION_1P_COM:
MatchManager.getSingleton().setType(MatchManager.TYPE_QUICK_MATCH_1P_COM);
_local1 = true;
break;
case OPTION_1P_2P:
MatchManager.getSingleton().setType(MatchManager.TYPE_QUICK_MATCH_1P_2P);
_local1 = true;
break;
case OPTION_COM_COM:
MatchManager.getSingleton().setType(MatchManager.TYPE_QUICK_MATCH_COM_COM);
_local1 = true;
break;
case OPTION_BACK:
return (State.PREVIOUS);
};
if (_local1){
_nextState = new StateSelectTeam();
return (State.NEXT);
};
return (State.CONTINUE);
}
}
}//package States
Section 232
//StateScheduleInfo (States.StateScheduleInfo)
package States {
import flash.events.*;
import flash.display.*;
import StateLib.*;
import flash.text.*;
import Teams.*;
import SFXLib.*;
import Tournament.*;
import GenericUILib.*;
import caurina.transitions.*;
import flash.filters.*;
public class StateScheduleInfo extends State {
protected var _weekDesc:TextField;
protected var _lastWeek:GenericButton;
protected var _lastGroup:GenericButton;
protected var _background:Sprite;
protected var _currentWeek:Number;
protected var _nextGroup:GenericButton;
protected var _backButton:GenericButton;
protected var _skip:Boolean;// = false
protected var _frontCanvas:Sprite;
protected var _nextButton:GenericButton;
protected var _currentGroup:Number;
protected var _nextWeek:GenericButton;
protected var _resultsDesc:TextField;
protected var _font:BitmapFont;
protected var _optionsButton:GenericButton;
protected var _highlight:Sprite;
public static const STANDINGS_X:Number = 320;
public static const STANDINGS_Y:Number = 360;
public static const POSITIONS_X:Number = 90;
public static const POSITIONS_Y:Number = 182;
private static const DELTA_Y:Number = 50;
protected function touchPanelOver(_arg1:MouseEvent):void{
_resultsDesc.text = (_arg1.target.name as String);
_highlight.y = (_arg1.target.y as Number);
Tweener.addTween(_highlight, {time:1, x:_arg1.target.x});
_highlight.visible = true;
}
override public function hide():void{
fadeOut([_background]);
}
override public function init(_arg1:Sprite):void{
var _local8:Sprite;
super.init(_arg1);
_parent = _arg1;
_currentGroup = MatchManager.getSingleton().playerGroup;
_background = new Sprite();
_background.graphics.beginBitmapFill(IMG.getSingleton().getBitmapData(IMG.SEASON_RESULTS));
_background.graphics.drawRect(0, 0, DEF.SCREEN_WIDTH, DEF.SCREEN_HEIGHT);
_background.graphics.endFill();
_parent.addChild(_background);
_frontCanvas = new Sprite();
_background.addChild(_frontCanvas);
_font = new BitmapFont(IMG.getSingleton().getBitmapData(IMG.LCD_FONT_SMALL), 13, 20, [97, 65, 32]);
var _local2:TextFormat = new TextFormat("abadi", 32);
_local2.align = "center";
_local2.color = 0xEEEEEE;
var _local3:GlowFilter = new GlowFilter(0, 1, 2, 2, 2, 1, false);
_resultsDesc = new TextField();
_resultsDesc.selectable = false;
_resultsDesc.x = ((DEF.SCREEN_WIDTH / 2) - (375 / 2));
_resultsDesc.y = 111;
_resultsDesc.width = 375;
_resultsDesc.height = 30;
_resultsDesc.alpha = 0.8;
_resultsDesc.embedFonts = true;
_resultsDesc.defaultTextFormat = _local2;
_resultsDesc.filters = [_local3];
_resultsDesc.text = ("STANDINGS - GROUP " + MatchManager.GROUPS_STRINGS[_currentGroup]);
_background.addChild(_resultsDesc);
var _local4:Sprite = new Sprite();
var _local5:BitmapData = IMG.getSingleton().getBitmapData(IMG.TEAM_NAME_REFLECTION);
_local4.graphics.beginBitmapFill(_local5);
_local4.graphics.drawRect(0, 0, _local5.width, _local5.height);
_local4.graphics.endFill();
_local4.x = ((DEF.SCREEN_WIDTH / 2) - (_local5.width / 2));
_local4.y = 106;
_background.addChild(_local4);
_weekDesc = new TextField();
_weekDesc.selectable = false;
_weekDesc.x = ((DEF.SCREEN_WIDTH / 2) - (375 / 2));
_weekDesc.y = 311;
_weekDesc.width = 375;
_weekDesc.height = 30;
_weekDesc.alpha = 0.8;
_weekDesc.embedFonts = true;
_weekDesc.defaultTextFormat = _local2;
_weekDesc.filters = [_local3];
_background.addChild(_weekDesc);
_local4 = new Sprite();
_local5 = IMG.getSingleton().getBitmapData(IMG.TEAM_NAME_REFLECTION);
_local4.graphics.beginBitmapFill(_local5);
_local4.graphics.drawRect(0, 0, _local5.width, _local5.height);
_local4.graphics.endFill();
_local4.x = ((DEF.SCREEN_WIDTH / 2) - (_local5.width / 2));
_local4.y = 307;
_background.addChild(_local4);
paintStandings(_currentGroup);
var _local6:SeasonWeekInfo = MatchManager.getSingleton().weekSchedule();
paintResults(_local6);
_nextWeek = new GenericButton(IMG.getSingleton().getBitmapData(IMG.BUTTON_RIGHT_ARROW), IMG.getSingleton().getBitmapData(IMG.BUTTON_RIGHT_ARROW), true);
_nextWeek.x = 536;
_nextWeek.y = 330;
_background.addChild(_nextWeek);
_lastWeek = new GenericButton(IMG.getSingleton().getBitmapData(IMG.BUTTON_LEFT_ARROW), IMG.getSingleton().getBitmapData(IMG.BUTTON_LEFT_ARROW), true);
_lastWeek.x = 103;
_lastWeek.y = 330;
_background.addChild(_lastWeek);
_nextGroup = new GenericButton(IMG.getSingleton().getBitmapData(IMG.BUTTON_RIGHT_ARROW), IMG.getSingleton().getBitmapData(IMG.BUTTON_RIGHT_ARROW), true);
_nextGroup.x = _nextWeek.x;
_nextGroup.y = 129;
_background.addChild(_nextGroup);
_lastGroup = new GenericButton(IMG.getSingleton().getBitmapData(IMG.BUTTON_LEFT_ARROW), IMG.getSingleton().getBitmapData(IMG.BUTTON_LEFT_ARROW), true);
_lastGroup.x = _lastWeek.x;
_lastGroup.y = 129;
_background.addChild(_lastGroup);
_nextButton = new GenericButton(IMG.getSingleton().getBitmapData(IMG.BUTTON_NEXT), IMG.getSingleton().getBitmapData(IMG.BUTTON_NEXT), true);
_nextButton.x = DEF.BUTTON_NEXT_X;
_nextButton.y = (DEF.BUTTON_NEXT_Y + DELTA_Y);
_background.addChild(_nextButton);
_backButton = new GenericButton(IMG.getSingleton().getBitmapData(IMG.BUTTON_BACK), IMG.getSingleton().getBitmapData(IMG.BUTTON_BACK), true);
_backButton.x = DEF.BUTTON_BACK_X;
_backButton.y = (DEF.BUTTON_BACK_Y + DELTA_Y);
_background.addChild(_backButton);
_optionsButton = new GenericButton(IMG.getSingleton().getBitmapData(IMG.OPTIONS_PANEL_BUTTON), IMG.getSingleton().getBitmapData(IMG.OPTIONS_PANEL_BUTTON), true);
_optionsButton.x = (DEF.SCREEN_WIDTH / 2);
_optionsButton.y = (DEF.BUTTON_NEXT_Y + DELTA_Y);
_background.addChild(_optionsButton);
_currentWeek = MatchManager.getSingleton().currentWeek;
_weekDesc.text = ("RESULTS - WEEK " + _currentWeek);
_highlight = new Sprite();
_highlight.graphics.lineStyle(2, 15658751, 0.5);
_highlight.graphics.beginFill(15663086, 0.1);
_highlight.graphics.drawRoundRect(0, 0, 42, 120, 10, 10);
_highlight.graphics.endFill();
_highlight.graphics.lineStyle();
_highlight.visible = false;
_frontCanvas.addChild(_highlight);
var _local7:Array = new Array("MATCHES PLAYED ", "MATCHES WON", "MATCHES DRAW", "MATCHES LOST", "GOALS FAVOUR", "GOALS AGAINST", "GOALS DIFFERENCE", "POINTS");
var _local9:Number = 0;
while (_local9 < _local7.length) {
_local8 = new Sprite();
_local8.graphics.beginFill(0xFFFFFF, 0);
_local8.graphics.drawRect(0, 0, 42, 120);
_local8.graphics.endFill();
_local8.name = _local7[_local9];
_local8.x = (250 + (42 * _local9));
_local8.y = 152;
_frontCanvas.addChild(_local8);
_local8.addEventListener(MouseEvent.MOUSE_OVER, touchPanelOver, false, 0, true);
_local8.addEventListener(MouseEvent.MOUSE_OUT, touchPanelOut, false, 0, true);
_local9++;
};
MatchManager.getSingleton().save();
}
public function unlockTeams():void{
if (MatchManager.getSingleton().currentPlayerGoalsDifference >= 10){
TeamUnlockerManager.getSingleton().unlockTeam(5, _parent);
};
}
override public function update():int{
unlockTeams();
if (_optionsButton.isPressed){
_nextState = new StateOptions();
return (State.NEXT);
};
if (_nextWeek.isPressed){
_currentWeek++;
if (_currentWeek >= MatchManager.getSingleton().weekCount){
_currentWeek = 0;
};
_frontCanvas.graphics.clear();
paintStandings(_currentGroup);
paintResults(MatchManager.getSingleton().seasonScheduleForGroupAndWeek(_currentGroup, _currentWeek));
};
if (_lastWeek.isPressed){
_currentWeek--;
if (_currentWeek < 0){
_currentWeek = (MatchManager.getSingleton().weekCount - 1);
};
_frontCanvas.graphics.clear();
paintStandings(_currentGroup);
paintResults(MatchManager.getSingleton().seasonScheduleForGroupAndWeek(_currentGroup, _currentWeek));
};
if (_lastGroup.isPressed){
_currentGroup--;
if (_currentGroup < 0){
_currentGroup = (MatchManager.getSingleton().groupCount - 1);
};
trace(_currentGroup);
_frontCanvas.graphics.clear();
paintStandings(_currentGroup);
paintResults(MatchManager.getSingleton().seasonScheduleForGroupAndWeek(_currentGroup, _currentWeek));
};
if (_nextGroup.isPressed){
_currentGroup++;
if (_currentGroup >= MatchManager.getSingleton().groupCount){
_currentGroup = 0;
};
trace(_currentGroup);
_frontCanvas.graphics.clear();
paintStandings(_currentGroup);
paintResults(MatchManager.getSingleton().seasonScheduleForGroupAndWeek(_currentGroup, _currentWeek));
};
if (((_nextButton.isPressed) || (_skip))){
if (DEF.SKIP_SEASON_MATCHES){
_skip = false;
MatchManager.getSingleton().setupNextMatch();
MatchManager.getSingleton().setMatchResults((MatchManager.getSingleton().leftAIControlled) ? 0 : 2, (MatchManager.getSingleton().rightAIControlled) ? 0 : 2);
_nextState = new StateMatchEnd();
return (State.NEXT_AND_DESTROY);
} else {
_skip = false;
MatchManager.getSingleton().setupNextMatch();
_nextState = new StateGame();
return (State.NEXT_AND_DESTROY);
};
};
if (_backButton.isPressed){
if ((((MatchManager.getSingleton().getType() == MatchManager.TYPE_SEASON)) || ((MatchManager.getSingleton().getType() == MatchManager.TYPE_TOURNAMENT)))){
_nextState = new StateMenu();
return (State.NEXT_AND_DESTROY);
};
return (State.PREVIOUS);
};
return (State.CONTINUE);
}
protected function touchPanelOut(_arg1:MouseEvent):void{
_resultsDesc.text = ("STANDINGS - GROUP " + MatchManager.GROUPS_STRINGS[_currentGroup]);
_highlight.visible = false;
}
protected function paintStandings(_arg1:Number):void{
var _local8:Object;
var _local9:SeasonTeamInfo;
_resultsDesc.text = ("STANDINGS - GROUP " + MatchManager.GROUPS_STRINGS[_currentGroup]);
var _local2:Number = -1;
var _local3:Number = POSITIONS_Y;
var _local4:Number = 22;
var _local5:Number = POSITIONS_X;
var _local6:Number = (POSITIONS_X + 200);
var _local7:Number = 42;
_local2 = -1;
_frontCanvas.graphics.beginFill(0x2E2E2E, 0.5);
_frontCanvas.graphics.drawRoundRect((POSITIONS_X - 37), ((_local3 + ((_local2 - 0) * _local4)) - 3), ((_local7 * 7) + 239), _local4, 10, 10);
_frontCanvas.graphics.endFill();
_font.paintText("NAME", _frontCanvas, _local5, ((_local3 + (_local2 * _local4)) - 2), BitmapFont.ALIGN_LEFT);
_font.paintText("P", _frontCanvas, (_local6 + (_local7 * 0)), ((_local3 + (_local2 * _local4)) - 2), BitmapFont.ALIGN_RIGHT);
_font.paintText("W", _frontCanvas, (_local6 + (_local7 * 1)), ((_local3 + (_local2 * _local4)) - 2), BitmapFont.ALIGN_RIGHT);
_font.paintText("D", _frontCanvas, (_local6 + (_local7 * 2)), ((_local3 + (_local2 * _local4)) - 2), BitmapFont.ALIGN_RIGHT);
_font.paintText("L", _frontCanvas, (_local6 + (_local7 * 3)), ((_local3 + (_local2 * _local4)) - 2), BitmapFont.ALIGN_RIGHT);
_font.paintText("F", _frontCanvas, (_local6 + (_local7 * 4)), ((_local3 + (_local2 * _local4)) - 2), BitmapFont.ALIGN_RIGHT);
_font.paintText("A", _frontCanvas, (_local6 + (_local7 * 5)), ((_local3 + (_local2 * _local4)) - 2), BitmapFont.ALIGN_RIGHT);
_font.paintText("GD", _frontCanvas, (_local6 + (_local7 * 6)), ((_local3 + (_local2 * _local4)) - 2), BitmapFont.ALIGN_RIGHT);
_font.paintText("PTS", _frontCanvas, (_local6 + (_local7 * 7)), ((_local3 + (_local2 * _local4)) - 2), BitmapFont.ALIGN_RIGHT);
_local2 = 0;
for each (_local9 in MatchManager.getSingleton().seasonDataForGroup(_arg1)) {
if (_local9.isPlayer){
_frontCanvas.graphics.beginFill(0xFF0000, 0.5);
_frontCanvas.graphics.drawRoundRect((POSITIONS_X - 37), ((_local3 + ((_local2 - 0) * _local4)) - 3), ((_local7 * 7) + 239), _local4, 10, 10);
_frontCanvas.graphics.endFill();
_local8 = _local9.teamDesc;
} else {
if ((_local2 % 2) == 0){
_frontCanvas.graphics.beginFill(2635851, 0.5);
} else {
_frontCanvas.graphics.beginFill(271434, 0.5);
};
_frontCanvas.graphics.drawRoundRect((POSITIONS_X - 37), ((_local3 + ((_local2 - 0) * _local4)) - 3), ((_local7 * 7) + 239), _local4, 10, 10);
_frontCanvas.graphics.endFill();
};
_font.paintText(String((_local2 + 1)), _frontCanvas, (_local5 - 10), (_local3 + (_local2 * _local4)), BitmapFont.ALIGN_RIGHT);
_font.paintText(_local9.teamName.toUpperCase(), _frontCanvas, _local5, (_local3 + (_local2 * _local4)), BitmapFont.ALIGN_LEFT);
_font.paintText(String(_local9.matchesPlayed), _frontCanvas, (_local6 + (_local7 * 0)), (_local3 + (_local2 * _local4)), BitmapFont.ALIGN_RIGHT);
_font.paintText(String(_local9.matchesWon), _frontCanvas, (_local6 + (_local7 * 1)), (_local3 + (_local2 * _local4)), BitmapFont.ALIGN_RIGHT);
_font.paintText(String(_local9.matchesDraw), _frontCanvas, (_local6 + (_local7 * 2)), (_local3 + (_local2 * _local4)), BitmapFont.ALIGN_RIGHT);
_font.paintText(String(_local9.matchesLost), _frontCanvas, (_local6 + (_local7 * 3)), (_local3 + (_local2 * _local4)), BitmapFont.ALIGN_RIGHT);
_font.paintText(String(_local9.goalsFavor), _frontCanvas, (_local6 + (_local7 * 4)), (_local3 + (_local2 * _local4)), BitmapFont.ALIGN_RIGHT);
_font.paintText(String(_local9.goalsAgainst), _frontCanvas, (_local6 + (_local7 * 5)), (_local3 + (_local2 * _local4)), BitmapFont.ALIGN_RIGHT);
_font.paintText(String(_local9.goalsDifference), _frontCanvas, (_local6 + (_local7 * 6)), (_local3 + (_local2 * _local4)), BitmapFont.ALIGN_RIGHT);
_font.paintText(String(_local9.points), _frontCanvas, (_local6 + (_local7 * 7)), (_local3 + (_local2 * _local4)), BitmapFont.ALIGN_RIGHT);
if (_local2 == 0){
_frontCanvas.graphics.lineStyle(2, 16446126, 0.7);
} else {
_frontCanvas.graphics.lineStyle(1, 16446126, 0.7);
};
_frontCanvas.graphics.moveTo((POSITIONS_X - 35), ((_local3 + (_local2 * _local4)) - 3));
_frontCanvas.graphics.lineTo((_local6 + (_local7 * 7)), ((_local3 + (_local2 * _local4)) - 3));
_frontCanvas.graphics.lineStyle();
_local2++;
};
_frontCanvas.graphics.lineStyle(1, 16446126, 0.7);
_frontCanvas.graphics.moveTo(((_local6 + (_local7 * 6)) + 2), ((_local3 + (0 * _local4)) - 3));
_frontCanvas.graphics.lineTo(((_local6 + (_local7 * 6)) + 2), ((_local3 + (4 * _local4)) - 3));
_frontCanvas.graphics.lineStyle();
_frontCanvas.graphics.moveTo(0, 0);
}
override public function keyDown(_arg1:KeyboardEvent):void{
_skip = true;
}
override public function destroy():void{
fadeOutAndRemove([_background]);
_background = null;
}
override public function show():void{
fadeIn([_background]);
}
protected function paintResults(_arg1:SeasonWeekInfo):void{
var _local5:Match;
var _local2:Number = -1;
var _local3:Number = 22;
var _local4:Number = 30;
_local2 = 0;
for each (_local5 in _arg1.matches) {
if (((_local5.team1.isPlayer) || (_local5.team2.isPlayer))){
_frontCanvas.graphics.beginFill(0xFF0000, 0.5);
_frontCanvas.graphics.drawRoundRect((STANDINGS_X - (18 * 13)), ((STANDINGS_Y + (_local2 * _local3)) - 3), ((18 * 13) * 2), _local3, 10, 10);
_frontCanvas.graphics.endFill();
} else {
if ((_local2 % 2) == 0){
_frontCanvas.graphics.beginFill(2635851, 0.5);
} else {
_frontCanvas.graphics.beginFill(271434, 0.5);
};
_frontCanvas.graphics.drawRoundRect((STANDINGS_X - (18 * 13)), ((STANDINGS_Y + (_local2 * _local3)) - 3), ((18 * 13) * 2), _local3, 10, 10);
_frontCanvas.graphics.endFill();
};
if ((((_local5.score1 == -1)) || ((_local5.score2 == -1)))){
_font.paintText(_local5.team1.teamName, _frontCanvas, (STANDINGS_X - (_local4 / 2)), (STANDINGS_Y + (_local2 * _local3)), BitmapFont.ALIGN_RIGHT);
_font.paintText(_local5.team2.teamName, _frontCanvas, (STANDINGS_X + (_local4 / 2)), (STANDINGS_Y + (_local2 * _local3)), BitmapFont.ALIGN_LEFT);
_font.paintText("-", _frontCanvas, STANDINGS_X, (STANDINGS_Y + (_local2 * _local3)), BitmapFont.ALIGN_CENTER);
} else {
_font.paintText(_local5.team1.teamName, _frontCanvas, (STANDINGS_X - (_local4 * 2)), (STANDINGS_Y + (_local2 * _local3)), BitmapFont.ALIGN_RIGHT);
_font.paintText(String(_local5.score1), _frontCanvas, (STANDINGS_X - (_local4 / 2)), (STANDINGS_Y + (_local2 * _local3)), BitmapFont.ALIGN_RIGHT);
_font.paintText(_local5.team2.teamName, _frontCanvas, (STANDINGS_X + (_local4 * 2)), (STANDINGS_Y + (_local2 * _local3)), BitmapFont.ALIGN_LEFT);
_font.paintText(String(_local5.score2), _frontCanvas, (STANDINGS_X + (_local4 / 2)), (STANDINGS_Y + (_local2 * _local3)), BitmapFont.ALIGN_LEFT);
_font.paintText("-", _frontCanvas, STANDINGS_X, (STANDINGS_Y + (_local2 * _local3)), BitmapFont.ALIGN_CENTER);
};
trace(((_local5.team1.teamName + "-") + _local5.team2.teamName));
_local2++;
};
_weekDesc.text = ("RESULTS - WEEK " + _currentWeek);
}
}
}//package States
Section 233
//StateSeasonEnd (States.StateSeasonEnd)
package States {
import flash.display.*;
import StateLib.*;
import flash.text.*;
import Teams.*;
import SFXLib.*;
import Tournament.*;
import GenericUILib.*;
import org.flintparticles.twoD.renderers.*;
import flash.filters.*;
public class StateSeasonEnd extends StateMenu {
protected var paperRain:PaperRain;
protected var particleRenderer:DisplayObjectRenderer;
private static const OPTION_PLAY_MORE_GAMES:Number = 0;
private static const OPTION_MAIN_MENU:Number = 1;
public function StateSeasonEnd(){
if (MatchManager.getSingleton().currentPlayerPosition == 1){
_options = new Array({image:IMG.MENU_MAIN_MENU, x:120, y:410, returnValue:OPTION_MAIN_MENU}, {image:IMG.MENU_PLAY_MORE_GAMES_BUTTON, x:520, y:410, returnValue:OPTION_PLAY_MORE_GAMES});
} else {
_options = new Array({image:IMG.MENU_MAIN_MENU, x:320, y:430, returnValue:OPTION_MAIN_MENU}, {image:IMG.MENU_PLAY_MORE_GAMES_BUTTON, x:550, y:430, returnValue:OPTION_PLAY_MORE_GAMES});
};
}
private function unlockTeams():void{
if (MatchManager.getSingleton().currentPlayerPosition == 1){
TeamUnlockerManager.getSingleton().unlockTeam(6, _parent);
};
if (MatchManager.getSingleton().currentPlayerWonAllMatches){
TeamUnlockerManager.getSingleton().unlockTeam(8, _parent);
};
if (MatchManager.getSingleton().currentPlayerGoalsAgainst == 0){
TeamUnlockerManager.getSingleton().unlockTeam(9, _parent);
};
}
override public function init(_arg1:Sprite):void{
var _local2:TextFormat;
var _local3:GlowFilter;
var _local4:TextField;
_parent = _arg1;
paperRain = new PaperRain();
particleRenderer = new DisplayObjectRenderer();
particleRenderer.addEmitter(paperRain);
if (MatchManager.getSingleton().currentPlayerPosition == 1){
MediaPlayer.getSingleton().stopSounds();
MediaPlayer.getSingleton().play(MediaPlayer.SND_GAME_WIN);
_menu = new GenericMenu(_options, IMG.getSingleton().getBitmap(IMG.SEASON_WON));
_menu.addChild(particleRenderer);
paperRain.start();
} else {
MediaPlayer.getSingleton().stopSounds();
MediaPlayer.getSingleton().play(MediaPlayer.SND_INTRO);
_menu = new GenericMenu(_options, IMG.getSingleton().getBitmap(IMG.SEASON_LOST));
_local2 = new TextFormat("abadi", 120);
_local2.align = "center";
_local2.color = 0xF2F2F2;
_local3 = new GlowFilter(0, 1, 8, 8, 2, 1, false);
_local4 = new TextField();
_local4.selectable = false;
_local4.x = 0;
_local4.y = 160;
_local4.width = DEF.SCREEN_WIDTH;
_local4.height = 160;
_local4.embedFonts = true;
_local4.defaultTextFormat = _local2;
_local4.filters = [_local3];
_local4.text = ("" + MatchManager.getSingleton().currentPlayerPosition);
_menu.addChild(_local4);
};
_parent.addChild(_menu);
_menu.show();
_logo = null;
}
override public function update():int{
unlockTeams();
switch (_menu.update()){
case OPTION_MAIN_MENU:
_nextState = new StateMenu();
return (State.NEXT_AND_DESTROY);
case OPTION_PLAY_MORE_GAMES:
playMoreGames();
break;
};
return (State.CONTINUE);
}
override public function destroy():void{
paperRain.stop();
super.destroy();
}
}
}//package States
Section 234
//StateSelectTeam (States.StateSelectTeam)
package States {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import StateLib.*;
import flash.text.*;
import Teams.*;
import SFXLib.*;
import Tournament.*;
import GenericUILib.*;
import caurina.transitions.*;
import flash.filters.*;
public class StateSelectTeam extends State {
protected var _showingTeam:Number;// = -1
protected var _deltaButtonAnim:Number;// = 0
protected var _teamsPanel:Sprite;
protected var _playPressed:Boolean;// = false
protected var _backButton:GenericButton;
protected var _rightPlayerSelected:Boolean;// = false
protected var _rightTeam:Object;// = null
protected var _leftPlayerSelected:Boolean;// = false
protected var _nextButton:GenericButton;
protected var _playButton:GenericButton;
protected var _previousButton:GenericButton;
protected var _logos:Array;
protected var _leftLogo:Sprite;// = null
protected var _statsPanel:Sprite;
protected var _background:Sprite;
protected var _leftTeam:Object;// = null
protected var _teamName:TextField;
protected var _currentPage:Number;// = 0
protected var _rightLogo:Sprite;// = null
protected var _playerCount:Number;// = 1
protected var _selectedTeam:Number;// = -1
protected var _animDir:Number;// = 1
protected static const Y_LIST_SIZE:Number = 2;
protected static const RIGHT_LOGO_X:Number = 585;
protected static const RIGHT_LOGO_Y:Number = 250;
protected static const PAGE_Y:Number = 140;
protected static const NEXT_PAGE_X:Number = 560;
protected static const LOGO_SIZE:Number = 75;
protected static const PREVIOUS_PAGE_X:Number = 80;
protected static const X_LIST_SIZE:Number = 5;
protected static const LEFT_LOGO_X:Number = 55;
protected static const LEFT_LOGO_Y:Number = 250;
override public function destroy():void{
fadeOutAndRemove([_background]);
_background = null;
MediaPlayer.getSingleton().stop(MediaPlayer.SND_INTRO);
}
override public function show():void{
fadeIn([_background]);
}
override public function init(_arg1:Sprite):void{
var _local5:Number;
var _local6:Object;
var _local7:TextFormat;
var _local8:GlowFilter;
var _local9:Sprite;
var _local10:BitmapData;
var _local11:Sprite;
var _local12:Sprite;
var _local13:Matrix;
var _local14:Sprite;
var _local15:Sprite;
var _local16:Sprite;
super.init(_arg1);
_background = new Sprite();
_background.graphics.beginBitmapFill(IMG.getSingleton().getBitmapData(IMG.SELECT_TEAM_BACKGROUND));
_background.graphics.drawRect(0, 0, DEF.SCREEN_WIDTH, DEF.SCREEN_HEIGHT);
_background.graphics.endFill();
_arg1.addChild(_background);
var _local2:Sprite = new Sprite();
_local2.x = 130;
_local2.y = (LOGO_SIZE - 10);
_local2.scrollRect = new Rectangle(((-(LOGO_SIZE) / 2) - 3), ((-(LOGO_SIZE) / 2) - 3), ((LOGO_SIZE * X_LIST_SIZE) + 6), ((LOGO_SIZE * Y_LIST_SIZE) + 6));
_background.addChild(_local2);
_teamsPanel = new Sprite();
_local2.addChild(_teamsPanel);
_logos = new Array();
var _local3:Number = 0;
var _local4:Number = 0;
for each (_local6 in DEF.TEAMS) {
_local15 = createLogo(IMG.getSingleton().getBitmapData(IMG[(_local6.graphicSet + "_LOGO")]), _local6.locked);
_local15.name = ("" + _local3);
if ((_local3 % 2) == 0){
_local5 = 0;
} else {
_local5 = LOGO_SIZE;
};
_local15.x = (LOGO_SIZE * _local4);
_local15.y = _local5;
_local15.addEventListener(MouseEvent.CLICK, logoClicked, false, 0, true);
_local15.addEventListener(MouseEvent.MOUSE_OVER, logoOver, false, 0, true);
_local15.addEventListener(MouseEvent.MOUSE_OUT, logoOut, false, 0, true);
_logos.push(_local15);
_teamsPanel.addChild(_local15);
if ((_local3 % 2) != 0){
_local4++;
};
_local3++;
};
_statsPanel = new Sprite();
_statsPanel.x = 130;
_statsPanel.y = 275;
_background.addChild(_statsPanel);
_local7 = new TextFormat("abadi", 32);
_local7.align = "center";
_local7.color = 0xEEEEEE;
_local8 = new GlowFilter(0, 1, 2, 2, 2, 1, false);
_teamName = new TextField();
_teamName.selectable = false;
_teamName.x = ((DEF.SCREEN_WIDTH / 2) - (375 / 2));
_teamName.y = 231;
_teamName.width = 375;
_teamName.height = 30;
_teamName.alpha = 0.8;
_teamName.embedFonts = true;
_teamName.defaultTextFormat = _local7;
_teamName.filters = [_local8];
_background.addChild(_teamName);
_local9 = new Sprite();
_local10 = IMG.getSingleton().getBitmapData(IMG.TEAM_NAME_REFLECTION);
_local9.graphics.beginBitmapFill(_local10);
_local9.graphics.drawRect(0, 0, _local10.width, _local10.height);
_local9.graphics.endFill();
_local9.x = ((DEF.SCREEN_WIDTH / 2) - (_local10.width / 2));
_local9.y = 227;
_background.addChild(_local9);
_local11 = new Sprite();
_local10 = IMG.getSingleton().getBitmapData(IMG.LEVEL_INDICATOR_REFLECTION);
_local11.graphics.beginBitmapFill(_local10);
_local11.graphics.drawRect(0, 0, _local10.width, _local10.height);
_local11.graphics.endFill();
_local11.x = 260;
_local11.y = 290;
_background.addChild(_local11);
_local12 = new Sprite();
_local10 = IMG.getSingleton().getBitmapData(IMG.STATS_INDICATOR_REFLECTION);
_local12.graphics.beginBitmapFill(_local10);
_local12.graphics.drawRect(0, 0, _local10.width, _local10.height);
_local12.graphics.endFill();
_local12.x = 131;
_local12.y = 290;
_background.addChild(_local12);
_playButton = new GenericButton(IMG.getSingleton().getBitmapData(IMG.BUTTON_NEXT), IMG.getSingleton().getBitmapData(IMG.BUTTON_NEXT), true);
_playButton.visible = false;
_playButton.x = RIGHT_LOGO_X;
_playButton.y = DEF.BUTTON_NEXT_Y;
_background.addChild(_playButton);
_backButton = new GenericButton(IMG.getSingleton().getBitmapData(IMG.BUTTON_BACK), IMG.getSingleton().getBitmapData(IMG.BUTTON_BACK), true);
_backButton.x = LEFT_LOGO_X;
_backButton.y = DEF.BUTTON_BACK_Y;
_background.addChild(_backButton);
_background.visible = false;
_previousButton = new GenericButton(IMG.getSingleton().getBitmapData(IMG.PREVIOUS_PAGE_BUTTON), IMG.getSingleton().getBitmapData(IMG.PREVIOUS_PAGE_BUTTON), true);
_previousButton.x = PREVIOUS_PAGE_X;
_previousButton.y = PAGE_Y;
_background.addChild(_previousButton);
_previousButton.visible = false;
_nextButton = new GenericButton(IMG.getSingleton().getBitmapData(IMG.NEXT_PAGE_BUTTON), IMG.getSingleton().getBitmapData(IMG.NEXT_PAGE_BUTTON), true);
_nextButton.x = NEXT_PAGE_X;
_nextButton.y = PAGE_Y;
_background.addChild(_nextButton);
_currentPage = 0;
_local13 = new Matrix();
_local14 = createLogo(null);
_local14.x = LEFT_LOGO_X;
_local14.y = LEFT_LOGO_Y;
_background.addChild(_local14);
_local10 = IMG.getSingleton().getBitmapData(IMG.LABEL_PLAYER_1);
_local13.translate((-(_local10.width) / 2), ((-(_local10.height) / 2) + 55));
_local14.graphics.beginBitmapFill(_local10, _local13);
_local14.graphics.drawRect((-(_local10.width) / 2), ((-(_local10.height) / 2) + 55), _local10.width, _local10.height);
_local14.graphics.endFill();
if (((!((MatchManager.getSingleton().getType() == MatchManager.TYPE_SEASON))) && (!((MatchManager.getSingleton().getType() == MatchManager.TYPE_TOURNAMENT))))){
_local16 = createLogo(null);
_local16.x = RIGHT_LOGO_X;
_local16.y = RIGHT_LOGO_Y;
_background.addChild(_local16);
_local13.identity();
_local10 = IMG.getSingleton().getBitmapData(IMG.LABEL_PLAYER_2);
_local13.translate((-(_local10.width) / 2), ((-(_local10.height) / 2) + 55));
_local16.graphics.beginBitmapFill(_local10, _local13);
_local16.graphics.drawRect((-(_local10.width) / 2), ((-(_local10.height) / 2) + 55), _local10.width, _local10.height);
_local16.graphics.endFill();
};
MediaPlayer.getSingleton().play(MediaPlayer.SND_INTRO, true);
}
protected function logoOver(_arg1:MouseEvent):void{
var _local5:String;
if (_showingTeam == (_arg1.target.name as Number)){
return;
};
MediaPlayer.getSingleton().play(MediaPlayer.SND_MENU_OVER_OPTION);
_showingTeam = _arg1.target.name;
var _local2:Object = DEF.TEAMS[_showingTeam];
_statsPanel.graphics.clear();
var _local3:Number = 20;
var _local4:Number = 35;
paintStat(135, (_local3 + (_local4 * 0)), _local2.shoot);
paintStat(135, (_local3 + (_local4 * 1)), _local2.goalkeeper);
paintStat(135, (_local3 + (_local4 * 2)), _local2.speed);
paintStat(135, (_local3 + (_local4 * 3)), _local2.mass);
_teamName.text = _local2.name.toUpperCase();
var _local6:GlowFilter = new GlowFilter();
_arg1.target.filters = [_local6];
}
protected function logoOut(_arg1:MouseEvent):void{
_arg1.target.filters = null;
_teamName.text = "";
_statsPanel.graphics.clear();
}
protected function altLogoOut(_arg1:MouseEvent):void{
_arg1.target.filters = null;
}
override public function hide():void{
fadeOut([_background]);
}
protected function createLogo(_arg1:BitmapData, _arg2:Boolean=false):Sprite{
var _local7:BitmapData;
var _local3:Sprite = new Sprite();
var _local4:BitmapData = IMG.getSingleton().getBitmapData(IMG.LOGO_PANEL);
var _local5:BitmapData = IMG.getSingleton().getBitmapData(IMG.LOGO_PANEL_REFLECTION);
var _local6:Matrix = new Matrix();
_local6.translate((-(_local4.width) / 2), (-(_local4.height) / 2));
_local3.graphics.beginBitmapFill(_local4, _local6);
_local3.graphics.drawRect((-(_local4.width) / 2), (-(_local4.height) / 2), _local4.width, _local4.height);
_local3.graphics.endFill();
if (_arg1 != null){
_local6.identity();
_local6.translate((-(_arg1.width) / 2), (-(_arg1.height) / 2));
_local3.graphics.beginBitmapFill(_arg1, _local6);
_local3.graphics.drawRect((-(_arg1.width) / 2), (-(_arg1.height) / 2), _arg1.width, _arg1.height);
_local3.graphics.endFill();
_local3.buttonMode = true;
};
if (_arg2){
_local7 = IMG.getSingleton().getBitmapData(IMG.TEAM_LOCKED);
_local6.identity();
_local6.translate((-(_local7.width) / 2), (-(_local7.height) / 2));
_local3.graphics.beginBitmapFill(_local7, _local6);
_local3.graphics.drawRect((-(_local7.width) / 2), (-(_local7.height) / 2), _local7.width, _local7.height);
_local3.graphics.endFill();
};
_local6.identity();
_local6.translate((-(_local5.width) / 2), (-(_local5.height) / 2));
_local3.graphics.beginBitmapFill(_local5, _local6);
_local3.graphics.drawRect((-(_local5.width) / 2), (-(_local5.height) / 2), _local5.width, _local5.height);
_local3.graphics.endFill();
return (_local3);
}
override public function update():int{
var _local1:Number;
if ((((MatchManager.getSingleton().getType() == MatchManager.TYPE_SEASON)) || ((MatchManager.getSingleton().getType() == MatchManager.TYPE_TOURNAMENT)))){
_rightPlayerSelected = true;
};
if (((((_leftPlayerSelected) && (_rightPlayerSelected))) && (!(_playButton.visible)))){
_playButton.visible = true;
SFX.getSingleton().maskedExplode(_playButton, IMG.getSingleton().getBitmapData(IMG.BUTTON_NEXT), IMG.getSingleton().getBitmapData(IMG.BUTTON_NEXT), 2, 1, 0, 0);
};
if (_playButton.isPressed){
switch (MatchManager.getSingleton().getType()){
case MatchManager.TYPE_QUICK_MATCH_1P_2P:
case MatchManager.TYPE_QUICK_MATCH_1P_COM:
case MatchManager.TYPE_QUICK_MATCH_COM_COM:
_nextState = new StateGame();
MatchManager.getSingleton().leftTeam = _leftTeam;
MatchManager.getSingleton().rightTeam = _rightTeam;
MatchManager.getSingleton().setupNextMatch();
return (State.NEXT_AND_DESTROY);
case MatchManager.TYPE_SEASON:
MatchManager.getSingleton().playerTeam = _leftTeam;
_nextState = new StateScheduleInfo();
return (State.NEXT);
};
};
if (_backButton.isPressed){
return (State.PREVIOUS);
};
if (_nextButton.isPressed){
_currentPage++;
_previousButton.visible = true;
_nextButton.visible = true;
if (_currentPage >= (Math.floor((DEF.TEAMS.length / 2)) - X_LIST_SIZE)){
_currentPage = (Math.floor((DEF.TEAMS.length / 2)) - X_LIST_SIZE);
_nextButton.visible = false;
};
_local1 = (-(_currentPage) * LOGO_SIZE);
Tweener.addTween(_teamsPanel, {time:0.3, x:_local1});
};
if (_previousButton.isPressed){
_currentPage--;
_previousButton.visible = true;
_nextButton.visible = true;
if (_currentPage <= 0){
_currentPage = 0;
_previousButton.visible = false;
};
_local1 = (-(_currentPage) * LOGO_SIZE);
Tweener.addTween(_teamsPanel, {time:0.3, x:_local1});
};
_deltaButtonAnim = (_deltaButtonAnim + _animDir);
_previousButton.x = (PREVIOUS_PAGE_X + _deltaButtonAnim);
_nextButton.x = (NEXT_PAGE_X - _deltaButtonAnim);
if (Math.abs(_deltaButtonAnim) >= 3){
_animDir = -(_animDir);
};
return (State.CONTINUE);
}
protected function paintStat(_arg1:Number, _arg2:Number, _arg3:Number):void{
var _local7:Number;
var _local4:Matrix = new Matrix();
var _local5:BitmapData = IMG.getSingleton().getBitmapData(IMG.LEVEL_INDICATOR);
var _local6:Number = 0;
while (_local6 < _arg3) {
_local7 = (_arg1 + (_local6 * (_local5.width - 7)));
_local4.identity();
_local4.translate(_local7, _arg2);
_statsPanel.graphics.beginBitmapFill(_local5, _local4);
_statsPanel.graphics.drawRect(_local7, _arg2, _local5.width, _local5.height);
_statsPanel.graphics.endFill();
_local6++;
};
}
protected function altLogoOver(_arg1:MouseEvent):void{
var _local2:GlowFilter = new GlowFilter();
_arg1.target.filters = [_local2];
}
protected function removeLeftPlayer(_arg1:MouseEvent):void{
MediaPlayer.getSingleton().play(MediaPlayer.SND_MENU_SELECT);
_playButton.visible = false;
_background.removeChild(_leftLogo);
_leftLogo = null;
_leftPlayerSelected = false;
_leftTeam = null;
}
protected function removeRightPlayer(_arg1:MouseEvent):void{
MediaPlayer.getSingleton().play(MediaPlayer.SND_MENU_SELECT);
_playButton.visible = false;
_background.removeChild(_rightLogo);
_rightLogo = null;
_rightPlayerSelected = false;
_rightTeam = null;
}
protected function logoClicked(_arg1:MouseEvent):void{
_showingTeam = _arg1.target.name;
var _local2:Object = DEF.TEAMS[_showingTeam];
MediaPlayer.getSingleton().play(MediaPlayer.SND_MENU_SELECT);
if (_local2.locked){
TeamUnlockerManager.getSingleton().showUnlockCondition(_local2, _background);
} else {
if (!_leftPlayerSelected){
if (_leftLogo != null){
_background.removeChild(_leftLogo);
};
_leftLogo = createLogo(IMG.getSingleton().getBitmapData(IMG[(_local2.graphicSet + "_LOGO")]));
_leftLogo.x = LEFT_LOGO_X;
_leftLogo.y = LEFT_LOGO_Y;
_leftLogo.addEventListener(MouseEvent.CLICK, removeLeftPlayer, false, 0, true);
_leftLogo.addEventListener(MouseEvent.MOUSE_OVER, altLogoOver, false, 0, true);
_leftLogo.addEventListener(MouseEvent.MOUSE_OUT, altLogoOut, false, 0, true);
_background.addChild(_leftLogo);
_leftPlayerSelected = true;
_leftTeam = _local2;
return;
};
if (!_rightPlayerSelected){
if (_rightLogo != null){
_background.removeChild(_rightLogo);
};
_rightLogo = createLogo(IMG.getSingleton().getBitmapData(IMG[(_local2.graphicSet + "_LOGO")]));
_rightLogo.x = RIGHT_LOGO_X;
_rightLogo.y = RIGHT_LOGO_Y;
_rightLogo.addEventListener(MouseEvent.CLICK, removeRightPlayer, false, 0, true);
_rightLogo.addEventListener(MouseEvent.MOUSE_OVER, altLogoOver, false, 0, true);
_rightLogo.addEventListener(MouseEvent.MOUSE_OUT, altLogoOut, false, 0, true);
_background.addChild(_rightLogo);
_rightPlayerSelected = true;
_rightTeam = _local2;
return;
};
};
}
}
}//package States
Section 235
//TeamUnlockerManager (Teams.TeamUnlockerManager)
package Teams {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import caurina.transitions.*;
import flash.filters.*;
public class TeamUnlockerManager {
private var _teamName:TextField;
private var _showingMessage:Boolean;// = false
private var _background:Sprite;
private var _lockedTeams:Array;
private var _saveGame:SaveGame;
private var _teamLogo:Sprite;
private var _canvas:Sprite;
private var _unlockCondition:TextField;
private static var _instance:TeamUnlockerManager = null;
public function TeamUnlockerManager(){
_lockedTeams = new Array(DEF.TEAMS.length);
var _local1:Number = 0;
while (_local1 < _lockedTeams.length) {
_lockedTeams[_local1] = DEF.TEAMS[_local1].locked;
_local1++;
};
_saveGame = new SaveGame("ilMareGames_GravityFootball2010_Teams");
if (_saveGame.isFirstTime()){
_saveGame.save(_lockedTeams);
};
_lockedTeams = (_saveGame.load() as Array);
_local1 = 0;
while (_local1 < DEF.TEAMS.length) {
DEF.TEAMS[_local1].locked = (_lockedTeams[_local1] as Boolean);
_local1++;
};
}
protected function dismissMessage(_arg1:MouseEvent):void{
var evt = _arg1;
_background.removeEventListener(MouseEvent.CLICK, dismissMessage);
Tweener.addTween(_background, {time:0.5, scaleY:0, onComplete:function ():void{
_canvas.stage.removeChild(_background);
_showingMessage = false;
}});
}
public function isUnlocked(_arg1:Number):Boolean{
return ((!(_lockedTeams[_arg1]) as Boolean));
}
public function showUnlockCondition(_arg1:Object, _arg2:Sprite):void{
var _local3:BitmapData;
var _local4:Matrix;
var _local5:TextFormat;
var _local6:GlowFilter;
_canvas = _arg2;
_background = new Sprite();
_background.graphics.clear();
_canvas.stage.addChild(_background);
_local3 = IMG.getSingleton().getBitmapData(IMG.TEAM_LOCKED_MESSAGE);
_local4 = new Matrix();
_local4.translate((-(_local3.width) / 2), (-(_local3.height) / 2));
_background.graphics.beginBitmapFill(_local3, _local4);
_background.graphics.drawRect((-(_local3.width) / 2), (-(_local3.height) / 2), _local3.width, _local3.height);
_background.graphics.endFill();
_background.mouseChildren = false;
_background.buttonMode = true;
_background.x = (_background.width / 2);
_background.y = (_background.height / 2);
_teamLogo = new Sprite();
_teamLogo.x = ((_background.width / 2) - (_background.width / 2));
_teamLogo.y = (220 - (_background.height / 2));
_background.addChild(_teamLogo);
_local5 = new TextFormat("abadi", 32);
_local5.align = "center";
_local5.color = 0xEEEEEE;
_local6 = new GlowFilter(0, 1, 2, 2, 2, 1, false);
_teamName = new TextField();
_teamName.selectable = false;
_teamName.x = (((DEF.SCREEN_WIDTH / 2) - (375 / 2)) - (_background.width / 2));
_teamName.y = (160 - (_background.height / 2));
_teamName.width = 375;
_teamName.height = 30;
_teamName.alpha = 1;
_teamName.embedFonts = true;
_teamName.defaultTextFormat = _local5;
_teamName.filters = [_local6];
_background.addChild(_teamName);
_local5 = new TextFormat("abadi", 22);
_local5.align = "center";
_local5.color = 0xEEEEEE;
_local6 = new GlowFilter(0, 1, 2, 2, 2, 1, false);
_unlockCondition = new TextField();
_unlockCondition.selectable = false;
_unlockCondition.x = (((DEF.SCREEN_WIDTH / 2) - (440 / 2)) - (_background.width / 2));
_unlockCondition.y = (245 - (_background.height / 2));
_unlockCondition.width = 440;
_unlockCondition.height = 90;
_unlockCondition.alpha = 1;
_unlockCondition.embedFonts = true;
_unlockCondition.defaultTextFormat = _local5;
_unlockCondition.filters = [_local6];
_background.addChild(_unlockCondition);
_local3 = IMG.getSingleton().getBitmapData(IMG[(_arg1.graphicSet + "_LOGO")]);
_local4 = new Matrix();
_local4.translate((-(_local3.width) / 2), (-(_local3.height) / 2));
_teamLogo.graphics.clear();
_teamLogo.graphics.beginBitmapFill(_local3, _local4);
_teamLogo.graphics.drawRect((-(_local3.width) / 2), (-(_local3.height) / 2), _local3.width, _local3.height);
_teamLogo.graphics.endFill();
_teamName.text = (_arg1.name as String).toUpperCase();
_unlockCondition.text = ("You can unlock them by\n" + (_arg1.unlockDesc as String));
_background.addEventListener(MouseEvent.CLICK, dismissMessage, false, 0, true);
_background.scaleY = 0;
Tweener.addTween(_background, {time:0.5, scaleY:1});
}
public function unlockAll():void{
var _local1:Number = 0;
while (_local1 < _lockedTeams.length) {
if (!isUnlocked(_local1)){
_lockedTeams[_local1] = false;
DEF.TEAMS[_local1].locked = false;
};
_local1++;
};
_saveGame.save(_lockedTeams);
}
public function unlockedCount():Number{
var _local1:Number = 0;
var _local2:Number = 0;
while (_local2 < DEF.TEAMS.length) {
if (!DEF.TEAMS[_local2].locked){
_local1++;
};
_local2++;
};
return (_local1);
}
public function unlockTeam(_arg1:Number, _arg2:Sprite):void{
var _local3:BitmapData;
var _local4:Matrix;
if (_showingMessage){
return;
};
if (isUnlocked(_arg1)){
return;
};
_showingMessage = true;
_lockedTeams[_arg1] = false;
_saveGame.save(_lockedTeams);
DEF.TEAMS[_arg1].locked = false;
_canvas = _arg2;
_background = new Sprite();
_background.graphics.clear();
_canvas.stage.addChild(_background);
_local3 = IMG.getSingleton().getBitmapData(IMG.TEAM_UNLOCKED);
_local4 = new Matrix();
_local4.translate((-(_local3.width) / 2), (-(_local3.height) / 2));
_background.graphics.beginBitmapFill(_local3, _local4);
_background.graphics.drawRect((-(_local3.width) / 2), (-(_local3.height) / 2), _local3.width, _local3.height);
_background.graphics.endFill();
_background.mouseChildren = false;
_background.buttonMode = true;
_background.x = (_background.width / 2);
_background.y = (_background.height / 2);
_teamLogo = new Sprite();
_teamLogo.x = ((_background.width / 2) - (_background.width / 2));
_teamLogo.y = (260 - (_background.height / 2));
_background.addChild(_teamLogo);
var _local5:TextFormat = new TextFormat("abadi", 32);
_local5.align = "center";
_local5.color = 0xEEEEEE;
var _local6:GlowFilter = new GlowFilter(0, 1, 2, 2, 2, 1, false);
_teamName = new TextField();
_teamName.selectable = false;
_teamName.x = (((DEF.SCREEN_WIDTH / 2) - (375 / 2)) - (_background.width / 2));
_teamName.y = (190 - (_background.height / 2));
_teamName.width = 375;
_teamName.height = 30;
_teamName.alpha = 1;
_teamName.embedFonts = true;
_teamName.defaultTextFormat = _local5;
_teamName.filters = [_local6];
_background.addChild(_teamName);
_local3 = IMG.getSingleton().getBitmapData(IMG[(DEF.TEAMS[_arg1].graphicSet + "_LOGO")]);
_local4 = new Matrix();
_local4.translate((-(_local3.width) / 2), (-(_local3.height) / 2));
_teamLogo.graphics.clear();
_teamLogo.graphics.beginBitmapFill(_local3, _local4);
_teamLogo.graphics.drawRect((-(_local3.width) / 2), (-(_local3.height) / 2), _local3.width, _local3.height);
_teamLogo.graphics.endFill();
_teamName.text = (DEF.TEAMS[_arg1].name as String).toUpperCase();
_background.addEventListener(MouseEvent.CLICK, dismissMessage, false, 0, true);
_background.scaleY = 0;
Tweener.addTween(_background, {time:0.5, scaleY:1});
}
public function init():void{
}
public static function getSingleton():TeamUnlockerManager{
if (!_instance){
_instance = new (TeamUnlockerManager);
};
return (_instance);
}
}
}//package Teams
Section 236
//DifficultManager (Tournament.DifficultManager)
package Tournament {
public class DifficultManager {
protected var _level:Number;// = 1
public static const LEVEL_MEDIUM:Number = 1;
public static const LEVEL_HARD:Number = 2;
public static const LEVEL_EASY:Number = 0;
private static var _instance:DifficultManager = null;
public function get level():Number{
return (_level);
}
protected function balanceValue(_arg1:Number, _arg2:Number):Number{
var _local5:Number;
var _local3:Number = MatchManager.getSingleton().phase;
var _local4:Number = 7;
if (_level != LEVEL_EASY){
return (_arg1);
};
if (_arg1 <= _arg2){
return (_arg1);
};
_local5 = Math.max(_arg2, (_arg1 - (_local4 - _local3)));
if (_local5 > _arg1){
return (_arg1);
};
return (_local5);
}
public function set level(_arg1:Number):void{
_level = _arg1;
}
public function balancePlayer(_arg1:Object, _arg2:Object, _arg3:Boolean=false):Object{
var _local9:Number;
var _local10:Number;
var _local11:Array;
var _local4:Number = 0;
var _local5:Number = 0;
var _local6:Number = 0;
var _local7:Number = 0;
var _local8:Boolean;
switch (_level){
case LEVEL_EASY:
_local9 = ((4.5 + (MatchManager.getSingleton().phase / 2)) / 10);
_local10 = 1;
if ((((MatchManager.getSingleton().phase == 6)) && (_arg3))){
_local8 = true;
};
break;
case LEVEL_MEDIUM:
_local9 = ((4.5 + (MatchManager.getSingleton().phase / 2)) / 7);
if (MatchManager.getSingleton().phase > 3){
_local10 = 1.5;
} else {
_local10 = 1;
};
if ((((MatchManager.getSingleton().phase >= 3)) && (_arg3))){
_local8 = true;
};
break;
case LEVEL_HARD:
_local9 = ((4.5 + (MatchManager.getSingleton().phase / 2)) / 4);
if (MatchManager.getSingleton().phase > 3){
_local10 = 1.5;
} else {
_local10 = 1;
};
_local8 = true;
break;
};
trace("DIFFICULT LEVEL:", _level);
if (_arg3){
_local4 = (balanceValue(_arg1.speed, _arg2.speed) * _local9);
_local6 = _arg1.mass;
_local5 = (balanceValue(_arg1.goalkeeper, _arg2.goalkeeper) * _local10);
_local7 = (balanceValue(_arg1.shoot, _arg2.shoot) * _local10);
_local11 = _arg1.satellites;
trace((((((((("BALANCED LEFT: (" + _local4) + ", ") + _local6) + ", ") + _local5) + ", ") + _local7) + ")"));
} else {
_local4 = _arg1.speed;
_local6 = _arg1.mass;
_local5 = _arg1.goalkeeper;
_local7 = _arg1.shoot;
_local11 = _arg1.satellites;
trace((((((((("LEFT: (" + _local4) + ", ") + _local6) + ", ") + _local5) + ", ") + _local7) + ")"));
};
trace("HAS BACKUP", _local8);
return ({speed:_local4, mass:_local6, goalkeeper:_local5, shoot:_local7, satellites:_local11, hasBackup:_local8});
}
public static function get instance():DifficultManager{
if (!_instance){
_instance = new (DifficultManager);
};
return (_instance);
}
}
}//package Tournament
Section 237
//Match (Tournament.Match)
package Tournament {
public class Match {
public var score2:Number;
public var score1:Number;
public var team1:SeasonTeamInfo;
public var team2:SeasonTeamInfo;
public function Match(_arg1:SeasonTeamInfo, _arg2:SeasonTeamInfo, _arg3:Number=-1, _arg4:Number=-1){
this.team1 = _arg1;
this.team2 = _arg2;
this.score1 = _arg3;
this.score2 = _arg4;
}
public function get isDraw():Boolean{
return ((score1 == score2));
}
public function get loser():SeasonTeamInfo{
if (score1 < score2){
return (team1);
};
return (team2);
}
public function get winner():SeasonTeamInfo{
if (score1 > score2){
return (team1);
};
return (team2);
}
}
}//package Tournament
Section 238
//MatchManager (Tournament.MatchManager)
package Tournament {
import com.adobe.serialization.json.*;
import de.polygonal.ds.*;
public class MatchManager {
protected var _seasonWeek:Number;// = 0
protected var _seasonWeekCount:Number;
protected var _rightTeam:Object;
protected var _type:Number;
protected var _seasonSchedule:Array;
protected var _leftScore:Number;
protected var _currentWeek:Number;
protected var _seasonData:Array;
protected var _leftTeam:Object;
protected var _leftAIControlled:Boolean;// = false
protected var _saveGame:SaveGame;
protected var _rightScore:Number;
protected var _seasonGroups:Array;
protected var _rightAIControlled:Boolean;// = false
public static const TYPE_SEASON:Number = 5;
public static const TYPE_PENALTIES:Number = 7;
public static const TYPE_QUICK_MATCH_1P_2P:Number = 1;
public static const TYPE_TOURNAMENT:Number = 4;
public static const TYPE_QUICK_MATCH_COM_COM:Number = 3;
public static const GROUPS_STRINGS:Array = ["A", "B", "C", "D", "E", "F", "G", "H"];
public static const TYPE_QUICK_MATCH_1P_COM:Number = 0;
public static const TYPE_KNOCKOUT:Number = 6;
private static var _instance:MatchManager = null;
public function get phase():Number{
if (_type == TYPE_SEASON){
return (_currentWeek);
};
if (_type == TYPE_KNOCKOUT){
return ((_currentWeek + 3));
};
return (0);
}
public function get currentPlayerGoalsDifference():Number{
var _local1:SeasonTeamInfo;
for each (_local1 in _seasonData) {
if (_local1.isPlayer){
return (_local1.goalsDifference);
};
};
return (0);
}
public function get leftTeam():Object{
return (_leftTeam);
}
public function set leftTeam(_arg1:Object):void{
_leftTeam = _arg1;
}
public function get currentPlayerPosition():Number{
var _local2:SeasonTeamInfo;
var _local1:Number = 0;
for each (_local2 in _seasonData) {
_local1++;
if (_local2.isPlayer){
return (_local1);
};
};
return (_local1);
}
public function save():void{
var _local1:Object;
var _local2:JSONEncoder;
var _local3:Object;
}
public function get currentWeek():Number{
return (_currentWeek);
}
public function seasonDataForGroup(_arg1:Number):Array{
var _local2:Array = _seasonGroups[_arg1][0].involvedTeams;
_local2.sortOn(["points", "goalsDifference"], (Array.NUMERIC | Array.DESCENDING));
return (_local2);
}
protected function getTeamInfoForName(_arg1:String):SeasonTeamInfo{
var _local2:SeasonTeamInfo;
for each (_local2 in _seasonData) {
if (_local2.teamName == _arg1){
return (_local2);
};
};
return (null);
}
public function setupNextMatch():void{
var _local1:Number;
var _local2:SeasonWeekInfo;
var _local3:Match;
var _local4:Number;
switch (_type){
case TYPE_QUICK_MATCH_1P_COM:
case TYPE_QUICK_MATCH_1P_2P:
case TYPE_QUICK_MATCH_COM_COM:
break;
case TYPE_SEASON:
case TYPE_TOURNAMENT:
case TYPE_KNOCKOUT:
_local1 = 0;
while (_local1 < _seasonGroups.length) {
trace("RESULTADOS GRUPO", GROUPS_STRINGS[_local1], " SEMANA", _currentWeek);
_local2 = _seasonGroups[_local1][_currentWeek];
for each (_local3 in _local2.matches) {
if (((_local3.team1.isPlayer) || (_local3.team2.isPlayer))){
_leftTeam = _local3.team1.teamDesc;
_rightTeam = _local3.team2.teamDesc;
if (_local3.team1.isPlayer){
_leftAIControlled = false;
_rightAIControlled = true;
} else {
_leftAIControlled = true;
_rightAIControlled = false;
};
} else {
if (_type != TYPE_KNOCKOUT){
_local3.score1 = 0;
_local3.score2 = 0;
_local4 = 0;
while (_local4 < 5) {
if (Math.random() > 0.5){
if (Math.floor((Math.random() * _local3.team1.teamDesc.handycap)) < Math.floor((Math.random() * _local3.team2.teamDesc.handycap))){
_local3.score1 = (_local3.score1 + 1);
} else {
_local3.score2 = (_local3.score2 + 1);
};
};
_local4++;
};
} else {
do {
_local3.score1 = Math.floor((Math.random() * 5));
_local3.score2 = Math.floor((Math.random() * 5));
} while (_local3.score1 == _local3.score2);
};
};
trace(_local3.team1.teamName, _local3.score1, _local3.team2.teamName, _local3.score2);
};
trace("----------------------");
_local1++;
};
break;
};
}
public function createKnockout(_arg1:Number):void{
var _local2:SeasonWeekInfo;
var _local3:Array;
var _local4:Match;
switch (_arg1){
case 0:
_local3 = [[new SeasonWeekInfo(0), new SeasonWeekInfo(1), new SeasonWeekInfo(2), new SeasonWeekInfo(2)]];
_local3[0][0].addMatch(getTeamInfoForPosAndGroup(1, 0), getTeamInfoForPosAndGroup(2, 1));
_local3[0][0].addMatch(getTeamInfoForPosAndGroup(1, 2), getTeamInfoForPosAndGroup(2, 3));
_local3[0][0].addMatch(getTeamInfoForPosAndGroup(1, 4), getTeamInfoForPosAndGroup(2, 5));
_local3[0][0].addMatch(getTeamInfoForPosAndGroup(1, 6), getTeamInfoForPosAndGroup(2, 7));
_local3[0][0].addMatch(getTeamInfoForPosAndGroup(2, 0), getTeamInfoForPosAndGroup(1, 1));
_local3[0][0].addMatch(getTeamInfoForPosAndGroup(2, 2), getTeamInfoForPosAndGroup(1, 3));
_local3[0][0].addMatch(getTeamInfoForPosAndGroup(2, 4), getTeamInfoForPosAndGroup(1, 5));
_local3[0][0].addMatch(getTeamInfoForPosAndGroup(2, 6), getTeamInfoForPosAndGroup(1, 7));
_seasonGroups = _local3;
_seasonSchedule = _seasonGroups[playerGroup];
break;
case 1:
_local2 = _seasonGroups[0][0];
_seasonGroups[0][1].addMatch(_local2.matches[0].winner, _local2.matches[1].winner);
_seasonGroups[0][1].addMatch(_local2.matches[2].winner, _local2.matches[3].winner);
_seasonGroups[0][1].addMatch(_local2.matches[4].winner, _local2.matches[5].winner);
_seasonGroups[0][1].addMatch(_local2.matches[6].winner, _local2.matches[7].winner);
_seasonSchedule = _seasonGroups[playerGroup];
break;
case 2:
_local2 = _seasonGroups[0][1];
_seasonGroups[0][2].addMatch(_local2.matches[0].winner, _local2.matches[1].winner);
_seasonGroups[0][2].addMatch(_local2.matches[2].winner, _local2.matches[3].winner);
_seasonSchedule = _seasonGroups[playerGroup];
break;
case 3:
_local2 = _seasonGroups[0][2];
_seasonGroups[0][3].addMatch(_local2.matches[0].winner, _local2.matches[1].winner);
_seasonGroups[0][3].addMatch(_local2.matches[0].loser, _local2.matches[1].loser);
_seasonSchedule = _seasonGroups[playerGroup];
break;
};
trace("KNOCKOUT:", _arg1);
for each (_local2 in _seasonSchedule) {
trace("---------------");
for each (_local4 in _local2.matches) {
trace(((_local4.team1.teamName + "-") + _local4.team2.teamName));
};
};
trace("---------------");
}
public function get playerGroup():Number{
var _local2:Array;
var _local3:SeasonTeamInfo;
var _local1:Number = 0;
while (_local1 < groupCount) {
_local2 = _seasonGroups[_local1][0].involvedTeams;
for each (_local3 in _local2) {
if (_local3.isPlayer){
return (_local1);
};
};
_local1++;
};
return (0);
}
public function getTeamInfo(_arg1:Number):SeasonTeamInfo{
var _local2:SeasonTeamInfo;
for each (_local2 in _seasonData) {
if (_local2.id == _arg1){
return (_local2);
};
};
return (null);
}
public function setupNextWeek():Number{
var _local4:SeasonWeekInfo;
var _local5:SeasonTeamInfo;
var _local6:Match;
var _local7:SeasonTeamInfo;
var _local1:Match = currentPlayerMatch;
_local1.score1 = leftScore;
_local1.score2 = rightScore;
if ((((_type == TYPE_KNOCKOUT)) && (_local1.isDraw))){
return (TYPE_PENALTIES);
};
var _local2:Number = GROUPS_STRINGS.length;
if (_type == TYPE_KNOCKOUT){
_local2 = 1;
};
var _local3:Number = 0;
while (_local3 < _local2) {
_local4 = _seasonGroups[_local3][_currentWeek];
for each (_local5 in _seasonData) {
_local5 = (_local5 as SeasonTeamInfo);
for each (_local6 in _local4.matches) {
if (_local6.team1.teamName == _local5.teamName){
_local5.matchesPlayed = (_local5.matchesPlayed + 1);
_local5.goalsAgainst = (_local5.goalsAgainst + _local6.score2);
_local5.goalsFavor = (_local5.goalsFavor + _local6.score1);
_local5.goalsDifference = (_local5.goalsFavor - _local5.goalsAgainst);
if (_local6.score1 > _local6.score2){
_local5.points = (_local5.points + 3);
_local5.matchesWon = (_local5.matchesWon + 1);
} else {
if (_local6.score1 == _local6.score2){
_local5.points = (_local5.points + 1);
_local5.matchesDraw = (_local5.matchesDraw + 1);
} else {
_local5.matchesLost = (_local5.matchesLost + 1);
};
};
};
if (_local6.team2.teamName == _local5.teamName){
_local5.matchesPlayed = (_local5.matchesPlayed + 1);
_local5.goalsAgainst = (_local5.goalsAgainst + _local6.score1);
_local5.goalsFavor = (_local5.goalsFavor + _local6.score2);
_local5.goalsDifference = (_local5.goalsFavor - _local5.goalsAgainst);
if (_local6.score2 > _local6.score1){
_local5.points = (_local5.points + 3);
_local5.matchesWon = (_local5.matchesWon + 1);
} else {
if (_local6.score2 == _local6.score1){
_local5.points = (_local5.points + 1);
_local5.matchesDraw = (_local5.matchesDraw + 1);
} else {
_local5.matchesLost = (_local5.matchesLost + 1);
};
};
};
};
};
_local3++;
};
_seasonData.sortOn(["points", "goalsDifference"], (Array.NUMERIC | Array.DESCENDING));
_currentWeek++;
switch (_type){
case TYPE_SEASON:
if (_currentWeek >= _seasonWeekCount){
setType(TYPE_KNOCKOUT);
for each (_local7 in _seasonGroups[playerGroup][0].involvedTeams) {
if (_local7.isPlayer){
return (TYPE_KNOCKOUT);
};
trace(_local7.teamName, _local7.points, _local7.isPlayer);
};
return (-1);
};
break;
case TYPE_KNOCKOUT:
if (_currentWeek >= _seasonWeekCount){
return (-1);
};
if (((_local1.loser.isPlayer) && (!(_local1.isDraw)))){
return (-1);
};
createKnockout(_currentWeek);
return (TYPE_KNOCKOUT);
default:
if (_currentWeek >= _seasonWeekCount){
return (-1);
};
};
return (TYPE_SEASON);
}
protected function factorial(_arg1:Number):Number{
if (_arg1 < 1){
return (1);
};
var _local2:Number = 1;
while (_arg1 > 0) {
_local2 = (_local2 * _arg1);
_arg1--;
};
return (_local2);
}
public function get rightTeam():Object{
return (_rightTeam);
}
public function weekSchedule(_arg1:Number=-1):SeasonWeekInfo{
if (_arg1 < 0){
return (_seasonSchedule[_currentWeek]);
};
return (_seasonSchedule[_arg1]);
}
public function get seasonData():Array{
return (_seasonData);
}
public function getType():Number{
return (_type);
}
public function createSchedule():void{
var week:SeasonWeekInfo;
var j:Number;
var match:Match;
var teamsAux:Array = _seasonData.sort(function (_arg1, _arg2):int{
var _local3:* = (Math.round((Math.random() * 2)) - 1);
return (_local3);
});
var weekCount:Number = (teamsAux.length - 1);
var matches:Array = new Array();
var matchesCount:Number = (factorial(teamsAux.length) / (2 * factorial((teamsAux.length - 2))));
var matchesPerWeek:Number = (matchesCount / (teamsAux.length - 1));
var teams:Array = new Array();
_currentWeek = 0;
_seasonSchedule = new Array();
var weekNumber:Number = 0;
while (weekNumber < weekCount) {
_seasonSchedule.push(new SeasonWeekInfo(weekNumber));
weekNumber = (weekNumber + 1);
};
var matrix:Array2 = new Array2(teamsAux.length, teamsAux.length);
matrix.fill(-1);
var i:Number = 0;
while (i < weekCount) {
j = i;
while (j < weekCount) {
weekNumber = ((i + j) % weekCount);
if (i != j){
matrix.set(i, j, weekNumber);
} else {
matrix.set(i, weekCount, weekNumber);
};
j = (j + 1);
};
i = (i + 1);
};
i = 0;
while (i < teamsAux.length) {
j = i;
while (j < teamsAux.length) {
if (i != j){
week = _seasonSchedule[matrix.get(i, j)];
week.addMatch(teamsAux[i], teamsAux[j]);
trace(((((("t" + i) + "-t") + j) + " week: ") + matrix.get(i, j)));
};
j = (j + 1);
};
i = (i + 1);
};
for each (week in _seasonSchedule) {
trace("---------------");
for each (match in week.matches) {
trace(((match.team1.teamName + "-") + match.team2.teamName));
};
};
}
public function get currentPlayerGoalsAgainst():Number{
var _local1:SeasonTeamInfo;
for each (_local1 in _seasonData) {
if (_local1.isPlayer){
return (_local1.goalsAgainst);
};
};
return (0);
}
public function setType(_arg1:Number):void{
var _local2:Array;
var _local3:Number;
var _local4:Number;
var _local5:Object;
_type = _arg1;
switch (_arg1){
case TYPE_QUICK_MATCH_1P_COM:
_leftAIControlled = false;
_rightAIControlled = true;
break;
case TYPE_QUICK_MATCH_1P_2P:
_leftAIControlled = false;
_rightAIControlled = false;
break;
case TYPE_QUICK_MATCH_COM_COM:
_leftAIControlled = true;
_rightAIControlled = true;
break;
case TYPE_SEASON:
_seasonData = new Array();
_local2 = new Array();
_local3 = 0;
_local4 = 0;
while (_local4 < DEF.TEAMS.length) {
_local5 = DEF.TEAMS[_local3];
_local2.push(_local5);
_seasonData.push(new SeasonTeamInfo(_local5.name, _local5, _local4));
_local3++;
_local4++;
};
createGroups();
_seasonWeekCount = 3;
break;
case TYPE_KNOCKOUT:
_seasonWeekCount = 4;
_currentWeek = 0;
createKnockout(_currentWeek);
break;
};
}
public function get isFirstWeek():Boolean{
return ((_currentWeek == 0));
}
public function set playerTeam(_arg1:Object):void{
var _local2:SeasonTeamInfo;
if ((((_type == TYPE_TOURNAMENT)) || ((_type == TYPE_SEASON)))){
for each (_local2 in _seasonData) {
_local2.isPlayer = false;
if (_local2.teamDesc == _arg1){
_local2.isPlayer = true;
break;
};
};
_seasonSchedule = _seasonGroups[playerGroup];
};
}
public function set rightTeam(_arg1:Object):void{
_rightTeam = _arg1;
}
public function get leftScore():Number{
return (_leftScore);
}
public function get currentPlayerMatch():Match{
var _local2:Match;
var _local1:SeasonWeekInfo = weekSchedule();
for each (_local2 in _local1.matches) {
if (((_local2.team1.isPlayer) || (_local2.team2.isPlayer))){
return (_local2);
};
};
return (null);
}
public function hasSavedSeason():Boolean{
return (false);
}
public function setRandomRightTeam():void{
var _local1:Object;
while (((((!((_local1 == null))) && (!((_local1 == _leftTeam))))) && (!(_local1.locked)))) {
_local1 = DEF.TEAMS[Math.floor((Math.random() * DEF.TEAMS.length))];
};
_rightTeam = _local1;
}
public function get rightScore():Number{
return (_rightScore);
}
public function get groupCount():Number{
return (_seasonGroups.length);
}
protected function getTeamInfoForPosAndGroup(_arg1:Number, _arg2:Number):SeasonTeamInfo{
var _local3:Array = seasonDataForGroup(_arg2);
return (_local3[(_arg1 - 1)]);
}
public function get leftAIControlled():Boolean{
return (_leftAIControlled);
}
public function get playerTeam():Object{
var _local1:SeasonTeamInfo;
if ((((_type == TYPE_TOURNAMENT)) || ((_type == TYPE_SEASON)))){
for each (_local1 in _seasonData) {
if (_local1.isPlayer == true){
return (_local1.teamDesc);
};
};
};
return (null);
}
public function get matchTime():Number{
return (((OptionsManager.getSingleton().matchTime as int) * 60));
}
public function seasonScheduleForGroupAndWeek(_arg1:Number, _arg2:Number):SeasonWeekInfo{
return (_seasonGroups[_arg1][_arg2]);
}
public function load():Boolean{
var _local4:Object;
var _local5:Number;
var _local6:Object;
var _local7:SeasonTeamInfo;
var _local8:SeasonWeekInfo;
var _local9:Object;
return (false);
_seasonSchedule = new Array();
_local5 = 0;
for each (_local6 in _local3._seasonSchedule) {
_local8 = new SeasonWeekInfo(_local5);
for each (_local9 in _local6.matches) {
_local8.addMatch(getTeamInfo(_local9.team1.id), getTeamInfo(_local9.team2.id), _local9.score1, _local9.score2);
};
_seasonSchedule.push(_local8);
};
_seasonWeek = _local3._seasonWeek;
_seasonWeekCount = _local3._seasonWeekCount;
_currentWeek = _local3._currentWeek;
return (true);
}
public function createGroups():void{
var _local1:SeasonWeekInfo;
var _local2:Match;
_currentWeek = 0;
_seasonGroups = [[new SeasonWeekInfo(0), new SeasonWeekInfo(1), new SeasonWeekInfo(2)], [new SeasonWeekInfo(0), new SeasonWeekInfo(1), new SeasonWeekInfo(2)], [new SeasonWeekInfo(0), new SeasonWeekInfo(1), new SeasonWeekInfo(2)], [new SeasonWeekInfo(0), new SeasonWeekInfo(1), new SeasonWeekInfo(2)], [new SeasonWeekInfo(0), new SeasonWeekInfo(1), new SeasonWeekInfo(2)], [new SeasonWeekInfo(0), new SeasonWeekInfo(1), new SeasonWeekInfo(2)], [new SeasonWeekInfo(0), new SeasonWeekInfo(1), new SeasonWeekInfo(2)], [new SeasonWeekInfo(0), new SeasonWeekInfo(1), new SeasonWeekInfo(2)]];
_seasonGroups[0][0].addMatch(getTeamInfoForName("South Africa"), getTeamInfoForName("Mexico"));
_seasonGroups[0][0].addMatch(getTeamInfoForName("Uruguay"), getTeamInfoForName("France"));
_seasonGroups[0][1].addMatch(getTeamInfoForName("South Africa"), getTeamInfoForName("Uruguay"));
_seasonGroups[0][1].addMatch(getTeamInfoForName("France"), getTeamInfoForName("Mexico"));
_seasonGroups[0][2].addMatch(getTeamInfoForName("Mexico"), getTeamInfoForName("Uruguay"));
_seasonGroups[0][2].addMatch(getTeamInfoForName("France"), getTeamInfoForName("South Africa"));
_seasonGroups[1][0].addMatch(getTeamInfoForName("Argentina"), getTeamInfoForName("Nigeria"));
_seasonGroups[1][0].addMatch(getTeamInfoForName("South Korea"), getTeamInfoForName("Greece"));
_seasonGroups[1][1].addMatch(getTeamInfoForName("Greece"), getTeamInfoForName("Nigeria"));
_seasonGroups[1][1].addMatch(getTeamInfoForName("Argentina"), getTeamInfoForName("South Korea"));
_seasonGroups[1][2].addMatch(getTeamInfoForName("Nigeria"), getTeamInfoForName("South Korea"));
_seasonGroups[1][2].addMatch(getTeamInfoForName("Greece"), getTeamInfoForName("Argentina"));
_seasonGroups[2][0].addMatch(getTeamInfoForName("England"), getTeamInfoForName("United States"));
_seasonGroups[2][0].addMatch(getTeamInfoForName("Algeria"), getTeamInfoForName("Slovenia"));
_seasonGroups[2][1].addMatch(getTeamInfoForName("Slovenia"), getTeamInfoForName("United States"));
_seasonGroups[2][1].addMatch(getTeamInfoForName("England"), getTeamInfoForName("Algeria"));
_seasonGroups[2][2].addMatch(getTeamInfoForName("Slovenia"), getTeamInfoForName("England"));
_seasonGroups[2][2].addMatch(getTeamInfoForName("United States"), getTeamInfoForName("Algeria"));
_seasonGroups[3][0].addMatch(getTeamInfoForName("Germany"), getTeamInfoForName("Australia"));
_seasonGroups[3][0].addMatch(getTeamInfoForName("Serbia"), getTeamInfoForName("Ghana"));
_seasonGroups[3][1].addMatch(getTeamInfoForName("Germany"), getTeamInfoForName("Serbia"));
_seasonGroups[3][1].addMatch(getTeamInfoForName("Ghana"), getTeamInfoForName("Australia"));
_seasonGroups[3][2].addMatch(getTeamInfoForName("Ghana"), getTeamInfoForName("Germany"));
_seasonGroups[3][2].addMatch(getTeamInfoForName("Australia"), getTeamInfoForName("Serbia"));
_seasonGroups[4][0].addMatch(getTeamInfoForName("Netherlands"), getTeamInfoForName("Denmark"));
_seasonGroups[4][0].addMatch(getTeamInfoForName("Japan"), getTeamInfoForName("Cameroon"));
_seasonGroups[4][1].addMatch(getTeamInfoForName("Netherlands"), getTeamInfoForName("Japan"));
_seasonGroups[4][1].addMatch(getTeamInfoForName("Cameroon"), getTeamInfoForName("Denmark"));
_seasonGroups[4][2].addMatch(getTeamInfoForName("Denmark"), getTeamInfoForName("Japan"));
_seasonGroups[4][2].addMatch(getTeamInfoForName("Cameroon"), getTeamInfoForName("Netherlands"));
_seasonGroups[5][0].addMatch(getTeamInfoForName("Italy"), getTeamInfoForName("Paraguay"));
_seasonGroups[5][0].addMatch(getTeamInfoForName("New Zealand"), getTeamInfoForName("Slovakia"));
_seasonGroups[5][1].addMatch(getTeamInfoForName("Slovakia"), getTeamInfoForName("Paraguay"));
_seasonGroups[5][1].addMatch(getTeamInfoForName("Italy"), getTeamInfoForName("New Zealand"));
_seasonGroups[5][2].addMatch(getTeamInfoForName("Slovakia"), getTeamInfoForName("Italy"));
_seasonGroups[5][2].addMatch(getTeamInfoForName("Paraguay"), getTeamInfoForName("New Zealand"));
_seasonGroups[6][0].addMatch(getTeamInfoForName("Cote d'Ivoire"), getTeamInfoForName("Portugal"));
_seasonGroups[6][0].addMatch(getTeamInfoForName("Brazil"), getTeamInfoForName("North Korea"));
_seasonGroups[6][1].addMatch(getTeamInfoForName("Brazil"), getTeamInfoForName("Cote d'Ivoire"));
_seasonGroups[6][1].addMatch(getTeamInfoForName("Portugal"), getTeamInfoForName("North Korea"));
_seasonGroups[6][2].addMatch(getTeamInfoForName("Portugal"), getTeamInfoForName("Brazil"));
_seasonGroups[6][2].addMatch(getTeamInfoForName("North Korea"), getTeamInfoForName("Cote d'Ivoire"));
_seasonGroups[7][0].addMatch(getTeamInfoForName("Honduras"), getTeamInfoForName("Chile"));
_seasonGroups[7][0].addMatch(getTeamInfoForName("Spain"), getTeamInfoForName("Switzerland"));
_seasonGroups[7][1].addMatch(getTeamInfoForName("Chile"), getTeamInfoForName("Switzerland"));
_seasonGroups[7][1].addMatch(getTeamInfoForName("Spain"), getTeamInfoForName("Honduras"));
_seasonGroups[7][2].addMatch(getTeamInfoForName("Chile"), getTeamInfoForName("Spain"));
_seasonGroups[7][2].addMatch(getTeamInfoForName("Switzerland"), getTeamInfoForName("Honduras"));
_seasonSchedule = _seasonGroups[playerGroup];
for each (_local1 in _seasonSchedule) {
trace("---------------");
for each (_local2 in _local1.matches) {
trace(((_local2.team1.teamName + "-") + _local2.team2.teamName));
};
};
}
public function setMatchResults(_arg1:Number, _arg2:Number):void{
_leftScore = _arg1;
_rightScore = _arg2;
}
public function get rightAIControlled():Boolean{
return (_rightAIControlled);
}
public function get weekCount():Number{
return (_seasonSchedule.length);
}
public function get currentPlayerWonAllMatches():Boolean{
var _local1:SeasonTeamInfo;
for each (_local1 in _seasonData) {
if (_local1.isPlayer){
return ((((_local1.matchesDraw == 0)) && ((_local1.matchesLost == 0))));
};
};
return (false);
}
public static function getSingleton():MatchManager{
if (!_instance){
_instance = new (MatchManager);
};
return (_instance);
}
}
}//package Tournament
Section 239
//SeasonTeamInfo (Tournament.SeasonTeamInfo)
package Tournament {
public dynamic class SeasonTeamInfo {
public var teamName:String;// = ""
public var teamDesc:Object;
public var matchesDraw:Number;// = 0
public var id:Number;// = 0
public var goalsDifference:Number;// = 0
public var goalsFavor:Number;// = 0
public var goalsAgainst:Number;// = 0
public var matchesWon:Number;// = 0
public var matchesPlayed:Number;// = 0
public var points:Number;// = 0
public var isPlayer:Boolean;// = false
public var matchesLost:Number;// = 0
public function SeasonTeamInfo(_arg1:String, _arg2:Object, _arg3:Number){
this.teamName = _arg1;
matchesPlayed = 0;
matchesWon = 0;
matchesDraw = 0;
matchesLost = 0;
goalsFavor = 0;
goalsAgainst = 0;
goalsDifference = 0;
points = 0;
this.teamDesc = _arg2;
this.id = _arg3;
}
}
}//package Tournament
Section 240
//SeasonWeekInfo (Tournament.SeasonWeekInfo)
package Tournament {
public class SeasonWeekInfo {
public var matches:Array;
public var week:Number;
public function SeasonWeekInfo(_arg1:Number){
this.week = _arg1;
matches = new Array();
}
public function addMatch(_arg1:SeasonTeamInfo, _arg2:SeasonTeamInfo, _arg3:Number=-1, _arg4:Number=-1):void{
var _local5:Match = new Match(_arg1, _arg2);
if (_arg3 != -1){
_local5.score1 = _arg3;
};
if (_arg4 != -1){
_local5.score2 = _arg4;
};
matches.push(_local5);
}
public function get involvedTeams():Array{
var _local2:Match;
var _local1:Array = new Array();
for each (_local2 in matches) {
_local1.push(_local2.team1);
_local1.push(_local2.team2);
};
return (_local1);
}
}
}//package Tournament
Section 241
//_activeButtonStyleStyle (_activeButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _activeButtonStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeButtonStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".activeButtonStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 242
//_activeTabStyleStyle (_activeTabStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _activeTabStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeTabStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".activeTabStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 243
//_alertButtonStyleStyle (_alertButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _alertButtonStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".alertButtonStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".alertButtonStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.color = 734012;
};
};
}
}
}//package
Section 244
//_AlertStyle (_AlertStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _AlertStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("Alert");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration("Alert", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.paddingTop = 2;
this.borderColor = 8821927;
this.roundedBottomCorners = true;
this.color = 0xFFFFFF;
this.buttonStyleName = "alertButtonStyle";
this.backgroundColor = 8821927;
this.borderAlpha = 0.9;
this.paddingLeft = 10;
this.paddingBottom = 2;
this.backgroundAlpha = 0.9;
this.paddingRight = 10;
};
};
}
}
}//package
Section 245
//_comboDropdownStyle (_comboDropdownStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _comboDropdownStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".comboDropdown");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".comboDropdown", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.shadowDirection = "center";
this.fontWeight = "normal";
this.dropShadowEnabled = true;
this.leading = 0;
this.backgroundColor = 0xFFFFFF;
this.shadowDistance = 1;
this.cornerRadius = 0;
this.borderThickness = 0;
this.paddingLeft = 5;
this.paddingRight = 5;
};
};
}
}
}//package
Section 246
//_dataGridStylesStyle (_dataGridStylesStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _dataGridStylesStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dataGridStyles");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".dataGridStyles", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 247
//_dateFieldPopupStyle (_dateFieldPopupStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _dateFieldPopupStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dateFieldPopup");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".dateFieldPopup", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.dropShadowEnabled = true;
this.backgroundColor = 0xFFFFFF;
this.borderThickness = 0;
};
};
}
}
}//package
Section 248
//_errorTipStyle (_errorTipStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _errorTipStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".errorTip");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".errorTip", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
this.borderStyle = "errorTipRight";
this.paddingTop = 4;
this.borderColor = 13510953;
this.color = 0xFFFFFF;
this.fontSize = 9;
this.shadowColor = 0;
this.paddingLeft = 4;
this.paddingBottom = 4;
this.paddingRight = 4;
};
};
}
}
}//package
Section 249
//_globalStyle (_globalStyle)
package {
import mx.core.*;
import mx.styles.*;
import mx.skins.halo.*;
public class _globalStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("global");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration("global", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fillColor = 0xFFFFFF;
this.kerning = false;
this.iconColor = 0x111111;
this.textRollOverColor = 2831164;
this.horizontalAlign = "left";
this.shadowCapColor = 14015965;
this.backgroundAlpha = 1;
this.filled = true;
this.textDecoration = "none";
this.roundedBottomCorners = true;
this.fontThickness = 0;
this.focusBlendMode = "normal";
this.fillColors = [0xFFFFFF, 0xCCCCCC, 0xFFFFFF, 0xEEEEEE];
this.horizontalGap = 8;
this.borderCapColor = 9542041;
this.buttonColor = 7305079;
this.indentation = 17;
this.selectionDisabledColor = 0xDDDDDD;
this.closeDuration = 250;
this.embedFonts = false;
this.paddingTop = 0;
this.letterSpacing = 0;
this.focusAlpha = 0.4;
this.bevel = true;
this.fontSize = 10;
this.shadowColor = 0xEEEEEE;
this.borderAlpha = 1;
this.paddingLeft = 0;
this.fontWeight = "normal";
this.indicatorGap = 14;
this.focusSkin = HaloFocusRect;
this.dropShadowEnabled = false;
this.leading = 2;
this.borderSkin = HaloBorder;
this.fontSharpness = 0;
this.modalTransparencyDuration = 100;
this.borderThickness = 1;
this.backgroundSize = "auto";
this.borderStyle = "inset";
this.borderColor = 12040892;
this.fontAntiAliasType = "advanced";
this.errorColor = 0xFF0000;
this.shadowDistance = 2;
this.horizontalGridLineColor = 0xF7F7F7;
this.stroked = false;
this.modalTransparencyColor = 0xDDDDDD;
this.cornerRadius = 0;
this.verticalAlign = "top";
this.textIndent = 0;
this.fillAlphas = [0.6, 0.4, 0.75, 0.65];
this.verticalGridLineColor = 14015965;
this.themeColor = 40447;
this.version = "3.0.0";
this.shadowDirection = "center";
this.modalTransparency = 0.5;
this.repeatInterval = 35;
this.openDuration = 250;
this.textAlign = "left";
this.fontFamily = "Verdana";
this.textSelectedColor = 2831164;
this.paddingBottom = 0;
this.strokeWidth = 1;
this.fontGridFitType = "pixel";
this.horizontalGridLines = false;
this.useRollOver = true;
this.verticalGridLines = true;
this.repeatDelay = 500;
this.fontStyle = "normal";
this.dropShadowColor = 0;
this.focusThickness = 2;
this.verticalGap = 6;
this.disabledColor = 11187123;
this.paddingRight = 0;
this.focusRoundedCorners = "tl tr bl br";
this.borderSides = "left top right bottom";
this.disabledIconColor = 0x999999;
this.modalTransparencyBlur = 3;
this.color = 734012;
this.selectionDuration = 250;
this.highlightAlphas = [0.3, 0];
};
};
}
}
}//package
Section 250
//_headerDateTextStyle (_headerDateTextStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _headerDateTextStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDateText");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".headerDateText", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
this.textAlign = "center";
};
};
}
}
}//package
Section 251
//_headerDragProxyStyleStyle (_headerDragProxyStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _headerDragProxyStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDragProxyStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".headerDragProxyStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 252
//_linkButtonStyleStyle (_linkButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _linkButtonStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".linkButtonStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".linkButtonStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.paddingTop = 2;
this.paddingLeft = 2;
this.paddingBottom = 2;
this.paddingRight = 2;
};
};
}
}
}//package
Section 253
//_opaquePanelStyle (_opaquePanelStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _opaquePanelStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".opaquePanel");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".opaquePanel", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.borderColor = 0xFFFFFF;
this.backgroundColor = 0xFFFFFF;
this.headerColors = [0xE7E7E7, 0xD9D9D9];
this.footerColors = [0xE7E7E7, 0xC7C7C7];
this.borderAlpha = 1;
};
};
}
}
}//package
Section 254
//_PanelStyle (_PanelStyle)
package {
import mx.core.*;
import mx.styles.*;
import mx.skins.halo.*;
public class _PanelStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var effects:Array;
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("Panel");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration("Panel", style, false);
effects = style.mx_internal::effects;
if (!effects){
effects = (style.mx_internal::effects = new Array());
};
effects.push("resizeEndEffect");
effects.push("resizeStartEffect");
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.statusStyleName = "windowStatus";
this.borderStyle = "default";
this.paddingTop = 0;
this.borderColor = 0xE2E2E2;
this.backgroundColor = 0xFFFFFF;
this.cornerRadius = 4;
this.titleBackgroundSkin = TitleBackground;
this.borderAlpha = 0.4;
this.borderThicknessTop = 2;
this.paddingLeft = 0;
this.resizeEndEffect = "Dissolve";
this.paddingRight = 0;
this.titleStyleName = "windowStyles";
this.roundedBottomCorners = false;
this.borderThicknessRight = 10;
this.dropShadowEnabled = true;
this.resizeStartEffect = "Dissolve";
this.borderSkin = PanelSkin;
this.borderThickness = 0;
this.borderThicknessLeft = 10;
this.paddingBottom = 0;
};
};
}
}
}//package
Section 255
//_plainStyle (_plainStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _plainStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".plain");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".plain", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.paddingTop = 0;
this.backgroundColor = 0xFFFFFF;
this.backgroundImage = "";
this.horizontalAlign = "left";
this.paddingLeft = 0;
this.paddingBottom = 0;
this.paddingRight = 0;
};
};
}
}
}//package
Section 256
//_popUpMenuStyle (_popUpMenuStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _popUpMenuStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".popUpMenu");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".popUpMenu", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "normal";
this.textAlign = "left";
};
};
}
}
}//package
Section 257
//_richTextEditorTextAreaStyleStyle (_richTextEditorTextAreaStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _richTextEditorTextAreaStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".richTextEditorTextAreaStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".richTextEditorTextAreaStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 258
//_swatchPanelTextFieldStyle (_swatchPanelTextFieldStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _swatchPanelTextFieldStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".swatchPanelTextField");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".swatchPanelTextField", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.borderStyle = "inset";
this.borderColor = 14015965;
this.highlightColor = 12897484;
this.backgroundColor = 0xFFFFFF;
this.shadowCapColor = 14015965;
this.shadowColor = 14015965;
this.paddingLeft = 5;
this.buttonColor = 7305079;
this.borderCapColor = 9542041;
this.paddingRight = 5;
};
};
}
}
}//package
Section 259
//_textAreaHScrollBarStyleStyle (_textAreaHScrollBarStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _textAreaHScrollBarStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaHScrollBarStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".textAreaHScrollBarStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 260
//_textAreaVScrollBarStyleStyle (_textAreaVScrollBarStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _textAreaVScrollBarStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaVScrollBarStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".textAreaVScrollBarStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 261
//_todayStyleStyle (_todayStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _todayStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".todayStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".todayStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.color = 0xFFFFFF;
this.textAlign = "center";
};
};
}
}
}//package
Section 262
//_weekDayStyleStyle (_weekDayStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _weekDayStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".weekDayStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".weekDayStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
this.textAlign = "center";
};
};
}
}
}//package
Section 263
//_windowStatusStyle (_windowStatusStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _windowStatusStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStatus");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".windowStatus", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.color = 0x666666;
};
};
}
}
}//package
Section 264
//_windowStylesStyle (_windowStylesStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _windowStylesStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStyles");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".windowStyles", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 265
//CONFIG (CONFIG)
package {
public class CONFIG {
public static const MOCHIBOT:Boolean = true;
public static const ADS_DISABLED:Array = ["kongregate"];
public static const HIDE_CONTEXT_MENU:Boolean = false;
public static const SITELOCK:Boolean = false;
public static const SCREEN_WIDTH:Number = 640;
public static const SCREEN_HEIGHT:Number = 480;
public static const CPM_STAR_PRELOAD:String = "1047QFADAA10F";
public static const CPM_STAR_INTERLEVEL:String = "1048QDEFFF78C";
public static const ALLOWED_SITE:String = "googamez";
public static var GAME_OPTIONS:Object = {id:"b89714bb1e889e4e", res:"640x480", no_bg:true, color:6975996, background:10924799};
}
}//package
Section 266
//DEF (DEF)
package {
import ShooterLib.AI.*;
public class DEF {
public static const CHEATS:Boolean = false;
public static const DEFENSE_COEFF:Number = -800;
public static const HERO_HEIGHT:Number = 40;
public static const LEFT_PLAYER_ADV_X:Number = 245;
public static const PANEL_SCORE_HEIGHT:Number = 40;
public static const MENU_BUTTON_INITIAL_Y:Number = 150;
public static const LEFT_GOALKEEKER_Y:Number = 200;
public static const SCREEN_WIDTH:Number = 640;
public static const BALL_Y:Number = 200;
public static const BALL_X:Number = 320;
public static const HERO_WIDTH:Number = 20;
public static const RIGHT_PLAYER_ADV_BACKUP_X:Number = 470;
public static const RIGHT_PLAYER_ADV_X:Number = 395;
public static const REWARD_COLOR:Number = 0xFF0000;
public static const MENU_BUTTON_WIDTH:Number = 222;
public static const ATTACK_COEFF:Number = 1.7;
public static const MAX_ANGULAR_VELOCITY:Number = 30;
public static const DEBUG_TURRETS:Boolean = false;
public static const SCREEN_HEIGHT:Number = 480;
public static const RIGHT_PLAYER_X:Number = 483;
public static const RIGHT_PLAYER_Y:Number = 200;
public static const REWARD_FONT:String = "lcd";
public static const MENU_BUTTON_GLOW_COLOR:Number = 0xFFFFFF;
public static const RIGHT_LOGO_X:Number = 503;
public static const RIGHT_LOGO_Y:Number = 15;
public static const MENU_BUTTON_X:Number = 398;
public static const USE_SATELLITES:Boolean = false;
public static const RIGHT_PLAYER_BACKUP_X:Number = 533;
public static const SKIP_SEASON_MATCHES:Boolean = false;
public static const DEFENDER_COEFF:Number = -200;
public static const LEFT_PLAYER_BACKUP_X:Number = 107;
public static const MOUSE_CONTROL:Boolean = true;
public static const RIGHT_SCORE_Y:Number = 20;
public static const SKIP_KNOCKOUT_MATCHES:Boolean = false;
public static const RIGHT_SCORE_X:Number = 390;
public static const MAP_HEIGHT:Number = 400;
public static const LEFT_SCORE_X:Number = 175;
public static const LEFT_SCORE_Y:Number = 20;
public static const LEFT_GOALKEEPER_X:Number = 0;
public static const TEAMS:Array = new Array({name:"Algeria", graphicSet:"TEAM1", color:0xFFFFFF, backgroundMask:1, handycap:500, speed:3, mass:5, goalkeeper:3, shoot:4, AIType:BaseSportAI.TYPE_DEFENSIVE, satellites:[{x:150, y:100}, {x:150, y:300}, {x:200, y:200}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:""}, {name:"Argentina", graphicSet:"TEAM2", color:7711451, backgroundMask:2, handycap:9, speed:9, mass:7, goalkeeper:8, shoot:10, AIType:BaseSportAI.TYPE_AGGRESSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:""}, {name:"Australia", graphicSet:"TEAM3", color:16568598, backgroundMask:10, handycap:125, speed:4, mass:5, goalkeeper:5, shoot:5, AIType:BaseSportAI.TYPE_DEFENSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"drawing a match with the\nNiynay FC in Season Mode"}, {name:"Brazil", graphicSet:"TEAM4", color:0xF8C300, backgroundMask:3, handycap:5, speed:10, mass:7, goalkeeper:9, shoot:10, AIType:BaseSportAI.TYPE_AGGRESSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"winning any match by more than\n5 goals difference in Season Mode"}, {name:"Cameroon", graphicSet:"TEAM5", color:31326, backgroundMask:4, handycap:110, speed:5, mass:5, goalkeeper:4, shoot:7, AIType:BaseSportAI.TYPE_AGGRESSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"winning by 3 goals or more\nover the Angry Apples in Season Mode"}, {name:"Chile", graphicSet:"TEAM6", color:13970206, backgroundMask:9, handycap:40, speed:7, mass:7, goalkeeper:9, shoot:7, AIType:BaseSportAI.TYPE_TACTIC, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"having a goal difference of +10\nor more in a Season"}, {name:"Cote d'Ivoire", graphicSet:"TEAM7", color:0xF77F00, backgroundMask:5, handycap:20, speed:8, mass:7, goalkeeper:7, shoot:8, AIType:BaseSportAI.TYPE_AGGRESSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"winning a Season"}, {name:"Denmark", graphicSet:"TEAM8", color:13634611, backgroundMask:6, handycap:66, speed:4, mass:5, goalkeeper:6, shoot:5, AIType:BaseSportAI.TYPE_DEFENSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"beating the Raptors with\nthe Colibries in a Season match"}, {name:"England", graphicSet:"TEAM9", color:0xFFFFFF, backgroundMask:8, handycap:6, speed:8, mass:7, goalkeeper:10, shoot:9, AIType:BaseSportAI.TYPE_DEFENSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"winning all matches\nin a Season"}, {name:"France", graphicSet:"TEAM10", color:9109, backgroundMask:7, handycap:12, speed:8, mass:8, goalkeeper:9, shoot:8, AIType:BaseSportAI.TYPE_TACTIC, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"finishing a Season\nwith no goals against"}, {name:"Germany", graphicSet:"TEAM11", color:0xFFFFFF, backgroundMask:1, handycap:12, speed:7, mass:7, goalkeeper:8, shoot:10, AIType:BaseSportAI.TYPE_TACTIC, satellites:[{x:150, y:100}, {x:150, y:300}, {x:200, y:200}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:""}, {name:"Ghana", graphicSet:"TEAM12", color:0xFFFFFF, backgroundMask:2, handycap:66, speed:5, mass:6, goalkeeper:4, shoot:6, AIType:BaseSportAI.TYPE_AGGRESSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:""}, {name:"Greece", graphicSet:"TEAM13", color:0xFFFFFF, backgroundMask:10, handycap:66, speed:5, mass:5, goalkeeper:5, shoot:5, AIType:BaseSportAI.TYPE_DEFENSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"drawing a match with the\nNiynay FC in Season Mode"}, {name:"Honduras", graphicSet:"TEAM14", color:0xFFFFFF, backgroundMask:3, handycap:350, speed:4, mass:6, goalkeeper:3, shoot:5, AIType:BaseSportAI.TYPE_DEFENSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"winning any match by more than\n5 goals difference in Season Mode"}, {name:"Italy", graphicSet:"TEAM15", color:1791, backgroundMask:4, handycap:10, speed:8, mass:7, goalkeeper:7, shoot:9, AIType:BaseSportAI.TYPE_AGGRESSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"winning by 3 goals or more\nover the Angry Apples in Season Mode"}, {name:"Japan", graphicSet:"TEAM16", color:0xFFFFFF, backgroundMask:9, handycap:150, speed:6, mass:3, goalkeeper:4, shoot:4, AIType:BaseSportAI.TYPE_TACTIC, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"having a goal difference of +10\nor more in a Season"}, {name:"Mexico", graphicSet:"TEAM17", color:26695, backgroundMask:5, handycap:66, speed:6, mass:5, goalkeeper:5, shoot:6, AIType:BaseSportAI.TYPE_AGGRESSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"winning a Season"}, {name:"Netherlands", graphicSet:"TEAM18", color:0xFF9000, backgroundMask:6, handycap:12, speed:7, mass:6, goalkeeper:8, shoot:8, AIType:BaseSportAI.TYPE_DEFENSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"beating the Raptors with\nthe Colibries in a Season match"}, {name:"New Zealand", graphicSet:"TEAM19", color:9341, backgroundMask:8, handycap:750, speed:2, mass:7, goalkeeper:2, shoot:2, AIType:BaseSportAI.TYPE_DEFENSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"winning all matches\nin a Season"}, {name:"Nigeria", graphicSet:"TEAM20", color:34641, backgroundMask:7, handycap:80, speed:6, mass:7, goalkeeper:4, shoot:3, AIType:BaseSportAI.TYPE_AGGRESSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"finishing a Season\nwith no goals against"}, {name:"North Korea", graphicSet:"TEAM21", color:15539493, backgroundMask:1, handycap:500, speed:6, mass:3, goalkeeper:2, shoot:3, AIType:BaseSportAI.TYPE_DEFENSIVE, satellites:[{x:150, y:100}, {x:150, y:300}, {x:200, y:200}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:""}, {name:"Paraguay", graphicSet:"TEAM22", color:16195102, backgroundMask:2, handycap:50, speed:7, mass:6, goalkeeper:7, shoot:8, AIType:BaseSportAI.TYPE_AGGRESSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:""}, {name:"Portugal", graphicSet:"TEAM23", color:15539246, backgroundMask:10, handycap:25, speed:9, mass:6, goalkeeper:6, shoot:9, AIType:BaseSportAI.TYPE_TACTIC, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"drawing a match with the\nNiynay FC in Season Mode"}, {name:"Serbia", graphicSet:"TEAM24", color:2441094, backgroundMask:3, handycap:66, speed:7, mass:4, goalkeeper:5, shoot:6, AIType:BaseSportAI.TYPE_AGGRESSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"winning any match by more than\n5 goals difference in Season Mode"}, {name:"Slovakia", graphicSet:"TEAM25", color:741026, backgroundMask:4, handycap:250, speed:4, mass:5, goalkeeper:4, shoot:3, AIType:BaseSportAI.TYPE_DEFENSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"winning by 3 goals or more\nover the Angry Apples in Season Mode"}, {name:"Slovenia", graphicSet:"TEAM26", color:23972, backgroundMask:9, handycap:200, speed:4, mass:5, goalkeeper:3, shoot:3, AIType:BaseSportAI.TYPE_DEFENSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"having a goal difference of +10\nor more in a Season"}, {name:"South Africa", graphicSet:"TEAM27", color:15380758, backgroundMask:5, handycap:125, speed:5, mass:5, goalkeeper:5, shoot:5, AIType:BaseSportAI.TYPE_DEFENSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"winning a Season"}, {name:"South Korea", graphicSet:"TEAM28", color:13044784, backgroundMask:6, handycap:200, speed:6, mass:3, goalkeeper:2, shoot:3, AIType:BaseSportAI.TYPE_DEFENSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"beating the Raptors with\nthe Colibries in a Season match"}, {name:"Spain", graphicSet:"TEAM29", color:12978974, backgroundMask:8, handycap:4, speed:9, mass:8, goalkeeper:10, shoot:10, AIType:BaseSportAI.TYPE_TACTIC, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"winning all matches\nin a Season"}, {name:"Switzerland", graphicSet:"TEAM30", color:0xFF0000, backgroundMask:7, handycap:150, speed:4, mass:5, goalkeeper:4, shoot:4, AIType:BaseSportAI.TYPE_TACTIC, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"finishing a Season\nwith no goals against"}, {name:"United States", graphicSet:"TEAM31", color:0xFFFFFF, backgroundMask:8, handycap:66, speed:3, mass:5, goalkeeper:5, shoot:5, AIType:BaseSportAI.TYPE_AGGRESSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"winning all matches\nin a Season"}, {name:"Uruguay", graphicSet:"TEAM32", color:8371967, backgroundMask:7, handycap:100, speed:5, mass:6, goalkeeper:5, shoot:7, AIType:BaseSportAI.TYPE_AGGRESSIVE, satellites:[{x:200, y:100}, {x:200, y:300}], customSatellites1:[], customSatellites2:[], customSatellites3:[], locked:false, unlockDesc:"finishing a Season\nwith no goals against"});
public static const LEFT_PLAYER_ADV_BACKUP_X:Number = 170;
public static const LEFT_PLAYER_X:Number = 157;
public static const LEFT_PLAYER_Y:Number = 200;
public static const BUTTON_BACK_Y:Number = 390;
public static const BUTTON_NEXT_X:Number = 600;
public static const DEBUG_FPS:Boolean = false;
public static const PANEL_SCORE_WIDTH:Number = 75;
public static const ABOUT_TEXT:Array = new Array({color:0xFF0000, string:"GRAVITY FOOTBALL 2: WORLD CUP 2010"}, {color:0, string:"v1.0.0"}, {color:0, string:""}, {color:5592575, string:"ilMare Games"}, {color:85, string:"http://www.ilmaregames.com.ar", url:true}, {color:0, string:""}, {color:85, string:"Programming & Game Design"}, {color:2237183, string:"Juan Ignacio Albanesi (juan@ilmaregames.com.ar)"}, {color:0, string:""}, {color:85, string:"Music"}, {color:2237183, string:"Emmanuel Graglia (emmanuel@ilmaregames.com.ar)"}, {color:2237183, string:""});
public static const RIGHT_GOALKEEPER_X:Number = 640;
public static const RIGHT_GOALKEEPER_Y:Number = 200;
public static const LOGO_X:Number = 320;
public static const MOCHIBOT:Boolean = true;
public static const SPEED_COEFF:Number = 10;
public static const LOGO_Y:Number = 95;
public static const BUTTON_BACK_X:Number = 40;
public static const MENU_BUTTON_ALPHA:Number = 0.7;
public static const BUTTON_NEXT_Y:Number = 390;
public static const MASS_COEFF:Number = 10;
public static const MENU_BUTTON_COLOR:Number = 16737840;
public static const REWARD_FONT_SIZE:Number = 32;
public static const MAP_WIDTH:Number = 640;
public static const MENU_BUTTON_TEXT_SIZE:Number = 24;
public static const GOOGLE_ANALYTICS:Boolean = true;
public static const MENU_BUTTON_HEIGHT:Number = 40;
public static const MENU_BUTTON_SPACING:Number = 60;
public static const INTERLEVEL_ADS:Boolean = true;
public static const LEFT_LOGO_X:Number = 87;
public static const LEFT_LOGO_Y:Number = 15;
public static const MENU_BUTTON_TEXT_COLOR:Number = 0xFFFFFF;
public static var ANGULAR_VELOCITY_DELTA:Number = 0.25;
}
}//package
Section 267
//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 268
//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 269
//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 270
//FPS (FPS)
package {
import flash.utils.*;
import flash.text.*;
public class FPS extends TextField {
private var _lastTime:Number;// = -1
private var _accumTime:Number;// = 0
public function update():void{
var _local1:Number = getTimer();
var _local2:Number = (_local1 - _lastTime);
_lastTime = _local1;
_accumTime = (_accumTime + _local2);
if ((((_accumTime > 1000)) && ((_local2 > 0)))){
text = ("FPS: " + (1000 / _local2).toFixed(0));
_accumTime = 0;
};
}
}
}//package
Section 271
//IMG (IMG)
package {
import flash.display.*;
import flash.utils.*;
public class IMG {
private var _images:Dictionary;
public static var MENU_1P_VS_2P:Class = IMG_MENU_1P_VS_2P;
public static var TEAM25_GOALKEEPER:Class = IMG_TEAM25_GOALKEEPER;
public static var TEAM2_MINI_FLAG:Class = IMG_TEAM2_MINI_FLAG;
public static var TEAM12_LOGO:Class = IMG_TEAM12_LOGO;
public static var MENU_BACKGROUND:Class = IMG_MENU_BACKGROUND;
public static var SPONSOR_BANNER:Class = IMG_SPONSOR_BANNER;
public static var TEAM5_LOGO:Class = IMG_TEAM5_LOGO;
public static var TEAM11_GOALKEEPER:Class = IMG_TEAM11_GOALKEEPER;
public static var MENU_MORE_GAMES:Class = IMG_MENU_MORE_GAMES;
public static var TEAM28_GOALKEEPER:Class = IMG_TEAM28_GOALKEEPER;
public static var TEAM14_GOALKEEPER:Class = IMG_TEAM14_GOALKEEPER;
public static var STATS_INDICATOR_REFLECTION:Class = IMG_STATS_INDICATOR_REFLECTION;
public static var TEAM17_GOALKEEPER:Class = IMG_TEAM17_GOALKEEPER;
public static var TEAM5_MINI_FLAG:Class = IMG_TEAM5_MINI_FLAG;
public static var MENU_CHOOSE_TEAMS:Class = IMG_MENU_CHOOSE_TEAMS;
public static var TEAM28_ATTACKER:Class = IMG_TEAM28_ATTACKER;
public static var TEAM9_ATTACKER:Class = IMG_TEAM9_ATTACKER;
public static var TEAM32_ATTACKER:Class = IMG_TEAM32_ATTACKER;
public static var TEAM19_LOGO:Class = IMG_TEAM19_LOGO;
public static var MESSAGE_GOAL:Class = IMG_MESSAGE_GOAL;
public static var MESSAGE_PENALTIES:Class = IMG_MESSAGE_PENALTIES;
public static var TEAM20_MINI_FLAG:Class = IMG_TEAM20_MINI_FLAG;
public static var MENU_REMATCH:Class = IMG_MENU_REMATCH;
public static var TEAM17_ATTACKER:Class = IMG_TEAM17_ATTACKER;
public static var MENU_LESS:Class = IMG_MENU_LESS;
public static var TEAM_NAME_REFLECTION:Class = IMG_TEAM_NAME_REFLECTION;
public static var TEAM2_ATTACKER:Class = IMG_TEAM2_ATTACKER;
public static var TEAM21_ATTACKER:Class = IMG_TEAM21_ATTACKER;
public static var GRAY_BACKGROUND:Class = IMG_GRAY_BACKGROUND;
public static var TEAM24_LOGO:Class = IMG_TEAM24_LOGO;
public static var AREA:Class = IMG_AREA;
public static var TEAM8_MINI_FLAG:Class = IMG_TEAM8_MINI_FLAG;
public static var TEAM12_MINI_FLAG:Class = IMG_TEAM12_MINI_FLAG;
public static var MENU_ABOUT:Class = IMG_MENU_ABOUT;
public static var TEAM31_MINI_FLAG:Class = IMG_TEAM31_MINI_FLAG;
public static var TEAM10_ATTACKER:Class = IMG_TEAM10_ATTACKER;
public static var MENU_PLAYGROUND:Class = IMG_MENU_PLAYGROUND;
public static var MENU_CHECKED:Class = IMG_MENU_CHECKED;
public static var TEAM13_LOGO:Class = IMG_TEAM13_LOGO;
public static var TEAM6_LOGO:Class = IMG_TEAM6_LOGO;
public static var TEAM23_MINI_FLAG:Class = IMG_TEAM23_MINI_FLAG;
public static var TOP_PANEL_PLAYGROUND:Class = IMG_TOP_PANEL_PLAYGROUND;
public static var ARROW_HELPER:Class = IMG_ARROW_HELPER;
public static var MESSAGE_SECOND_HALF:Class = IMG_MESSAGE_SECOND_HALF;
public static var MENU_TOURNAMENT:Class = IMG_MENU_TOURNAMENT;
public static var MENU_PANEL_BUTTON:Class = IMG_MENU_PANEL_BUTTON;
public static var TEAM2_GOALKEEPER:Class = IMG_TEAM2_GOALKEEPER;
public static var TEAM15_MINI_FLAG:Class = IMG_TEAM15_MINI_FLAG;
public static var BUTTON_LEFT_ARROW:Class = IMG_BUTTON_LEFT_ARROW;
public static var MENU_NEW_TOURNAMENT:Class = IMG_MENU_NEW_TOURNAMENT;
public static var TEAM5_GOALKEEPER:Class = IMG_TEAM5_GOALKEEPER;
public static var SPEAKER_OFF:Class = IMG_SPEAKER_OFF;
public static var MESSAGE_TIME_UP:Class = IMG_MESSAGE_TIME_UP;
public static var TEAM26_MINI_FLAG:Class = IMG_TEAM26_MINI_FLAG;
public static var TEAM6_ATTACKER:Class = IMG_TEAM6_ATTACKER;
public static var TEAM25_ATTACKER:Class = IMG_TEAM25_ATTACKER;
public static var TEAM8_GOALKEEPER:Class = IMG_TEAM8_GOALKEEPER;
public static var MASKED_EXPLODE:Class = IMG_MASKED_EXPLODE;
public static var TEAM31_GOALKEEPER:Class = IMG_TEAM31_GOALKEEPER;
public static var TEAM18_MINI_FLAG:Class = IMG_TEAM18_MINI_FLAG;
public static var SEASON_WON:Class = IMG_SEASON_WON;
public static var TEAM14_ATTACKER:Class = IMG_TEAM14_ATTACKER;
public static var TEAM25_LOGO:Class = IMG_TEAM25_LOGO;
public static var BACKGROUND:Class = IMG_BACKGROUND;
public static var TRAINING_PANEL_BUTTON:Class = IMG_TRAINING_PANEL_BUTTON;
public static var MESSAGE_KICK_OFF:Class = IMG_MESSAGE_KICK_OFF;
public static var TEAM20_GOALKEEPER:Class = IMG_TEAM20_GOALKEEPER;
public static var TEAM29_MINI_FLAG:Class = IMG_TEAM29_MINI_FLAG;
public static var ABOUT_BACKGROUND:Class = IMG_ABOUT_BACKGROUND;
public static var MENU_MAIN_MENU:Class = IMG_MENU_MAIN_MENU;
public static var TEAM23_GOALKEEPER:Class = IMG_TEAM23_GOALKEEPER;
public static var TEAM1_MINI_FLAG:Class = IMG_TEAM1_MINI_FLAG;
public static var TEAM7_LOGO:Class = IMG_TEAM7_LOGO;
public static var TEAM14_LOGO:Class = IMG_TEAM14_LOGO;
public static var TEAM30_LOGO:Class = IMG_TEAM30_LOGO;
public static var MENU_NEW_SEASON:Class = IMG_MENU_NEW_SEASON;
public static var TEAM26_GOALKEEPER:Class = IMG_TEAM26_GOALKEEPER;
public static var TEAM12_GOALKEEPER:Class = IMG_TEAM12_GOALKEEPER;
public static var BACKGROUND_PLAYGROUND:Class = IMG_BACKGROUND_PLAYGROUND;
public static var TEAM29_ATTACKER:Class = IMG_TEAM29_ATTACKER;
public static var LOGO_PANEL_REFLECTION:Class = IMG_LOGO_PANEL_REFLECTION;
public static var TEAM15_GOALKEEPER:Class = IMG_TEAM15_GOALKEEPER;
public static var TEAM29_GOALKEEPER:Class = IMG_TEAM29_GOALKEEPER;
public static var TEAM18_ATTACKER:Class = IMG_TEAM18_ATTACKER;
public static var TEAM4_MINI_FLAG:Class = IMG_TEAM4_MINI_FLAG;
public static var TEAM1_LOGO:Class = IMG_TEAM1_LOGO;
public static var TEAM22_ATTACKER:Class = IMG_TEAM22_ATTACKER;
public static var TEAM18_GOALKEEPER:Class = IMG_TEAM18_GOALKEEPER;
public static var PREVIOUS_PAGE_BUTTON:Class = IMG_PREVIOUS_PAGE_BUTTON;
public static var TEAM3_ATTACKER:Class = IMG_TEAM3_ATTACKER;
public static var LOGO:Class = IMG_LOGO;
public static var INTERLEVEL_BACKGROUND:Class = IMG_INTERLEVEL_BACKGROUND;
public static var TEAM11_ATTACKER:Class = IMG_TEAM11_ATTACKER;
public static var MENU_SEASON:Class = IMG_MENU_SEASON;
public static var POST_MATCH_BACKGROUND:Class = IMG_POST_MATCH_BACKGROUND;
public static var TEAM26_LOGO:Class = IMG_TEAM26_LOGO;
public static var TEAM30_MINI_FLAG:Class = IMG_TEAM30_MINI_FLAG;
public static var TEAM11_MINI_FLAG:Class = IMG_TEAM11_MINI_FLAG;
public static var MENU_QUICK_MATCH:Class = IMG_MENU_QUICK_MATCH;
public static var BUTTON_BACK:Class = IMG_BUTTON_BACK;
public static var MENU_PLAY_MORE_GAMES_BUTTON:Class = IMG_MENU_PLAY_MORE_GAMES_BUTTON;
public static var TEAM_LOCKED_MESSAGE:Class = IMG_TEAM_LOCKED_MESSAGE;
public static var TEAM7_MINI_FLAG:Class = IMG_TEAM7_MINI_FLAG;
public static var MENU_RESUME_GAME:Class = IMG_MENU_RESUME_GAME;
public static var TEAM15_LOGO:Class = IMG_TEAM15_LOGO;
public static var TEAM31_LOGO:Class = IMG_TEAM31_LOGO;
public static var BALL_0:Class = IMG_BALL_0;
public static var BALL_1:Class = IMG_BALL_1;
public static var TEAM22_MINI_FLAG:Class = IMG_TEAM22_MINI_FLAG;
public static var BALL_3:Class = IMG_BALL_3;
public static var BALL_4:Class = IMG_BALL_4;
public static var BALL_5:Class = IMG_BALL_5;
public static var TEAM8_LOGO:Class = IMG_TEAM8_LOGO;
public static var BALL_7:Class = IMG_BALL_7;
public static var BALL_8:Class = IMG_BALL_8;
public static var BALL_2:Class = IMG_BALL_2;
private static var _instance:IMG = null;
public static var BALL_6:Class = IMG_BALL_6;
public static var BALL:Class = IMG_BALL;
public static var TEAM_NULL_LOGO:Class = IMG_TEAM_NULL_LOGO;
public static var OPTIONS_PANEL_BUTTON:Class = IMG_OPTIONS_PANEL_BUTTON;
public static var TEAM20_LOGO:Class = IMG_TEAM20_LOGO;
public static var PLAYER_INDICATOR:Class = IMG_PLAYER_INDICATOR;
public static var TEAM26_ATTACKER:Class = IMG_TEAM26_ATTACKER;
public static var TEAM14_MINI_FLAG:Class = IMG_TEAM14_MINI_FLAG;
public static var TEAM0_GOALKEEPER:Class = IMG_TEAM0_GOALKEEPER;
public static var TEAM7_ATTACKER:Class = IMG_TEAM7_ATTACKER;
public static var TEAM3_GOALKEEPER:Class = IMG_TEAM3_GOALKEEPER;
public static var TEAM15_ATTACKER:Class = IMG_TEAM15_ATTACKER;
public static var MENU_MORE:Class = IMG_MENU_MORE;
public static var TEAM2_LOGO:Class = IMG_TEAM2_LOGO;
public static var SPEAKER_ON:Class = IMG_SPEAKER_ON;
public static var TEAM0_ATTACKER:Class = IMG_TEAM0_ATTACKER;
public static var PRE_MATCH_BACKGROUND:Class = IMG_PRE_MATCH_BACKGROUND;
public static var TEAM30_ATTACKER:Class = IMG_TEAM30_ATTACKER;
public static var BACKGROUND_MASK_10:Class = IMG_BACKGROUND_MASK_10;
public static var TEAM6_GOALKEEPER:Class = IMG_TEAM6_GOALKEEPER;
public static var TEAM25_MINI_FLAG:Class = IMG_TEAM25_MINI_FLAG;
public static var LOGO_PANEL:Class = IMG_LOGO_PANEL;
public static var TUTORIAL_KEYS:Class = IMG_TUTORIAL_KEYS;
public static var BUTTON_RIGHT_ARROW:Class = IMG_BUTTON_RIGHT_ARROW;
public static var TOP_PANEL:Class = IMG_TOP_PANEL;
public static var TEAM17_MINI_FLAG:Class = IMG_TEAM17_MINI_FLAG;
public static var TEAM9_GOALKEEPER:Class = IMG_TEAM9_GOALKEEPER;
public static var TEAM_NULL_ATTACKER:Class = IMG_TEAM_NULL_ATTACKER;
public static var TEAM27_LOGO:Class = IMG_TEAM27_LOGO;
public static var LEVEL_INDICATOR_REFLECTION:Class = IMG_LEVEL_INDICATOR_REFLECTION;
public static var TEAM32_GOALKEEPER:Class = IMG_TEAM32_GOALKEEPER;
public static var TEAM28_MINI_FLAG:Class = IMG_TEAM28_MINI_FLAG;
public static var SEASON_RESULTS:Class = IMG_SEASON_RESULTS;
public static var TEAM_UNLOCKED:Class = IMG_TEAM_UNLOCKED;
public static var TEAM16_LOGO:Class = IMG_TEAM16_LOGO;
public static var TEAM9_LOGO:Class = IMG_TEAM9_LOGO;
public static var TEAM21_GOALKEEPER:Class = IMG_TEAM21_GOALKEEPER;
public static var KNOCKOUT_RESULTS:Class = IMG_KNOCKOUT_RESULTS;
public static var TEAM32_LOGO:Class = IMG_TEAM32_LOGO;
public static var ILMARE_BANNER:Class = IMG_ILMARE_BANNER;
public static var MENU_FRONT_END:Class = IMG_MENU_FRONT_END;
public static var TEAM10_GOALKEEPER:Class = IMG_TEAM10_GOALKEEPER;
public static var TEAM24_GOALKEEPER:Class = IMG_TEAM24_GOALKEEPER;
public static var TEAM21_LOGO:Class = IMG_TEAM21_LOGO;
public static var TEAM19_ATTACKER:Class = IMG_TEAM19_ATTACKER;
public static var TEAM23_ATTACKER:Class = IMG_TEAM23_ATTACKER;
public static var TEAM4_ATTACKER:Class = IMG_TEAM4_ATTACKER;
public static var TEAM27_GOALKEEPER:Class = IMG_TEAM27_GOALKEEPER;
public static var TEAM13_GOALKEEPER:Class = IMG_TEAM13_GOALKEEPER;
public static var LCD_FONT_SMALL:Class = IMG_LCD_FONT_SMALL;
public static var TEAM3_MINI_FLAG:Class = IMG_TEAM3_MINI_FLAG;
public static var TEAM10_LOGO:Class = IMG_TEAM10_LOGO;
public static var TEAM3_LOGO:Class = IMG_TEAM3_LOGO;
public static var TEAM12_ATTACKER:Class = IMG_TEAM12_ATTACKER;
public static var LEVEL_INDICATOR:Class = IMG_LEVEL_INDICATOR;
public static var TEAM16_GOALKEEPER:Class = IMG_TEAM16_GOALKEEPER;
public static var MESSAGE_FINAL_WHISTLE:Class = IMG_MESSAGE_FINAL_WHISTLE;
public static var TEAM19_GOALKEEPER:Class = IMG_TEAM19_GOALKEEPER;
public static var SEASON_LOST:Class = IMG_SEASON_LOST;
public static var TEAM28_LOGO:Class = IMG_TEAM28_LOGO;
public static var SELECT_TEAM_BACKGROUND:Class = IMG_SELECT_TEAM_BACKGROUND;
public static var TEAM10_MINI_FLAG:Class = IMG_TEAM10_MINI_FLAG;
public static var TEAM6_MINI_FLAG:Class = IMG_TEAM6_MINI_FLAG;
public static var LEGIBLE_FONT_BIG:Class = IMG_LEGIBLE_FONT_BIG;
public static var MENU_HIGHSCORES:Class = IMG_MENU_HIGHSCORES;
public static var TEAM17_LOGO:Class = IMG_TEAM17_LOGO;
public static var TEAM_LOCKED:Class = IMG_TEAM_LOCKED;
public static var TOP_PANEL_REFLECTION:Class = IMG_TOP_PANEL_REFLECTION;
public static var TEAM21_MINI_FLAG:Class = IMG_TEAM21_MINI_FLAG;
public static var TEAM27_ATTACKER:Class = IMG_TEAM27_ATTACKER;
public static var TEAM8_ATTACKER:Class = IMG_TEAM8_ATTACKER;
public static var TEAM31_ATTACKER:Class = IMG_TEAM31_ATTACKER;
public static var TEAM22_LOGO:Class = IMG_TEAM22_LOGO;
public static var TEAM9_MINI_FLAG:Class = IMG_TEAM9_MINI_FLAG;
public static var TEAM16_ATTACKER:Class = IMG_TEAM16_ATTACKER;
public static var TEAM32_MINI_FLAG:Class = IMG_TEAM32_MINI_FLAG;
public static var TEAM20_ATTACKER:Class = IMG_TEAM20_ATTACKER;
public static var TEAM13_MINI_FLAG:Class = IMG_TEAM13_MINI_FLAG;
public static var LEGIBLE_FONT_SMALL:Class = IMG_LEGIBLE_FONT_SMALL;
public static var LABEL_PLAYER_1:Class = IMG_LABEL_PLAYER_1;
public static var LABEL_PLAYER_2:Class = IMG_LABEL_PLAYER_2;
public static var TEAM1_ATTACKER:Class = IMG_TEAM1_ATTACKER;
public static var TEAM11_LOGO:Class = IMG_TEAM11_LOGO;
public static var EXIT_PANEL_BUTTON:Class = IMG_EXIT_PANEL_BUTTON;
public static var TEAM1_GOALKEEPER:Class = IMG_TEAM1_GOALKEEPER;
public static var TEAM4_LOGO:Class = IMG_TEAM4_LOGO;
public static var TEAM24_MINI_FLAG:Class = IMG_TEAM24_MINI_FLAG;
public static var MENU_CONTINUE:Class = IMG_MENU_CONTINUE;
public static var TEAM4_GOALKEEPER:Class = IMG_TEAM4_GOALKEEPER;
public static var NEXT_PAGE_BUTTON:Class = IMG_NEXT_PAGE_BUTTON;
public static var TEAM16_MINI_FLAG:Class = IMG_TEAM16_MINI_FLAG;
public static var TEAM_NULL_GOALKEEPER:Class = IMG_TEAM_NULL_GOALKEEPER;
public static var MENU_OPTIONS:Class = IMG_MENU_OPTIONS;
public static var TEAM7_GOALKEEPER:Class = IMG_TEAM7_GOALKEEPER;
public static var TEAM29_LOGO:Class = IMG_TEAM29_LOGO;
public static var TEAM27_MINI_FLAG:Class = IMG_TEAM27_MINI_FLAG;
public static var TEAM30_GOALKEEPER:Class = IMG_TEAM30_GOALKEEPER;
public static var TEAM_NULL_MINI_FLAG:Class = IMG_TEAM_NULL_MINI_FLAG;
public static var TEAM18_LOGO:Class = IMG_TEAM18_LOGO;
public static var MENU_BACK:Class = IMG_MENU_BACK;
public static var BACKGROUND_MASK_1:Class = IMG_BACKGROUND_MASK_1;
public static var BACKGROUND_MASK_2:Class = IMG_BACKGROUND_MASK_2;
public static var BACKGROUND_MASK_3:Class = IMG_BACKGROUND_MASK_3;
public static var BACKGROUND_MASK_5:Class = IMG_BACKGROUND_MASK_5;
public static var BACKGROUND_MASK_6:Class = IMG_BACKGROUND_MASK_6;
public static var TEAM24_ATTACKER:Class = IMG_TEAM24_ATTACKER;
public static var BACKGROUND_MASK_8:Class = IMG_BACKGROUND_MASK_8;
public static var BACKGROUND_MASK_4:Class = IMG_BACKGROUND_MASK_4;
public static var MESSAGE_FIRST_HALF:Class = IMG_MESSAGE_FIRST_HALF;
public static var TEAM19_MINI_FLAG:Class = IMG_TEAM19_MINI_FLAG;
public static var TEAM5_ATTACKER:Class = IMG_TEAM5_ATTACKER;
public static var TEAM22_GOALKEEPER:Class = IMG_TEAM22_GOALKEEPER;
public static var BACKGROUND_MASK_7:Class = IMG_BACKGROUND_MASK_7;
public static var MENU_UNCHECKED:Class = IMG_MENU_UNCHECKED;
public static var BUTTON_NEXT:Class = IMG_BUTTON_NEXT;
public static var TEAM23_LOGO:Class = IMG_TEAM23_LOGO;
public static var TEAM13_ATTACKER:Class = IMG_TEAM13_ATTACKER;
public static var BACKGROUND_MASK_9:Class = IMG_BACKGROUND_MASK_9;
public static var MENU_1P_VS_COM:Class = IMG_MENU_1P_VS_COM;
public function IMG():void{
_images = new Dictionary();
}
public function getBitmapData(_arg1:Class):BitmapData{
if (!_images[_arg1]){
_images[_arg1] = (new (_arg1) as Bitmap);
};
return ((_images[_arg1] as Bitmap).bitmapData);
}
public function getBitmap(_arg1:Class):Bitmap{
if (!_images[_arg1]){
_images[_arg1] = (new (_arg1) as Bitmap);
};
return ((_images[_arg1] as Bitmap));
}
public static function getSingleton():IMG{
if (!_instance){
_instance = new (IMG);
};
return (_instance);
}
}
}//package
Section 272
//IMG_ABOUT_BACKGROUND (IMG_ABOUT_BACKGROUND)
package {
import mx.core.*;
public class IMG_ABOUT_BACKGROUND extends BitmapAsset {
}
}//package
Section 273
//IMG_AREA (IMG_AREA)
package {
import mx.core.*;
public class IMG_AREA extends BitmapAsset {
}
}//package
Section 274
//IMG_ARROW_HELPER (IMG_ARROW_HELPER)
package {
import mx.core.*;
public class IMG_ARROW_HELPER extends BitmapAsset {
}
}//package
Section 275
//IMG_BACKGROUND (IMG_BACKGROUND)
package {
import mx.core.*;
public class IMG_BACKGROUND extends BitmapAsset {
}
}//package
Section 276
//IMG_BACKGROUND_MASK_1 (IMG_BACKGROUND_MASK_1)
package {
import mx.core.*;
public class IMG_BACKGROUND_MASK_1 extends BitmapAsset {
}
}//package
Section 277
//IMG_BACKGROUND_MASK_10 (IMG_BACKGROUND_MASK_10)
package {
import mx.core.*;
public class IMG_BACKGROUND_MASK_10 extends BitmapAsset {
}
}//package
Section 278
//IMG_BACKGROUND_MASK_2 (IMG_BACKGROUND_MASK_2)
package {
import mx.core.*;
public class IMG_BACKGROUND_MASK_2 extends BitmapAsset {
}
}//package
Section 279
//IMG_BACKGROUND_MASK_3 (IMG_BACKGROUND_MASK_3)
package {
import mx.core.*;
public class IMG_BACKGROUND_MASK_3 extends BitmapAsset {
}
}//package
Section 280
//IMG_BACKGROUND_MASK_4 (IMG_BACKGROUND_MASK_4)
package {
import mx.core.*;
public class IMG_BACKGROUND_MASK_4 extends BitmapAsset {
}
}//package
Section 281
//IMG_BACKGROUND_MASK_5 (IMG_BACKGROUND_MASK_5)
package {
import mx.core.*;
public class IMG_BACKGROUND_MASK_5 extends BitmapAsset {
}
}//package
Section 282
//IMG_BACKGROUND_MASK_6 (IMG_BACKGROUND_MASK_6)
package {
import mx.core.*;
public class IMG_BACKGROUND_MASK_6 extends BitmapAsset {
}
}//package
Section 283
//IMG_BACKGROUND_MASK_7 (IMG_BACKGROUND_MASK_7)
package {
import mx.core.*;
public class IMG_BACKGROUND_MASK_7 extends BitmapAsset {
}
}//package
Section 284
//IMG_BACKGROUND_MASK_8 (IMG_BACKGROUND_MASK_8)
package {
import mx.core.*;
public class IMG_BACKGROUND_MASK_8 extends BitmapAsset {
}
}//package
Section 285
//IMG_BACKGROUND_MASK_9 (IMG_BACKGROUND_MASK_9)
package {
import mx.core.*;
public class IMG_BACKGROUND_MASK_9 extends BitmapAsset {
}
}//package
Section 286
//IMG_BACKGROUND_PLAYGROUND (IMG_BACKGROUND_PLAYGROUND)
package {
import mx.core.*;
public class IMG_BACKGROUND_PLAYGROUND extends BitmapAsset {
}
}//package
Section 287
//IMG_BALL (IMG_BALL)
package {
import mx.core.*;
public class IMG_BALL extends BitmapAsset {
}
}//package
Section 288
//IMG_BALL_0 (IMG_BALL_0)
package {
import mx.core.*;
public class IMG_BALL_0 extends BitmapAsset {
}
}//package
Section 289
//IMG_BALL_1 (IMG_BALL_1)
package {
import mx.core.*;
public class IMG_BALL_1 extends BitmapAsset {
}
}//package
Section 290
//IMG_BALL_2 (IMG_BALL_2)
package {
import mx.core.*;
public class IMG_BALL_2 extends BitmapAsset {
}
}//package
Section 291
//IMG_BALL_3 (IMG_BALL_3)
package {
import mx.core.*;
public class IMG_BALL_3 extends BitmapAsset {
}
}//package
Section 292
//IMG_BALL_4 (IMG_BALL_4)
package {
import mx.core.*;
public class IMG_BALL_4 extends BitmapAsset {
}
}//package
Section 293
//IMG_BALL_5 (IMG_BALL_5)
package {
import mx.core.*;
public class IMG_BALL_5 extends BitmapAsset {
}
}//package
Section 294
//IMG_BALL_6 (IMG_BALL_6)
package {
import mx.core.*;
public class IMG_BALL_6 extends BitmapAsset {
}
}//package
Section 295
//IMG_BALL_7 (IMG_BALL_7)
package {
import mx.core.*;
public class IMG_BALL_7 extends BitmapAsset {
}
}//package
Section 296
//IMG_BALL_8 (IMG_BALL_8)
package {
import mx.core.*;
public class IMG_BALL_8 extends BitmapAsset {
}
}//package
Section 297
//IMG_BUTTON_BACK (IMG_BUTTON_BACK)
package {
import mx.core.*;
public class IMG_BUTTON_BACK extends BitmapAsset {
}
}//package
Section 298
//IMG_BUTTON_LEFT_ARROW (IMG_BUTTON_LEFT_ARROW)
package {
import mx.core.*;
public class IMG_BUTTON_LEFT_ARROW extends BitmapAsset {
}
}//package
Section 299
//IMG_BUTTON_NEXT (IMG_BUTTON_NEXT)
package {
import mx.core.*;
public class IMG_BUTTON_NEXT extends BitmapAsset {
}
}//package
Section 300
//IMG_BUTTON_RIGHT_ARROW (IMG_BUTTON_RIGHT_ARROW)
package {
import mx.core.*;
public class IMG_BUTTON_RIGHT_ARROW extends BitmapAsset {
}
}//package
Section 301
//IMG_EXIT_PANEL_BUTTON (IMG_EXIT_PANEL_BUTTON)
package {
import mx.core.*;
public class IMG_EXIT_PANEL_BUTTON extends BitmapAsset {
}
}//package
Section 302
//IMG_GRAY_BACKGROUND (IMG_GRAY_BACKGROUND)
package {
import mx.core.*;
public class IMG_GRAY_BACKGROUND extends BitmapAsset {
}
}//package
Section 303
//IMG_ILMARE_BANNER (IMG_ILMARE_BANNER)
package {
import mx.core.*;
public class IMG_ILMARE_BANNER extends BitmapAsset {
}
}//package
Section 304
//IMG_INTERLEVEL_BACKGROUND (IMG_INTERLEVEL_BACKGROUND)
package {
import mx.core.*;
public class IMG_INTERLEVEL_BACKGROUND extends BitmapAsset {
}
}//package
Section 305
//IMG_KNOCKOUT_RESULTS (IMG_KNOCKOUT_RESULTS)
package {
import mx.core.*;
public class IMG_KNOCKOUT_RESULTS extends BitmapAsset {
}
}//package
Section 306
//IMG_LABEL_PLAYER_1 (IMG_LABEL_PLAYER_1)
package {
import mx.core.*;
public class IMG_LABEL_PLAYER_1 extends BitmapAsset {
}
}//package
Section 307
//IMG_LABEL_PLAYER_2 (IMG_LABEL_PLAYER_2)
package {
import mx.core.*;
public class IMG_LABEL_PLAYER_2 extends BitmapAsset {
}
}//package
Section 308
//IMG_LCD_FONT_SMALL (IMG_LCD_FONT_SMALL)
package {
import mx.core.*;
public class IMG_LCD_FONT_SMALL extends BitmapAsset {
}
}//package
Section 309
//IMG_LEGIBLE_FONT_BIG (IMG_LEGIBLE_FONT_BIG)
package {
import mx.core.*;
public class IMG_LEGIBLE_FONT_BIG extends BitmapAsset {
}
}//package
Section 310
//IMG_LEGIBLE_FONT_SMALL (IMG_LEGIBLE_FONT_SMALL)
package {
import mx.core.*;
public class IMG_LEGIBLE_FONT_SMALL extends BitmapAsset {
}
}//package
Section 311
//IMG_LEVEL_INDICATOR (IMG_LEVEL_INDICATOR)
package {
import mx.core.*;
public class IMG_LEVEL_INDICATOR extends BitmapAsset {
}
}//package
Section 312
//IMG_LEVEL_INDICATOR_REFLECTION (IMG_LEVEL_INDICATOR_REFLECTION)
package {
import mx.core.*;
public class IMG_LEVEL_INDICATOR_REFLECTION extends BitmapAsset {
}
}//package
Section 313
//IMG_LOGO (IMG_LOGO)
package {
import mx.core.*;
public class IMG_LOGO extends BitmapAsset {
}
}//package
Section 314
//IMG_LOGO_PANEL (IMG_LOGO_PANEL)
package {
import mx.core.*;
public class IMG_LOGO_PANEL extends BitmapAsset {
}
}//package
Section 315
//IMG_LOGO_PANEL_REFLECTION (IMG_LOGO_PANEL_REFLECTION)
package {
import mx.core.*;
public class IMG_LOGO_PANEL_REFLECTION extends BitmapAsset {
}
}//package
Section 316
//IMG_MASKED_EXPLODE (IMG_MASKED_EXPLODE)
package {
import mx.core.*;
public class IMG_MASKED_EXPLODE extends BitmapAsset {
}
}//package
Section 317
//IMG_MENU_1P_VS_2P (IMG_MENU_1P_VS_2P)
package {
import mx.core.*;
public class IMG_MENU_1P_VS_2P extends BitmapAsset {
}
}//package
Section 318
//IMG_MENU_1P_VS_COM (IMG_MENU_1P_VS_COM)
package {
import mx.core.*;
public class IMG_MENU_1P_VS_COM extends BitmapAsset {
}
}//package
Section 319
//IMG_MENU_ABOUT (IMG_MENU_ABOUT)
package {
import mx.core.*;
public class IMG_MENU_ABOUT extends BitmapAsset {
}
}//package
Section 320
//IMG_MENU_BACK (IMG_MENU_BACK)
package {
import mx.core.*;
public class IMG_MENU_BACK extends BitmapAsset {
}
}//package
Section 321
//IMG_MENU_BACKGROUND (IMG_MENU_BACKGROUND)
package {
import mx.core.*;
public class IMG_MENU_BACKGROUND extends BitmapAsset {
}
}//package
Section 322
//IMG_MENU_CHECKED (IMG_MENU_CHECKED)
package {
import mx.core.*;
public class IMG_MENU_CHECKED extends BitmapAsset {
}
}//package
Section 323
//IMG_MENU_CHOOSE_TEAMS (IMG_MENU_CHOOSE_TEAMS)
package {
import mx.core.*;
public class IMG_MENU_CHOOSE_TEAMS extends BitmapAsset {
}
}//package
Section 324
//IMG_MENU_CONTINUE (IMG_MENU_CONTINUE)
package {
import mx.core.*;
public class IMG_MENU_CONTINUE extends BitmapAsset {
}
}//package
Section 325
//IMG_MENU_FRONT_END (IMG_MENU_FRONT_END)
package {
import mx.core.*;
public class IMG_MENU_FRONT_END extends BitmapAsset {
}
}//package
Section 326
//IMG_MENU_HIGHSCORES (IMG_MENU_HIGHSCORES)
package {
import mx.core.*;
public class IMG_MENU_HIGHSCORES extends BitmapAsset {
}
}//package
Section 327
//IMG_MENU_LESS (IMG_MENU_LESS)
package {
import mx.core.*;
public class IMG_MENU_LESS extends BitmapAsset {
}
}//package
Section 328
//IMG_MENU_MAIN_MENU (IMG_MENU_MAIN_MENU)
package {
import mx.core.*;
public class IMG_MENU_MAIN_MENU extends BitmapAsset {
}
}//package
Section 329
//IMG_MENU_MORE (IMG_MENU_MORE)
package {
import mx.core.*;
public class IMG_MENU_MORE extends BitmapAsset {
}
}//package
Section 330
//IMG_MENU_MORE_GAMES (IMG_MENU_MORE_GAMES)
package {
import mx.core.*;
public class IMG_MENU_MORE_GAMES extends BitmapAsset {
}
}//package
Section 331
//IMG_MENU_NEW_SEASON (IMG_MENU_NEW_SEASON)
package {
import mx.core.*;
public class IMG_MENU_NEW_SEASON extends BitmapAsset {
}
}//package
Section 332
//IMG_MENU_NEW_TOURNAMENT (IMG_MENU_NEW_TOURNAMENT)
package {
import mx.core.*;
public class IMG_MENU_NEW_TOURNAMENT extends BitmapAsset {
}
}//package
Section 333
//IMG_MENU_OPTIONS (IMG_MENU_OPTIONS)
package {
import mx.core.*;
public class IMG_MENU_OPTIONS extends BitmapAsset {
}
}//package
Section 334
//IMG_MENU_PANEL_BUTTON (IMG_MENU_PANEL_BUTTON)
package {
import mx.core.*;
public class IMG_MENU_PANEL_BUTTON extends BitmapAsset {
}
}//package
Section 335
//IMG_MENU_PLAY_MORE_GAMES_BUTTON (IMG_MENU_PLAY_MORE_GAMES_BUTTON)
package {
import mx.core.*;
public class IMG_MENU_PLAY_MORE_GAMES_BUTTON extends BitmapAsset {
}
}//package
Section 336
//IMG_MENU_PLAYGROUND (IMG_MENU_PLAYGROUND)
package {
import mx.core.*;
public class IMG_MENU_PLAYGROUND extends BitmapAsset {
}
}//package
Section 337
//IMG_MENU_QUICK_MATCH (IMG_MENU_QUICK_MATCH)
package {
import mx.core.*;
public class IMG_MENU_QUICK_MATCH extends BitmapAsset {
}
}//package
Section 338
//IMG_MENU_REMATCH (IMG_MENU_REMATCH)
package {
import mx.core.*;
public class IMG_MENU_REMATCH extends BitmapAsset {
}
}//package
Section 339
//IMG_MENU_RESUME_GAME (IMG_MENU_RESUME_GAME)
package {
import mx.core.*;
public class IMG_MENU_RESUME_GAME extends BitmapAsset {
}
}//package
Section 340
//IMG_MENU_SEASON (IMG_MENU_SEASON)
package {
import mx.core.*;
public class IMG_MENU_SEASON extends BitmapAsset {
}
}//package
Section 341
//IMG_MENU_TOURNAMENT (IMG_MENU_TOURNAMENT)
package {
import mx.core.*;
public class IMG_MENU_TOURNAMENT extends BitmapAsset {
}
}//package
Section 342
//IMG_MENU_UNCHECKED (IMG_MENU_UNCHECKED)
package {
import mx.core.*;
public class IMG_MENU_UNCHECKED extends BitmapAsset {
}
}//package
Section 343
//IMG_MESSAGE_FINAL_WHISTLE (IMG_MESSAGE_FINAL_WHISTLE)
package {
import mx.core.*;
public class IMG_MESSAGE_FINAL_WHISTLE extends BitmapAsset {
}
}//package
Section 344
//IMG_MESSAGE_FIRST_HALF (IMG_MESSAGE_FIRST_HALF)
package {
import mx.core.*;
public class IMG_MESSAGE_FIRST_HALF extends BitmapAsset {
}
}//package
Section 345
//IMG_MESSAGE_GOAL (IMG_MESSAGE_GOAL)
package {
import mx.core.*;
public class IMG_MESSAGE_GOAL extends BitmapAsset {
}
}//package
Section 346
//IMG_MESSAGE_KICK_OFF (IMG_MESSAGE_KICK_OFF)
package {
import mx.core.*;
public class IMG_MESSAGE_KICK_OFF extends BitmapAsset {
}
}//package
Section 347
//IMG_MESSAGE_PENALTIES (IMG_MESSAGE_PENALTIES)
package {
import mx.core.*;
public class IMG_MESSAGE_PENALTIES extends BitmapAsset {
}
}//package
Section 348
//IMG_MESSAGE_SECOND_HALF (IMG_MESSAGE_SECOND_HALF)
package {
import mx.core.*;
public class IMG_MESSAGE_SECOND_HALF extends BitmapAsset {
}
}//package
Section 349
//IMG_MESSAGE_TIME_UP (IMG_MESSAGE_TIME_UP)
package {
import mx.core.*;
public class IMG_MESSAGE_TIME_UP extends BitmapAsset {
}
}//package
Section 350
//IMG_NEXT_PAGE_BUTTON (IMG_NEXT_PAGE_BUTTON)
package {
import mx.core.*;
public class IMG_NEXT_PAGE_BUTTON extends BitmapAsset {
}
}//package
Section 351
//IMG_OPTIONS_PANEL_BUTTON (IMG_OPTIONS_PANEL_BUTTON)
package {
import mx.core.*;
public class IMG_OPTIONS_PANEL_BUTTON extends BitmapAsset {
}
}//package
Section 352
//IMG_PLAYER_INDICATOR (IMG_PLAYER_INDICATOR)
package {
import mx.core.*;
public class IMG_PLAYER_INDICATOR extends BitmapAsset {
}
}//package
Section 353
//IMG_POST_MATCH_BACKGROUND (IMG_POST_MATCH_BACKGROUND)
package {
import mx.core.*;
public class IMG_POST_MATCH_BACKGROUND extends BitmapAsset {
}
}//package
Section 354
//IMG_PRE_MATCH_BACKGROUND (IMG_PRE_MATCH_BACKGROUND)
package {
import mx.core.*;
public class IMG_PRE_MATCH_BACKGROUND extends BitmapAsset {
}
}//package
Section 355
//IMG_PREVIOUS_PAGE_BUTTON (IMG_PREVIOUS_PAGE_BUTTON)
package {
import mx.core.*;
public class IMG_PREVIOUS_PAGE_BUTTON extends BitmapAsset {
}
}//package
Section 356
//IMG_SEASON_LOST (IMG_SEASON_LOST)
package {
import mx.core.*;
public class IMG_SEASON_LOST extends BitmapAsset {
}
}//package
Section 357
//IMG_SEASON_RESULTS (IMG_SEASON_RESULTS)
package {
import mx.core.*;
public class IMG_SEASON_RESULTS extends BitmapAsset {
}
}//package
Section 358
//IMG_SEASON_WON (IMG_SEASON_WON)
package {
import mx.core.*;
public class IMG_SEASON_WON extends BitmapAsset {
}
}//package
Section 359
//IMG_SELECT_TEAM_BACKGROUND (IMG_SELECT_TEAM_BACKGROUND)
package {
import mx.core.*;
public class IMG_SELECT_TEAM_BACKGROUND extends BitmapAsset {
}
}//package
Section 360
//IMG_SPEAKER_OFF (IMG_SPEAKER_OFF)
package {
import mx.core.*;
public class IMG_SPEAKER_OFF extends BitmapAsset {
}
}//package
Section 361
//IMG_SPEAKER_ON (IMG_SPEAKER_ON)
package {
import mx.core.*;
public class IMG_SPEAKER_ON extends BitmapAsset {
}
}//package
Section 362
//IMG_SPONSOR_BANNER (IMG_SPONSOR_BANNER)
package {
import mx.core.*;
public class IMG_SPONSOR_BANNER extends BitmapAsset {
}
}//package
Section 363
//IMG_STATS_INDICATOR_REFLECTION (IMG_STATS_INDICATOR_REFLECTION)
package {
import mx.core.*;
public class IMG_STATS_INDICATOR_REFLECTION extends BitmapAsset {
}
}//package
Section 364
//IMG_TEAM_LOCKED (IMG_TEAM_LOCKED)
package {
import mx.core.*;
public class IMG_TEAM_LOCKED extends BitmapAsset {
}
}//package
Section 365
//IMG_TEAM_LOCKED_MESSAGE (IMG_TEAM_LOCKED_MESSAGE)
package {
import mx.core.*;
public class IMG_TEAM_LOCKED_MESSAGE extends BitmapAsset {
}
}//package
Section 366
//IMG_TEAM_NAME_REFLECTION (IMG_TEAM_NAME_REFLECTION)
package {
import mx.core.*;
public class IMG_TEAM_NAME_REFLECTION extends BitmapAsset {
}
}//package
Section 367
//IMG_TEAM_NULL_ATTACKER (IMG_TEAM_NULL_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM_NULL_ATTACKER extends BitmapAsset {
}
}//package
Section 368
//IMG_TEAM_NULL_GOALKEEPER (IMG_TEAM_NULL_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM_NULL_GOALKEEPER extends BitmapAsset {
}
}//package
Section 369
//IMG_TEAM_NULL_LOGO (IMG_TEAM_NULL_LOGO)
package {
import mx.core.*;
public class IMG_TEAM_NULL_LOGO extends BitmapAsset {
}
}//package
Section 370
//IMG_TEAM_NULL_MINI_FLAG (IMG_TEAM_NULL_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM_NULL_MINI_FLAG extends BitmapAsset {
}
}//package
Section 371
//IMG_TEAM_UNLOCKED (IMG_TEAM_UNLOCKED)
package {
import mx.core.*;
public class IMG_TEAM_UNLOCKED extends BitmapAsset {
}
}//package
Section 372
//IMG_TEAM0_ATTACKER (IMG_TEAM0_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM0_ATTACKER extends BitmapAsset {
}
}//package
Section 373
//IMG_TEAM0_GOALKEEPER (IMG_TEAM0_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM0_GOALKEEPER extends BitmapAsset {
}
}//package
Section 374
//IMG_TEAM1_ATTACKER (IMG_TEAM1_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM1_ATTACKER extends BitmapAsset {
}
}//package
Section 375
//IMG_TEAM1_GOALKEEPER (IMG_TEAM1_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM1_GOALKEEPER extends BitmapAsset {
}
}//package
Section 376
//IMG_TEAM1_LOGO (IMG_TEAM1_LOGO)
package {
import mx.core.*;
public class IMG_TEAM1_LOGO extends BitmapAsset {
}
}//package
Section 377
//IMG_TEAM1_MINI_FLAG (IMG_TEAM1_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM1_MINI_FLAG extends BitmapAsset {
}
}//package
Section 378
//IMG_TEAM10_ATTACKER (IMG_TEAM10_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM10_ATTACKER extends BitmapAsset {
}
}//package
Section 379
//IMG_TEAM10_GOALKEEPER (IMG_TEAM10_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM10_GOALKEEPER extends BitmapAsset {
}
}//package
Section 380
//IMG_TEAM10_LOGO (IMG_TEAM10_LOGO)
package {
import mx.core.*;
public class IMG_TEAM10_LOGO extends BitmapAsset {
}
}//package
Section 381
//IMG_TEAM10_MINI_FLAG (IMG_TEAM10_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM10_MINI_FLAG extends BitmapAsset {
}
}//package
Section 382
//IMG_TEAM11_ATTACKER (IMG_TEAM11_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM11_ATTACKER extends BitmapAsset {
}
}//package
Section 383
//IMG_TEAM11_GOALKEEPER (IMG_TEAM11_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM11_GOALKEEPER extends BitmapAsset {
}
}//package
Section 384
//IMG_TEAM11_LOGO (IMG_TEAM11_LOGO)
package {
import mx.core.*;
public class IMG_TEAM11_LOGO extends BitmapAsset {
}
}//package
Section 385
//IMG_TEAM11_MINI_FLAG (IMG_TEAM11_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM11_MINI_FLAG extends BitmapAsset {
}
}//package
Section 386
//IMG_TEAM12_ATTACKER (IMG_TEAM12_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM12_ATTACKER extends BitmapAsset {
}
}//package
Section 387
//IMG_TEAM12_GOALKEEPER (IMG_TEAM12_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM12_GOALKEEPER extends BitmapAsset {
}
}//package
Section 388
//IMG_TEAM12_LOGO (IMG_TEAM12_LOGO)
package {
import mx.core.*;
public class IMG_TEAM12_LOGO extends BitmapAsset {
}
}//package
Section 389
//IMG_TEAM12_MINI_FLAG (IMG_TEAM12_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM12_MINI_FLAG extends BitmapAsset {
}
}//package
Section 390
//IMG_TEAM13_ATTACKER (IMG_TEAM13_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM13_ATTACKER extends BitmapAsset {
}
}//package
Section 391
//IMG_TEAM13_GOALKEEPER (IMG_TEAM13_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM13_GOALKEEPER extends BitmapAsset {
}
}//package
Section 392
//IMG_TEAM13_LOGO (IMG_TEAM13_LOGO)
package {
import mx.core.*;
public class IMG_TEAM13_LOGO extends BitmapAsset {
}
}//package
Section 393
//IMG_TEAM13_MINI_FLAG (IMG_TEAM13_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM13_MINI_FLAG extends BitmapAsset {
}
}//package
Section 394
//IMG_TEAM14_ATTACKER (IMG_TEAM14_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM14_ATTACKER extends BitmapAsset {
}
}//package
Section 395
//IMG_TEAM14_GOALKEEPER (IMG_TEAM14_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM14_GOALKEEPER extends BitmapAsset {
}
}//package
Section 396
//IMG_TEAM14_LOGO (IMG_TEAM14_LOGO)
package {
import mx.core.*;
public class IMG_TEAM14_LOGO extends BitmapAsset {
}
}//package
Section 397
//IMG_TEAM14_MINI_FLAG (IMG_TEAM14_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM14_MINI_FLAG extends BitmapAsset {
}
}//package
Section 398
//IMG_TEAM15_ATTACKER (IMG_TEAM15_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM15_ATTACKER extends BitmapAsset {
}
}//package
Section 399
//IMG_TEAM15_GOALKEEPER (IMG_TEAM15_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM15_GOALKEEPER extends BitmapAsset {
}
}//package
Section 400
//IMG_TEAM15_LOGO (IMG_TEAM15_LOGO)
package {
import mx.core.*;
public class IMG_TEAM15_LOGO extends BitmapAsset {
}
}//package
Section 401
//IMG_TEAM15_MINI_FLAG (IMG_TEAM15_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM15_MINI_FLAG extends BitmapAsset {
}
}//package
Section 402
//IMG_TEAM16_ATTACKER (IMG_TEAM16_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM16_ATTACKER extends BitmapAsset {
}
}//package
Section 403
//IMG_TEAM16_GOALKEEPER (IMG_TEAM16_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM16_GOALKEEPER extends BitmapAsset {
}
}//package
Section 404
//IMG_TEAM16_LOGO (IMG_TEAM16_LOGO)
package {
import mx.core.*;
public class IMG_TEAM16_LOGO extends BitmapAsset {
}
}//package
Section 405
//IMG_TEAM16_MINI_FLAG (IMG_TEAM16_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM16_MINI_FLAG extends BitmapAsset {
}
}//package
Section 406
//IMG_TEAM17_ATTACKER (IMG_TEAM17_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM17_ATTACKER extends BitmapAsset {
}
}//package
Section 407
//IMG_TEAM17_GOALKEEPER (IMG_TEAM17_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM17_GOALKEEPER extends BitmapAsset {
}
}//package
Section 408
//IMG_TEAM17_LOGO (IMG_TEAM17_LOGO)
package {
import mx.core.*;
public class IMG_TEAM17_LOGO extends BitmapAsset {
}
}//package
Section 409
//IMG_TEAM17_MINI_FLAG (IMG_TEAM17_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM17_MINI_FLAG extends BitmapAsset {
}
}//package
Section 410
//IMG_TEAM18_ATTACKER (IMG_TEAM18_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM18_ATTACKER extends BitmapAsset {
}
}//package
Section 411
//IMG_TEAM18_GOALKEEPER (IMG_TEAM18_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM18_GOALKEEPER extends BitmapAsset {
}
}//package
Section 412
//IMG_TEAM18_LOGO (IMG_TEAM18_LOGO)
package {
import mx.core.*;
public class IMG_TEAM18_LOGO extends BitmapAsset {
}
}//package
Section 413
//IMG_TEAM18_MINI_FLAG (IMG_TEAM18_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM18_MINI_FLAG extends BitmapAsset {
}
}//package
Section 414
//IMG_TEAM19_ATTACKER (IMG_TEAM19_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM19_ATTACKER extends BitmapAsset {
}
}//package
Section 415
//IMG_TEAM19_GOALKEEPER (IMG_TEAM19_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM19_GOALKEEPER extends BitmapAsset {
}
}//package
Section 416
//IMG_TEAM19_LOGO (IMG_TEAM19_LOGO)
package {
import mx.core.*;
public class IMG_TEAM19_LOGO extends BitmapAsset {
}
}//package
Section 417
//IMG_TEAM19_MINI_FLAG (IMG_TEAM19_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM19_MINI_FLAG extends BitmapAsset {
}
}//package
Section 418
//IMG_TEAM2_ATTACKER (IMG_TEAM2_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM2_ATTACKER extends BitmapAsset {
}
}//package
Section 419
//IMG_TEAM2_GOALKEEPER (IMG_TEAM2_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM2_GOALKEEPER extends BitmapAsset {
}
}//package
Section 420
//IMG_TEAM2_LOGO (IMG_TEAM2_LOGO)
package {
import mx.core.*;
public class IMG_TEAM2_LOGO extends BitmapAsset {
}
}//package
Section 421
//IMG_TEAM2_MINI_FLAG (IMG_TEAM2_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM2_MINI_FLAG extends BitmapAsset {
}
}//package
Section 422
//IMG_TEAM20_ATTACKER (IMG_TEAM20_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM20_ATTACKER extends BitmapAsset {
}
}//package
Section 423
//IMG_TEAM20_GOALKEEPER (IMG_TEAM20_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM20_GOALKEEPER extends BitmapAsset {
}
}//package
Section 424
//IMG_TEAM20_LOGO (IMG_TEAM20_LOGO)
package {
import mx.core.*;
public class IMG_TEAM20_LOGO extends BitmapAsset {
}
}//package
Section 425
//IMG_TEAM20_MINI_FLAG (IMG_TEAM20_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM20_MINI_FLAG extends BitmapAsset {
}
}//package
Section 426
//IMG_TEAM21_ATTACKER (IMG_TEAM21_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM21_ATTACKER extends BitmapAsset {
}
}//package
Section 427
//IMG_TEAM21_GOALKEEPER (IMG_TEAM21_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM21_GOALKEEPER extends BitmapAsset {
}
}//package
Section 428
//IMG_TEAM21_LOGO (IMG_TEAM21_LOGO)
package {
import mx.core.*;
public class IMG_TEAM21_LOGO extends BitmapAsset {
}
}//package
Section 429
//IMG_TEAM21_MINI_FLAG (IMG_TEAM21_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM21_MINI_FLAG extends BitmapAsset {
}
}//package
Section 430
//IMG_TEAM22_ATTACKER (IMG_TEAM22_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM22_ATTACKER extends BitmapAsset {
}
}//package
Section 431
//IMG_TEAM22_GOALKEEPER (IMG_TEAM22_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM22_GOALKEEPER extends BitmapAsset {
}
}//package
Section 432
//IMG_TEAM22_LOGO (IMG_TEAM22_LOGO)
package {
import mx.core.*;
public class IMG_TEAM22_LOGO extends BitmapAsset {
}
}//package
Section 433
//IMG_TEAM22_MINI_FLAG (IMG_TEAM22_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM22_MINI_FLAG extends BitmapAsset {
}
}//package
Section 434
//IMG_TEAM23_ATTACKER (IMG_TEAM23_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM23_ATTACKER extends BitmapAsset {
}
}//package
Section 435
//IMG_TEAM23_GOALKEEPER (IMG_TEAM23_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM23_GOALKEEPER extends BitmapAsset {
}
}//package
Section 436
//IMG_TEAM23_LOGO (IMG_TEAM23_LOGO)
package {
import mx.core.*;
public class IMG_TEAM23_LOGO extends BitmapAsset {
}
}//package
Section 437
//IMG_TEAM23_MINI_FLAG (IMG_TEAM23_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM23_MINI_FLAG extends BitmapAsset {
}
}//package
Section 438
//IMG_TEAM24_ATTACKER (IMG_TEAM24_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM24_ATTACKER extends BitmapAsset {
}
}//package
Section 439
//IMG_TEAM24_GOALKEEPER (IMG_TEAM24_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM24_GOALKEEPER extends BitmapAsset {
}
}//package
Section 440
//IMG_TEAM24_LOGO (IMG_TEAM24_LOGO)
package {
import mx.core.*;
public class IMG_TEAM24_LOGO extends BitmapAsset {
}
}//package
Section 441
//IMG_TEAM24_MINI_FLAG (IMG_TEAM24_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM24_MINI_FLAG extends BitmapAsset {
}
}//package
Section 442
//IMG_TEAM25_ATTACKER (IMG_TEAM25_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM25_ATTACKER extends BitmapAsset {
}
}//package
Section 443
//IMG_TEAM25_GOALKEEPER (IMG_TEAM25_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM25_GOALKEEPER extends BitmapAsset {
}
}//package
Section 444
//IMG_TEAM25_LOGO (IMG_TEAM25_LOGO)
package {
import mx.core.*;
public class IMG_TEAM25_LOGO extends BitmapAsset {
}
}//package
Section 445
//IMG_TEAM25_MINI_FLAG (IMG_TEAM25_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM25_MINI_FLAG extends BitmapAsset {
}
}//package
Section 446
//IMG_TEAM26_ATTACKER (IMG_TEAM26_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM26_ATTACKER extends BitmapAsset {
}
}//package
Section 447
//IMG_TEAM26_GOALKEEPER (IMG_TEAM26_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM26_GOALKEEPER extends BitmapAsset {
}
}//package
Section 448
//IMG_TEAM26_LOGO (IMG_TEAM26_LOGO)
package {
import mx.core.*;
public class IMG_TEAM26_LOGO extends BitmapAsset {
}
}//package
Section 449
//IMG_TEAM26_MINI_FLAG (IMG_TEAM26_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM26_MINI_FLAG extends BitmapAsset {
}
}//package
Section 450
//IMG_TEAM27_ATTACKER (IMG_TEAM27_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM27_ATTACKER extends BitmapAsset {
}
}//package
Section 451
//IMG_TEAM27_GOALKEEPER (IMG_TEAM27_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM27_GOALKEEPER extends BitmapAsset {
}
}//package
Section 452
//IMG_TEAM27_LOGO (IMG_TEAM27_LOGO)
package {
import mx.core.*;
public class IMG_TEAM27_LOGO extends BitmapAsset {
}
}//package
Section 453
//IMG_TEAM27_MINI_FLAG (IMG_TEAM27_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM27_MINI_FLAG extends BitmapAsset {
}
}//package
Section 454
//IMG_TEAM28_ATTACKER (IMG_TEAM28_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM28_ATTACKER extends BitmapAsset {
}
}//package
Section 455
//IMG_TEAM28_GOALKEEPER (IMG_TEAM28_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM28_GOALKEEPER extends BitmapAsset {
}
}//package
Section 456
//IMG_TEAM28_LOGO (IMG_TEAM28_LOGO)
package {
import mx.core.*;
public class IMG_TEAM28_LOGO extends BitmapAsset {
}
}//package
Section 457
//IMG_TEAM28_MINI_FLAG (IMG_TEAM28_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM28_MINI_FLAG extends BitmapAsset {
}
}//package
Section 458
//IMG_TEAM29_ATTACKER (IMG_TEAM29_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM29_ATTACKER extends BitmapAsset {
}
}//package
Section 459
//IMG_TEAM29_GOALKEEPER (IMG_TEAM29_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM29_GOALKEEPER extends BitmapAsset {
}
}//package
Section 460
//IMG_TEAM29_LOGO (IMG_TEAM29_LOGO)
package {
import mx.core.*;
public class IMG_TEAM29_LOGO extends BitmapAsset {
}
}//package
Section 461
//IMG_TEAM29_MINI_FLAG (IMG_TEAM29_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM29_MINI_FLAG extends BitmapAsset {
}
}//package
Section 462
//IMG_TEAM3_ATTACKER (IMG_TEAM3_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM3_ATTACKER extends BitmapAsset {
}
}//package
Section 463
//IMG_TEAM3_GOALKEEPER (IMG_TEAM3_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM3_GOALKEEPER extends BitmapAsset {
}
}//package
Section 464
//IMG_TEAM3_LOGO (IMG_TEAM3_LOGO)
package {
import mx.core.*;
public class IMG_TEAM3_LOGO extends BitmapAsset {
}
}//package
Section 465
//IMG_TEAM3_MINI_FLAG (IMG_TEAM3_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM3_MINI_FLAG extends BitmapAsset {
}
}//package
Section 466
//IMG_TEAM30_ATTACKER (IMG_TEAM30_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM30_ATTACKER extends BitmapAsset {
}
}//package
Section 467
//IMG_TEAM30_GOALKEEPER (IMG_TEAM30_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM30_GOALKEEPER extends BitmapAsset {
}
}//package
Section 468
//IMG_TEAM30_LOGO (IMG_TEAM30_LOGO)
package {
import mx.core.*;
public class IMG_TEAM30_LOGO extends BitmapAsset {
}
}//package
Section 469
//IMG_TEAM30_MINI_FLAG (IMG_TEAM30_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM30_MINI_FLAG extends BitmapAsset {
}
}//package
Section 470
//IMG_TEAM31_ATTACKER (IMG_TEAM31_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM31_ATTACKER extends BitmapAsset {
}
}//package
Section 471
//IMG_TEAM31_GOALKEEPER (IMG_TEAM31_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM31_GOALKEEPER extends BitmapAsset {
}
}//package
Section 472
//IMG_TEAM31_LOGO (IMG_TEAM31_LOGO)
package {
import mx.core.*;
public class IMG_TEAM31_LOGO extends BitmapAsset {
}
}//package
Section 473
//IMG_TEAM31_MINI_FLAG (IMG_TEAM31_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM31_MINI_FLAG extends BitmapAsset {
}
}//package
Section 474
//IMG_TEAM32_ATTACKER (IMG_TEAM32_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM32_ATTACKER extends BitmapAsset {
}
}//package
Section 475
//IMG_TEAM32_GOALKEEPER (IMG_TEAM32_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM32_GOALKEEPER extends BitmapAsset {
}
}//package
Section 476
//IMG_TEAM32_LOGO (IMG_TEAM32_LOGO)
package {
import mx.core.*;
public class IMG_TEAM32_LOGO extends BitmapAsset {
}
}//package
Section 477
//IMG_TEAM32_MINI_FLAG (IMG_TEAM32_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM32_MINI_FLAG extends BitmapAsset {
}
}//package
Section 478
//IMG_TEAM4_ATTACKER (IMG_TEAM4_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM4_ATTACKER extends BitmapAsset {
}
}//package
Section 479
//IMG_TEAM4_GOALKEEPER (IMG_TEAM4_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM4_GOALKEEPER extends BitmapAsset {
}
}//package
Section 480
//IMG_TEAM4_LOGO (IMG_TEAM4_LOGO)
package {
import mx.core.*;
public class IMG_TEAM4_LOGO extends BitmapAsset {
}
}//package
Section 481
//IMG_TEAM4_MINI_FLAG (IMG_TEAM4_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM4_MINI_FLAG extends BitmapAsset {
}
}//package
Section 482
//IMG_TEAM5_ATTACKER (IMG_TEAM5_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM5_ATTACKER extends BitmapAsset {
}
}//package
Section 483
//IMG_TEAM5_GOALKEEPER (IMG_TEAM5_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM5_GOALKEEPER extends BitmapAsset {
}
}//package
Section 484
//IMG_TEAM5_LOGO (IMG_TEAM5_LOGO)
package {
import mx.core.*;
public class IMG_TEAM5_LOGO extends BitmapAsset {
}
}//package
Section 485
//IMG_TEAM5_MINI_FLAG (IMG_TEAM5_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM5_MINI_FLAG extends BitmapAsset {
}
}//package
Section 486
//IMG_TEAM6_ATTACKER (IMG_TEAM6_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM6_ATTACKER extends BitmapAsset {
}
}//package
Section 487
//IMG_TEAM6_GOALKEEPER (IMG_TEAM6_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM6_GOALKEEPER extends BitmapAsset {
}
}//package
Section 488
//IMG_TEAM6_LOGO (IMG_TEAM6_LOGO)
package {
import mx.core.*;
public class IMG_TEAM6_LOGO extends BitmapAsset {
}
}//package
Section 489
//IMG_TEAM6_MINI_FLAG (IMG_TEAM6_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM6_MINI_FLAG extends BitmapAsset {
}
}//package
Section 490
//IMG_TEAM7_ATTACKER (IMG_TEAM7_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM7_ATTACKER extends BitmapAsset {
}
}//package
Section 491
//IMG_TEAM7_GOALKEEPER (IMG_TEAM7_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM7_GOALKEEPER extends BitmapAsset {
}
}//package
Section 492
//IMG_TEAM7_LOGO (IMG_TEAM7_LOGO)
package {
import mx.core.*;
public class IMG_TEAM7_LOGO extends BitmapAsset {
}
}//package
Section 493
//IMG_TEAM7_MINI_FLAG (IMG_TEAM7_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM7_MINI_FLAG extends BitmapAsset {
}
}//package
Section 494
//IMG_TEAM8_ATTACKER (IMG_TEAM8_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM8_ATTACKER extends BitmapAsset {
}
}//package
Section 495
//IMG_TEAM8_GOALKEEPER (IMG_TEAM8_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM8_GOALKEEPER extends BitmapAsset {
}
}//package
Section 496
//IMG_TEAM8_LOGO (IMG_TEAM8_LOGO)
package {
import mx.core.*;
public class IMG_TEAM8_LOGO extends BitmapAsset {
}
}//package
Section 497
//IMG_TEAM8_MINI_FLAG (IMG_TEAM8_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM8_MINI_FLAG extends BitmapAsset {
}
}//package
Section 498
//IMG_TEAM9_ATTACKER (IMG_TEAM9_ATTACKER)
package {
import mx.core.*;
public class IMG_TEAM9_ATTACKER extends BitmapAsset {
}
}//package
Section 499
//IMG_TEAM9_GOALKEEPER (IMG_TEAM9_GOALKEEPER)
package {
import mx.core.*;
public class IMG_TEAM9_GOALKEEPER extends BitmapAsset {
}
}//package
Section 500
//IMG_TEAM9_LOGO (IMG_TEAM9_LOGO)
package {
import mx.core.*;
public class IMG_TEAM9_LOGO extends BitmapAsset {
}
}//package
Section 501
//IMG_TEAM9_MINI_FLAG (IMG_TEAM9_MINI_FLAG)
package {
import mx.core.*;
public class IMG_TEAM9_MINI_FLAG extends BitmapAsset {
}
}//package
Section 502
//IMG_TOP_PANEL (IMG_TOP_PANEL)
package {
import mx.core.*;
public class IMG_TOP_PANEL extends BitmapAsset {
}
}//package
Section 503
//IMG_TOP_PANEL_PLAYGROUND (IMG_TOP_PANEL_PLAYGROUND)
package {
import mx.core.*;
public class IMG_TOP_PANEL_PLAYGROUND extends BitmapAsset {
}
}//package
Section 504
//IMG_TOP_PANEL_REFLECTION (IMG_TOP_PANEL_REFLECTION)
package {
import mx.core.*;
public class IMG_TOP_PANEL_REFLECTION extends BitmapAsset {
}
}//package
Section 505
//IMG_TRAINING_PANEL_BUTTON (IMG_TRAINING_PANEL_BUTTON)
package {
import mx.core.*;
public class IMG_TRAINING_PANEL_BUTTON extends BitmapAsset {
}
}//package
Section 506
//IMG_TUTORIAL_KEYS (IMG_TUTORIAL_KEYS)
package {
import mx.core.*;
public class IMG_TUTORIAL_KEYS extends BitmapAsset {
}
}//package
Section 507
//KnockoutItem (KnockoutItem)
package {
import flash.display.*;
import flash.text.*;
public dynamic class KnockoutItem extends MovieClip {
public var score:TextField;
public var imageDock:MovieClip;
}
}//package
Section 508
//KnockoutLines (KnockoutLines)
package {
import flash.display.*;
public dynamic class KnockoutLines extends MovieClip {
}
}//package
Section 509
//KnockoutTooltip (KnockoutTooltip)
package {
import flash.display.*;
import flash.text.*;
public dynamic class KnockoutTooltip extends MovieClip {
public var teamName:TextField;
}
}//package
Section 510
//Main (Main)
package {
import flash.events.*;
import com.tracker.*;
import flash.display.*;
import flash.utils.*;
import StateLib.*;
import net.rezmason.utils.*;
public class Main extends Sprite {
private var _sleepTime:int;// = 0
private var _afterTime:int;// = 0
private var _beforeTime:int;// = 0
private var _overSleepTime:int;// = 0
private var _excess:int;// = 0
private var _timeDiff:int;// = 0
private var FONT_lcd:Class;
private var _period:Number;// = 33
private var _fps:FPS;
private var _gameTimer:Timer;
private var FONT_abadi:Class;
private var FONT_metabold:Class;
private var _stateManager:StateManager;
public static const FRAME_RATE:int = 30;
public static var _instance:Sprite;
public function Main():void{
FONT_lcd = Main_FONT_lcd;
FONT_metabold = Main_FONT_metabold;
FONT_abadi = Main_FONT_abadi;
super();
}
private function update(_arg1:TimerEvent):void{
_beforeTime = getTimer();
_overSleepTime = ((_beforeTime - _afterTime) - _sleepTime);
if (DEF.DEBUG_FPS){
_fps.update();
};
_stateManager.update();
_stateManager.paint();
_afterTime = getTimer();
_timeDiff = (_afterTime - _beforeTime);
_sleepTime = ((_period - _timeDiff) - _overSleepTime);
if (_sleepTime <= 0){
_excess = (_excess - _sleepTime);
_sleepTime = 2;
};
_gameTimer.reset();
_gameTimer.delay = _sleepTime;
_gameTimer.start();
while (_excess > _period) {
_stateManager.update();
_excess = (_excess - _period);
};
}
public function init(_arg1:Event=null):void{
var _local2:ActiveGraph;
removeEventListener(Event.ADDED_TO_STAGE, init);
_instance = this;
stage.frameRate = 400;
_stateManager = new StateManager(this);
stage.addEventListener(KeyboardEvent.KEY_DOWN, _stateManager.keyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, _stateManager.keyUp);
addEventListener(MouseEvent.MOUSE_MOVE, _stateManager.mouseMove);
addEventListener(MouseEvent.MOUSE_DOWN, _stateManager.mouseDown);
addEventListener(MouseEvent.MOUSE_UP, _stateManager.mouseUp);
if (DEF.DEBUG_FPS){
_local2 = new ActiveGraph();
stage.addChild(_local2);
_fps = new FPS();
addChild(_fps);
_fps.x = 20;
_fps.y = 20;
};
if (DEF.GOOGLE_ANALYTICS){
GoogleTracker.getSingleton().init(this);
GoogleTracker.getSingleton().trackPageview("/init");
};
_gameTimer = new Timer(_period, 1);
_gameTimer.addEventListener(TimerEvent.TIMER, update);
_gameTimer.start();
}
}
}//package
Section 511
//Main_FONT_abadi (Main_FONT_abadi)
package {
import mx.core.*;
public class Main_FONT_abadi extends FontAsset {
}
}//package
Section 512
//Main_FONT_lcd (Main_FONT_lcd)
package {
import mx.core.*;
public class Main_FONT_lcd extends FontAsset {
}
}//package
Section 513
//Main_FONT_metabold (Main_FONT_metabold)
package {
import mx.core.*;
public class Main_FONT_metabold extends FontAsset {
}
}//package
Section 514
//MediaPlayer (MediaPlayer)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
public class MediaPlayer {
private var SND_ingameGoal:Class;
private var SND_ingame1:Class;
private var SND_ingame2:Class;
private var SND_ingame3:Class;
private var SND_ingame4:Class;
private var SND_ingame5:Class;
private var _isPlaying:Array;
public var SND_intro_mp3:Class;
private var _loopingRandom:Boolean;// = false
private var _channels:Array;
private var _loopLast:Number;// = -1
private var _speaker:Sprite;
private var SND_ingameWhistle:Class;
private var _soundVolume:SoundTransform;
private var SND_ingameShock:Class;
private var SND_menuOverOption:Class;
private var SND_win:Class;
private var _classes:Array;
private var _loopFirst:Number;// = -1
private var _soundON:Boolean;// = true
private var SND_menuSelect:Class;
private var _players:Array;
private var SND_ingameMessage:Class;
public static const SND_INGAME_WHISTLE:Number = 9;
public static const SND_INGAME1:Number = 1;
public static const SND_INGAME2:Number = 2;
public static const SND_INGAME3:Number = 3;
public static const SND_INGAME4:Number = 4;
public static const SND_INGAME5:Number = 5;
public static const SND_INGAME_GOAL:Number = 10;
public static const SND_INTRO:Number = 0;
public static const SND_INGAME_SHOCK:Number = 12;
public static const SND_MENU_OVER_OPTION:Number = 8;
public static const SND_GAME_WIN:Number = 6;
public static const SND_MENU_SELECT:Number = 7;
public static const SND_INGAME_MESSAGE:Number = 11;
private static const SND_COUNT:Number = 13;
private static var _instance:MediaPlayer = null;
public function MediaPlayer(){
SND_intro_mp3 = MediaPlayer_SND_intro_mp3;
SND_ingame1 = MediaPlayer_SND_ingame1;
SND_ingame2 = MediaPlayer_SND_ingame2;
SND_ingame3 = MediaPlayer_SND_ingame3;
SND_ingame4 = MediaPlayer_SND_ingame4;
SND_ingame5 = MediaPlayer_SND_ingame5;
SND_win = MediaPlayer_SND_win;
SND_menuSelect = MediaPlayer_SND_menuSelect;
SND_menuOverOption = MediaPlayer_SND_menuOverOption;
SND_ingameShock = MediaPlayer_SND_ingameShock;
SND_ingameWhistle = MediaPlayer_SND_ingameWhistle;
SND_ingameGoal = MediaPlayer_SND_ingameGoal;
SND_ingameMessage = MediaPlayer_SND_ingameMessage;
super();
}
public function stop(_arg1:Number, _arg2:Number=-1):void{
if (_arg2 == -1){
_arg2 = (_arg1 + 1);
};
var _local3:Number = _arg1;
while (_local3 < _arg2) {
if (_local3 < SND_COUNT){
if (_isPlaying[_local3]){
SoundChannel(_channels[_local3]).stop();
_isPlaying[_local3] = false;
};
};
_local3++;
};
}
public function get speakerVisible():Boolean{
return (_speaker.visible);
}
public function set speakerVisible(_arg1:Boolean):void{
_speaker.visible = _arg1;
}
private function init():void{
_players = new Array(SND_COUNT);
_channels = new Array(SND_COUNT);
_isPlaying = new Array(SND_COUNT);
_classes = new Array(SND_COUNT);
_classes[SND_INTRO] = SND_intro_mp3;
_classes[SND_INGAME1] = SND_ingame1;
_classes[SND_INGAME2] = SND_ingame2;
_classes[SND_INGAME3] = SND_ingame3;
_classes[SND_INGAME4] = SND_ingame4;
_classes[SND_INGAME5] = SND_ingame5;
_classes[SND_GAME_WIN] = SND_win;
_classes[SND_MENU_SELECT] = SND_menuSelect;
_classes[SND_MENU_OVER_OPTION] = SND_menuOverOption;
_classes[SND_INGAME_SHOCK] = SND_ingameShock;
_classes[SND_INGAME_WHISTLE] = SND_ingameWhistle;
_classes[SND_INGAME_GOAL] = SND_ingameGoal;
_classes[SND_INGAME_MESSAGE] = SND_ingameMessage;
var _local1:Number = 0;
while (_local1 < SND_COUNT) {
_isPlaying[_local1] = false;
_local1++;
};
_speaker = new Sprite();
Main._instance.stage.addChild(_speaker);
paintSpeaker();
_speaker.addEventListener(MouseEvent.CLICK, speakerClick);
_speaker.x = ((DEF.SCREEN_WIDTH - _speaker.width) - 20);
_speaker.y = 40;
_speaker.alpha = 0.5;
_soundVolume = new SoundTransform();
}
public function mute():void{
_soundVolume.volume = 0;
var _local1:Number = 0;
while (_local1 < SND_COUNT) {
if (_channels[_local1]){
SoundChannel(_channels[_local1]).soundTransform = _soundVolume;
};
_local1++;
};
}
public function isPlaying(_arg1:Number):Boolean{
return (_isPlaying[_arg1]);
}
public function play(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
if (_arg1 < SND_COUNT){
if (_isPlaying[_arg1]){
stop(_arg1);
};
_local3 = 1;
if (_arg2){
_local3 = 999;
};
if (!_players[_arg1]){
_players[_arg1] = (new (_classes[_arg1]) as Sound);
};
_channels[_arg1] = Sound(_players[_arg1]).play(0, _local3);
_channels[_arg1].addEventListener(Event.SOUND_COMPLETE, soundPlayed);
_channels[_arg1].soundTransform = _soundVolume;
_isPlaying[_arg1] = true;
};
}
private function paintSpeaker():void{
var _local1:BitmapData;
_speaker.graphics.clear();
if (_soundON){
_local1 = IMG.getSingleton().getBitmapData(IMG.SPEAKER_ON);
} else {
_local1 = IMG.getSingleton().getBitmapData(IMG.SPEAKER_OFF);
};
_speaker.graphics.beginBitmapFill(_local1);
_speaker.graphics.drawRect(0, 0, _local1.width, _local1.height);
_speaker.graphics.endFill();
}
public function soundPlayed(_arg1:Event):void{
var _local2:Number = 0;
while (_local2 < SND_COUNT) {
if (_arg1.target == _channels[_local2]){
_isPlaying[_local2] = false;
if (((((_loopingRandom) && ((_local2 >= _loopFirst)))) && ((_local2 <= _loopLast)))){
play(Math.floor(((Math.random() * (_loopLast - _loopFirst)) + _loopFirst)));
};
};
_local2++;
};
}
private function speakerClick(_arg1:MouseEvent):void{
_soundON = !(_soundON);
paintSpeaker();
if (_soundON){
unMute();
} else {
mute();
};
}
public function loopBetween(_arg1:Number, _arg2:Number):void{
_loopFirst = _arg1;
_loopLast = _arg2;
_loopingRandom = true;
play(Math.floor(((Math.random() * (_loopLast - _loopFirst)) + _loopFirst)));
}
public function unMute():void{
_soundVolume.volume = 1;
var _local1:Number = 0;
while (_local1 < SND_COUNT) {
if (_channels[_local1]){
SoundChannel(_channels[_local1]).soundTransform = _soundVolume;
};
_local1++;
};
}
public function stopSounds():void{
_loopingRandom = false;
var _local1:Number = 0;
while (_local1 < SND_COUNT) {
stop(_local1);
_local1++;
};
}
public static function getSingleton():MediaPlayer{
if (_instance == null){
_instance = new (MediaPlayer);
_instance.init();
};
return (_instance);
}
}
}//package
Section 515
//MediaPlayer_SND_ingame1 (MediaPlayer_SND_ingame1)
package {
import mx.core.*;
public class MediaPlayer_SND_ingame1 extends SoundAsset {
}
}//package
Section 516
//MediaPlayer_SND_ingame2 (MediaPlayer_SND_ingame2)
package {
import mx.core.*;
public class MediaPlayer_SND_ingame2 extends SoundAsset {
}
}//package
Section 517
//MediaPlayer_SND_ingame3 (MediaPlayer_SND_ingame3)
package {
import mx.core.*;
public class MediaPlayer_SND_ingame3 extends SoundAsset {
}
}//package
Section 518
//MediaPlayer_SND_ingame4 (MediaPlayer_SND_ingame4)
package {
import mx.core.*;
public class MediaPlayer_SND_ingame4 extends SoundAsset {
}
}//package
Section 519
//MediaPlayer_SND_ingame5 (MediaPlayer_SND_ingame5)
package {
import mx.core.*;
public class MediaPlayer_SND_ingame5 extends SoundAsset {
}
}//package
Section 520
//MediaPlayer_SND_ingameGoal (MediaPlayer_SND_ingameGoal)
package {
import mx.core.*;
public class MediaPlayer_SND_ingameGoal extends SoundAsset {
}
}//package
Section 521
//MediaPlayer_SND_ingameMessage (MediaPlayer_SND_ingameMessage)
package {
import mx.core.*;
public class MediaPlayer_SND_ingameMessage extends SoundAsset {
}
}//package
Section 522
//MediaPlayer_SND_ingameShock (MediaPlayer_SND_ingameShock)
package {
import mx.core.*;
public class MediaPlayer_SND_ingameShock extends SoundAsset {
}
}//package
Section 523
//MediaPlayer_SND_ingameWhistle (MediaPlayer_SND_ingameWhistle)
package {
import mx.core.*;
public class MediaPlayer_SND_ingameWhistle extends SoundAsset {
}
}//package
Section 524
//MediaPlayer_SND_intro_mp3 (MediaPlayer_SND_intro_mp3)
package {
import mx.core.*;
public class MediaPlayer_SND_intro_mp3 extends SoundAsset {
}
}//package
Section 525
//MediaPlayer_SND_menuOverOption (MediaPlayer_SND_menuOverOption)
package {
import mx.core.*;
public class MediaPlayer_SND_menuOverOption extends SoundAsset {
}
}//package
Section 526
//MediaPlayer_SND_menuSelect (MediaPlayer_SND_menuSelect)
package {
import mx.core.*;
public class MediaPlayer_SND_menuSelect extends SoundAsset {
}
}//package
Section 527
//MediaPlayer_SND_win (MediaPlayer_SND_win)
package {
import mx.core.*;
public class MediaPlayer_SND_win extends SoundAsset {
}
}//package
Section 528
//OptionsManager (OptionsManager)
package {
public class OptionsManager {
private var _showTutorial:Boolean;
private var _showArrow:Boolean;
private var _saveGame:SaveGame;
private var _matchTime:Number;
private var _matchTimeIndex:Number;
private var _options:Object;
private static var _instance:OptionsManager = null;
public function OptionsManager(){
_options = new Object();
_options.matchTimeIndex = 2;
_options.matchTime = 5;
_options.showTutorial = true;
_options.showArrow = true;
_saveGame = new SaveGame("ilMareGames_GravityFootball_Options");
load();
}
public function get matchTimeIndex():Number{
return ((_options.matchTimeIndex as Number));
}
public function set matchTime(_arg1:Number):void{
_options.matchTime = _arg1;
save();
}
public function set matchTimeIndex(_arg1:Number):void{
_options.matchTimeIndex = _arg1;
save();
}
public function get showArrow():Boolean{
return ((_options.showArrow as Boolean));
}
public function get matchTime():Number{
return ((_options.matchTime as Number));
}
public function load():void{
if (_saveGame.isFirstTime()){
_saveGame.save(_options);
};
_options = _saveGame.load();
}
public function set showTutorial(_arg1:Boolean):void{
_options.showTutorial = _arg1;
save();
}
public function set showArrow(_arg1:Boolean):void{
_options.showArrow = _arg1;
save();
}
public function get showTutorial():Boolean{
return ((_options.showTutorial as Boolean));
}
public function save():void{
_saveGame.save(_options);
}
public static function getSingleton():OptionsManager{
if (!_instance){
_instance = new (OptionsManager);
};
return (_instance);
}
}
}//package
Section 529
//Preloader (Preloader)
package {
import flash.events.*;
import flash.display.*;
import com.ahrooga.flash_ad_manager.components.*;
import com.ahrooga.flash_ad_manager.*;
import mochi.as3.*;
import flash.utils.*;
public dynamic class Preloader extends MovieClip {
private var placeHolder:ilMareSplash;
private var adManager:AdManager;
public static var MAIN_CLASS:String = "Main";
public function Preloader(){
super();
var f:Function = function (_arg1:IOErrorEvent):void{
};
loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
this.scaleX = (Number(stage.stageWidth) / CONFIG.SCREEN_WIDTH);
this.scaleY = (Number(stage.stageHeight) / CONFIG.SCREEN_HEIGHT);
placeHolder = new ilMareSplash();
placeHolder.x = 0;
placeHolder.y = 0;
adManager = new AdManager(adFinished, placeHolder, "http://www.ilmaregames.com.ar/data/xml/GravityFootball2AdConfig.xml");
adManager.addDisabledDomain("www.kongregate.com");
adManager.addDisabledDomain("www.ilmaregames.com.ar");
adManager.preloaderBarColor = 0xFF2F00;
adManager.preloaderBaseColor = 0;
adManager.registerEmbeddedAd("MochiAds", initMochiAds);
addChild(adManager);
}
private function adFinished():void{
trace("adFinished");
placeHolder.button.visible = true;
placeHolder.callback = function ():void{
trace("placeHolder callback");
placeHolder.destroy();
removeChild(adManager);
adManager.destroy();
adManager = null;
startApp();
};
}
private function initMochiAds():void{
trace("mochiads");
CONFIG.GAME_OPTIONS.ad_started = function ():void{
trace("----------------------------- adStarted");
};
CONFIG.GAME_OPTIONS.ad_finished = adFinished;
CONFIG.GAME_OPTIONS.clip = this;
MochiAd.showPreGameAd(CONFIG.GAME_OPTIONS);
}
private function startApp():void{
var _local2:Object;
var _local1:Class = Class(getDefinitionByName(MAIN_CLASS));
if (_local1){
_local2 = new (_local1);
addChild((_local2 as DisplayObject));
graphics.beginFill(0);
graphics.drawRect(0, 0, CONFIG.SCREEN_WIDTH, CONFIG.SCREEN_HEIGHT);
graphics.endFill();
(_local2 as _local1).init();
};
}
}
}//package
Section 530
//SaveGame (SaveGame)
package {
import flash.net.*;
public class SaveGame {
private var _cookie:SharedObject;
private var _name:String;
public function SaveGame(_arg1:String){
_name = _arg1;
_cookie = SharedObject.getLocal(_name);
}
public function load():Object{
if (_cookie.data.payload != undefined){
return (_cookie.data.payload);
};
return (null);
}
public function isFirstTime():Boolean{
if (_cookie.data.payload == undefined){
return (true);
};
return (false);
}
public function save(_arg1:Object):void{
_cookie.data.payload = _arg1;
_cookie.flush();
}
}
}//package