Section 1
//AuxFunctions (caurina.transitions.AuxFunctions)
package caurina.transitions {
public class AuxFunctions {
public static function concatObjects(... _args):Object{
var _local2:Object;
var _local3:Object;
var _local4:int;
var _local5:String;
_local2 = {};
_local4 = 0;
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);
}
public static function numberToG(_arg1:Number):Number{
return (((_arg1 & 0xFF00) >> 8));
}
public static function numberToR(_arg1:Number):Number{
return (((_arg1 & 0xFF0000) >> 16));
}
public static function isInArray(_arg1:String, _arg2:Array):Boolean{
var _local3:uint;
var _local4:uint;
_local3 = _arg2.length;
_local4 = 0;
while (_local4 < _local3) {
if (_arg2[_local4] == _arg1){
return (true);
};
_local4++;
};
return (false);
}
public static function getObjectLength(_arg1:Object):uint{
var _local2:uint;
var _local3:String;
_local2 = 0;
for (_local3 in _arg1) {
_local2++;
};
return (_local2);
}
public static function numberToB(_arg1:Number):Number{
return ((_arg1 & 0xFF));
}
}
}//package caurina.transitions
Section 2
//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 _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period;
_local8 = (((!(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;
_local6 = (((!(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;
_local6 = (((!(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;
_local6 = (((!(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 _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
_local8 = (((!(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 _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
_local8 = (((!(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 3
//PropertyInfoObj (caurina.transitions.PropertyInfoObj)
package caurina.transitions {
public class PropertyInfoObj {
public var originalValueComplete:Object;
public var modifierParameters:Array;
public var isSpecialProperty:Boolean;
public var hasModifier:Boolean;
public var valueComplete:Number;
public var extra:Object;
public var valueStart:Number;
public var modifierFunction:Function;
public var arrayIndex:Number;
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:String;
_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;
_local1 = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters);
return (_local1);
}
}
}//package caurina.transitions
Section 4
//SpecialProperty (caurina.transitions.SpecialProperty)
package caurina.transitions {
public class SpecialProperty {
public var parameters:Array;
public var preProcess:Function;
public var setValue:Function;
public var getValue: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:String;
_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 5
//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:String;
_local1 = "";
_local1 = (_local1 + "[SpecialPropertyModifier ");
_local1 = (_local1 + ("modifyValues:" + String(modifyValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 6
//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:String;
_local1 = "";
_local1 = (_local1 + "[SpecialPropertySplitter ");
_local1 = (_local1 + ("splitValues:" + String(splitValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 7
//Tweener (caurina.transitions.Tweener)
package caurina.transitions {
import flash.display.*;
import flash.events.*;
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{
var _local4:SpecialPropertyModifier;
if (!_inited){
init();
};
_local4 = new SpecialPropertyModifier(_arg2, _arg3);
_specialPropertyModifierList[_arg1] = _local4;
}
public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{
var _local6:SpecialProperty;
if (!_inited){
init();
};
_local6 = 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 _local5:Object;
var _local6:Number;
var _local7:Number;
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];
};
_local5 = _arg2;
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local6 = (isNaN(_local5.time)) ? 0 : _local5.time;
_local7 = (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 _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
pauseTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function removeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(removeTweenByIndex, _arg1, _local3));
}
public static function splitTweens(_arg1:Number, _arg2:Array):uint{
var _local3:TweenListObj;
var _local4:TweenListObj;
var _local5:uint;
var _local6:String;
var _local7:Boolean;
_local3 = _tweenList[_arg1];
_local4 = _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;
var _local3:Number;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (!(_local2.isPaused)))){
return (false);
};
_local3 = 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.71");
}
public static function onEnterFrame(_arg1:Event):void{
var _local2:Boolean;
updateTime();
updateFrame();
_local2 = false;
_local2 = updateTweens();
if (!_local2){
stopEngine();
};
}
public static function updateTime():void{
_currentTime = getTimer();
}
private static function updateTweenByIndex(_arg1:Number):Boolean{
var tTweening:TweenListObj;
var isOver:Boolean;
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 cTime:Number;
var tProperty:Object;
var pv:Number;
var i = _arg1;
tTweening = _tweenList[i];
if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){
return (false);
};
isOver = false;
cTime = 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(e:Error) {
handleError(tTweening, e, "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(e:Error) {
handleError(tTweening, e, "onUpdate");
};
};
} else {
tTweening.updatesSkipped++;
};
};
if (((isOver) && (Boolean(tTweening.onComplete)))){
eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope;
try {
tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams);
} catch(e:Error) {
handleError(tTweening, e, "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 _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_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 _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_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 _local7:Object;
var _local8:Number;
var _local9:Number;
var _local10:Array;
var _local11:Object;
var _local12:Object;
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];
};
_local7 = TweenListObj.makePropertiesChain(_arg2);
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local8 = (isNaN(_local7.time)) ? 0 : _local7.time;
_local9 = (isNaN(_local7.delay)) ? 0 : _local7.delay;
_local10 = new Array();
_local11 = {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};
_local12 = 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 _local4:Boolean;
var _local5:uint;
var _local6:Array;
var _local7:uint;
var _local8:uint;
var _local9:uint;
_local4 = false;
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;
var _local4:Array;
if (!Boolean(_tweenList)){
return ([]);
};
_local4 = 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;
_local2 = _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;
var _local3:Number;
if (!Boolean(_tweenList)){
return (0);
};
_local3 = 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 removed:Boolean;
var removedLocally:Boolean;
var i:uint;
var tl:uint;
var pName:String;
var eventScope:Object;
var p_scope = _arg1;
var p_properties = _arg2;
var p_timeStart = _arg3;
var p_timeComplete = _arg4;
removed = false;
tl = _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{
var _local4:SpecialPropertySplitter;
if (!_inited){
init();
};
_local4 = 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 _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(resumeTweenByIndex, _arg1, _local3));
}
public static function pauseTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(pauseTweenByIndex, _arg1, _local3));
}
}
}//package caurina.transitions
Section 8
//TweenListObj (caurina.transitions.TweenListObj)
package caurina.transitions {
public class TweenListObj {
public var onUpdate:Function;
public var useFrames:Boolean;
public var hasStarted:Boolean;
public var onOverwriteParams:Array;
public var timeStart:Number;
public var count: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 transition:Function;
public var timePaused:Number;
public var onCompleteParams:Array;
public var timesCalled:Number;
public var isCaller:Boolean;
public var onError:Function;
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 _local2:TweenListObj;
var _local3:String;
_local2 = 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 _local1:String;
var _local2:Boolean;
var _local3:String;
_local1 = "\n[TweenListObj ";
_local1 = (_local1 + ("scope:" + String(scope)));
_local1 = (_local1 + ", properties:");
_local2 = true;
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 _local2:Object;
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local2 = _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 9
//ColDetection (com.troy.collision.ColDetection)
package com.troy.collision {
import flash.geom.*;
import flash.display.*;
public class ColDetection {
public static function getCollisionRect(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:DisplayObjectContainer, _arg4:Boolean=false, _arg5:Number=0):Rectangle{
var _local6:Rectangle;
var _local7:Rectangle;
var _local8:Rectangle;
var _local9:BitmapData;
var _local10:BitmapData;
var _local11:uint;
var _local12:Rectangle;
var _local13:int;
_local6 = _arg1.getBounds(_arg3);
_local7 = _arg2.getBounds(_arg3);
_local8 = _local6.intersection(_local7);
if (_local8.size.length > 0){
if (_arg4){
_local8.width = Math.ceil(_local8.width);
_local8.height = Math.ceil(_local8.height);
_local9 = getAlphaMap(_arg1, _local8, BitmapDataChannel.RED, _arg3);
_local10 = getAlphaMap(_arg2, _local8, BitmapDataChannel.GREEN, _arg3);
_local9.draw(_local10, null, null, BlendMode.LIGHTEN);
if (_arg5 <= 0){
_local11 = 65792;
} else {
if (_arg5 > 1){
_arg5 = 1;
};
_local13 = Math.round((_arg5 * 0xFF));
_local11 = (((_local13 << 16) | (_local13 << 8)) | 0);
};
_local12 = _local9.getColorBoundsRect(_local11, _local11);
_local9.getColorBoundsRect(_local11, _local11).x = (_local12.x + _local8.x);
_local12.y = (_local12.y + _local8.y);
return (_local12);
} else {
return (_local8);
};
//unresolved jump
};
return (null);
}
public static function isColliding(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:DisplayObjectContainer, _arg4:Boolean=false, _arg5:Number=0):Boolean{
var _local6:Rectangle;
_local6 = getCollisionRect(_arg1, _arg2, _arg3, _arg4, _arg5);
if (((!((_local6 == null))) && ((_local6.size.length > 0)))){
return (true);
};
return (false);
}
public static function getCollisionPoint(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:DisplayObjectContainer, _arg4:Boolean=false, _arg5:Number=0):Point{
var _local6:Rectangle;
var _local7:Number;
var _local8:Number;
_local6 = getCollisionRect(_arg1, _arg2, _arg3, _arg4, _arg5);
if (((!((_local6 == null))) && ((_local6.size.length > 0)))){
_local7 = ((_local6.left + _local6.right) / 2);
_local8 = ((_local6.top + _local6.bottom) / 2);
return (new Point(_local7, _local8));
};
return (null);
}
private static function getAlphaMap(_arg1:DisplayObject, _arg2:Rectangle, _arg3:uint, _arg4:DisplayObjectContainer):BitmapData{
var _local5:Matrix;
var _local6:Matrix;
var _local7:BitmapData;
var _local8:BitmapData;
_local5 = _arg4.transform.concatenatedMatrix.clone();
_local5.invert();
_local6 = _arg1.transform.concatenatedMatrix.clone();
_local6.concat(_local5);
_local6.translate(-(_arg2.x), -(_arg2.y));
_local7 = new BitmapData(_arg2.width, _arg2.height, true, 0);
_local7.draw(_arg1, _local6);
_local8 = new BitmapData(_arg2.width, _arg2.height, false, 0);
_local8.copyChannel(_local7, _local7.rect, new Point(0, 0), BitmapDataChannel.ALPHA, _arg3);
return (_local8);
}
}
}//package com.troy.collision
Section 10
//bartime_46 (Skeleton_fla.bartime_46)
package Skeleton_fla {
import flash.display.*;
public dynamic class bartime_46 extends MovieClip {
public var countDown:MovieClip;
}
}//package Skeleton_fla
Section 11
//bgGameMode_201 (Skeleton_fla.bgGameMode_201)
package Skeleton_fla {
import flash.display.*;
public dynamic class bgGameMode_201 extends MovieClip {
public var bgGameMode:MovieClip;
public var buttonHard:btnHard;
public var buttonEasy:btnEasy;
public var buttonMedium:btnNormal;
}
}//package Skeleton_fla
Section 12
//bgTutorial_99 (Skeleton_fla.bgTutorial_99)
package Skeleton_fla {
import flash.display.*;
public dynamic class bgTutorial_99 extends MovieClip {
public var buttonClose:SimpleButton;
}
}//package Skeleton_fla
Section 13
//blingblinggggg_14 (Skeleton_fla.blingblinggggg_14)
package Skeleton_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class blingblinggggg_14 extends MovieClip {
public function blingblinggggg_14(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
}
}
}//package Skeleton_fla
Section 14
//flares_20 (Skeleton_fla.flares_20)
package Skeleton_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class flares_20 extends MovieClip {
public function flares_20(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
}
}
}//package Skeleton_fla
Section 15
//lazybananaproduction_215 (Skeleton_fla.lazybananaproduction_215)
package Skeleton_fla {
import flash.display.*;
import flash.text.*;
public dynamic class lazybananaproduction_215 extends MovieClip {
public var mTitle:TextField;
}
}//package Skeleton_fla
Section 16
//loadingbar_23 (Skeleton_fla.loadingbar_23)
package Skeleton_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class loadingbar_23 extends MovieClip {
public function loadingbar_23(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Skeleton_fla
Section 17
//MusicBtn_82 (Skeleton_fla.MusicBtn_82)
package Skeleton_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class MusicBtn_82 extends MovieClip {
public function MusicBtn_82(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Skeleton_fla
Section 18
//OptionBarPopUp_85 (Skeleton_fla.OptionBarPopUp_85)
package Skeleton_fla {
import flash.display.*;
import flash.text.*;
public dynamic class OptionBarPopUp_85 extends MovieClip {
public var mText:TextField;
}
}//package Skeleton_fla
Section 19
//QualityBtn_83 (Skeleton_fla.QualityBtn_83)
package Skeleton_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class QualityBtn_83 extends MovieClip {
public function QualityBtn_83(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Skeleton_fla
Section 20
//Rainbow_Preloader_1 (Skeleton_fla.Rainbow_Preloader_1)
package Skeleton_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class Rainbow_Preloader_1 extends MovieClip {
public var mStart:SimpleButton;
public var text:TextField;
public var loadingbar:MovieClip;
public var timerFlag:Boolean;
public var loadFlag:Boolean;
public var timer1:Timer;
public var rainbow:MovieClip;
public function Rainbow_Preloader_1(){
addFrameScript(0, frame1, 9, frame10, 19, frame20);
}
public function loading(_arg1:Event){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = Main.GetInstance().stage.loaderInfo.bytesTotal;
_local3 = Main.GetInstance().stage.loaderInfo.bytesLoaded;
_local4 = Math.round(((_local3 * 100) / _local2));
trace(("PERCENT : " + _local4));
if (_local3 >= _local2){
loadFlag = true;
if (timerFlag){
Main.GetInstance().gotoAndStop("mainMenu");
};
removeEventListener(Event.ENTER_FRAME, loading);
};
}
function frame10(){
if (loaded == total){
gotoAndPlay("start");
} else {
gotoAndPlay("loading");
};
}
function frame1(){
timer1 = new Timer(80, 100);
timerFlag = false;
loadFlag = false;
timer1.addEventListener(TimerEvent.TIMER, onTimer);
timer1.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
timer1.start();
addEventListener(Event.ENTER_FRAME, loading);
stop();
rainbow.addEventListener(MouseEvent.CLICK, goRDU);
rainbow.useHandCursor = true;
rainbow.buttonMode = true;
}
function frame20(){
stop();
mStart.addEventListener(MouseEvent.CLICK, go);
}
public function goRDU(_arg1:MouseEvent){
Global.openWindow("http://www.rainbowdressup.com", "_blank");
}
public function onTimer(_arg1:TimerEvent){
var _local2:*;
_local2 = Math.ceil(((timer1.currentCount / timer1.repeatCount) * 100));
loadingbar.gotoAndStop(_local2);
text.text = _local2;
}
public function go(_arg1:MouseEvent){
Main.GetInstance().gotoAndStop("mainMenu");
}
public function onTimerComplete(_arg1:TimerEvent){
trace("ON TIMER");
timerFlag = true;
if (loadFlag){
Main.GetInstance().gotoAndStop("mainMenu");
};
timer1.stop();
}
}
}//package Skeleton_fla
Section 21
//RainbowDressUpBtn_55 (Skeleton_fla.RainbowDressUpBtn_55)
package Skeleton_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class RainbowDressUpBtn_55 extends MovieClip {
public var btn:MovieClip;
public function RainbowDressUpBtn_55(){
addFrameScript(0, frame1);
}
public function goto(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.rainbowdressup.com"));
}
function frame1(){
btn.addEventListener(MouseEvent.CLICK, goto);
}
}
}//package Skeleton_fla
Section 22
//SFXBtn_84 (Skeleton_fla.SFXBtn_84)
package Skeleton_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class SFXBtn_84 extends MovieClip {
public function SFXBtn_84(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package Skeleton_fla
Section 23
//t1_10 (Skeleton_fla.t1_10)
package Skeleton_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class t1_10 extends MovieClip {
public function t1_10(){
addFrameScript(19, frame20);
}
function frame20(){
}
}
}//package Skeleton_fla
Section 24
//t1_9 (Skeleton_fla.t1_9)
package Skeleton_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class t1_9 extends MovieClip {
public var bar_mc:MovieClip;
public var _loc1;
public function t1_9(){
addFrameScript(0, frame1);
}
function frame1(){
Frame_num = 1;
angle = 360;
plus_angle = 0;
scene_width = 400;
scene_height = 45;
bar_mc.i = 0;
bar_mc._visible = 0;
bar_mc.onEnterFrame = function (){
_loc1 = this;
if ((_loc1.i % Frame_num) == 0){
mc = _loc1.duplicateMovieClip(("bar_mc" + _loc1.i), _loc1.i);
mc._x = random(scene_width);
mc._y = random(scene_height);
mc._rotation = (random(angle) + plus_angle);
};
_loc1.i++;
};
}
}
}//package Skeleton_fla
Section 25
//ambilSound (ambilSound)
package {
import flash.media.*;
public dynamic class ambilSound extends Sound {
}
}//package
Section 26
//bgGameOver (bgGameOver)
package {
import flash.display.*;
import flash.text.*;
public dynamic class bgGameOver extends MovieClip {
public var buttonMainMenu:btnMainMenu;
public var textGameOver:TextField;
public var buttonPlayMore:SimpleButton;
public var textFinalScore:TextField;
}
}//package
Section 27
//bgMenuBawah (bgMenuBawah)
package {
import flash.display.*;
public dynamic class bgMenuBawah extends MovieClip {
public var buttonMainMenu:btnMainMenu;
public var buttonPlayMore:SimpleButton;
}
}//package
Section 28
//bgMusic (bgMusic)
package {
import flash.media.*;
public dynamic class bgMusic extends Sound {
}
}//package
Section 29
//bgNextStage (bgNextStage)
package {
import flash.display.*;
import flash.text.*;
public dynamic class bgNextStage extends MovieClip {
public var buttonNext:btnNext;
public var textCurrentScore:TextField;
public var buttonPlayMore:SimpleButton;
}
}//package
Section 30
//btnEasy (btnEasy)
package {
import flash.display.*;
public dynamic class btnEasy extends SimpleButton {
}
}//package
Section 31
//btnHard (btnHard)
package {
import flash.display.*;
public dynamic class btnHard extends SimpleButton {
}
}//package
Section 32
//btnMainMenu (btnMainMenu)
package {
import flash.display.*;
public dynamic class btnMainMenu extends SimpleButton {
}
}//package
Section 33
//btnNext (btnNext)
package {
import flash.display.*;
public dynamic class btnNext extends SimpleButton {
}
}//package
Section 34
//btnNormal (btnNormal)
package {
import flash.display.*;
public dynamic class btnNormal extends SimpleButton {
}
}//package
Section 35
//buttonPlay (buttonPlay)
package {
import flash.display.*;
public dynamic class buttonPlay extends SimpleButton {
}
}//package
Section 36
//buttonPlayMore2 (buttonPlayMore2)
package {
import flash.display.*;
public dynamic class buttonPlayMore2 extends SimpleButton {
}
}//package
Section 37
//buttonTutorial (buttonTutorial)
package {
import flash.display.*;
public dynamic class buttonTutorial extends SimpleButton {
}
}//package
Section 38
//CBannedWin (CBannedWin)
package {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class CBannedWin extends MovieClip {
public var mBtn:SimpleButton;
public function CBannedWin(){
addFrameScript(0, frame1);
}
function frame1(){
mBtn.addEventListener(MouseEvent.MOUSE_DOWN, GotoSapi);
}
public function GotoSapi(_arg1:MouseEvent){
var _local2:URLRequest;
_local2 = new URLRequest("http://www.lazybanana.com");
navigateToURL(_local2);
}
}
}//package
Section 39
//CBaseMovieClip (CBaseMovieClip)
package {
import flash.display.*;
import flash.events.*;
public class CBaseMovieClip extends MovieClip {
public var mEventType:String;
public function CBaseMovieClip(_arg1:String){
mEventType = _arg1;
}
public function AddDispatcher():void{
Main.GetInstance().addEventListener(mEventType, Update, false, 0, true);
}
public function RemoveDispatcher(){
Main.GetInstance().removeEventListener(mEventType, Update);
}
public function Update(_arg1:Event){
}
}
}//package
Section 40
//CCek (CCek)
package {
import flash.display.*;
import flash.events.*;
public class CCek extends CBaseMovieClip {
public var isCheck:Boolean;
public var tipe:int;
public var gambar:MovieClip;
public function CCek(){
super("update");
isCheck = false;
tipe = -1;
ketinggian = 0;
gambar = new gambarCek();
addChild(gambar);
}
override public function Update(_arg1:Event){
}
}
}//package
Section 41
//CCredit (CCredit)
package {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class CCredit extends MovieClip {
public var mTitle:MovieClip;
public var mFilter:Array;
public var mClose:MovieClip;
public var mLogo:MovieClip;
public function CCredit(){
addFrameScript(0, frame1);
}
public function onMouseOver(_arg1:MouseEvent){
var _local2:GlowFilter;
_local2 = new GlowFilter(0x9900, 1, 5, 5, 3);
if (_arg1.currentTarget.name == "mClose"){
mFilter = _arg1.currentTarget.filters.slice(0, 1);
_arg1.currentTarget.filters = mFilter.concat([_local2]);
return;
};
_arg1.currentTarget.filters = [_local2];
}
public function onMouseUp(_arg1:MouseEvent){
if ((((_arg1.currentTarget.name == "mTitle")) || ((_arg1.currentTarget.name == "mLogo")))){
Global.openWindow();
};
if (_arg1.currentTarget.name == "mClose"){
parent.removeChild(this);
};
}
function frame1(){
if (!mTitle.hasEventListener(MouseEvent.MOUSE_UP)){
mTitle.addEventListener(MouseEvent.MOUSE_UP, onMouseUp, false, 0, true);
mTitle.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
mTitle.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
mTitle.mouseChildren = false;
mTitle.buttonMode = true;
mTitle.useHandCursor = true;
mLogo.addEventListener(MouseEvent.MOUSE_UP, onMouseUp, false, 0, true);
mLogo.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
mLogo.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
mLogo.mouseChildren = false;
mLogo.buttonMode = true;
mLogo.useHandCursor = true;
mClose.addEventListener(MouseEvent.MOUSE_UP, onMouseUp, false, 0, true);
mClose.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
mClose.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
mClose.mouseChildren = false;
mClose.buttonMode = true;
mClose.useHandCursor = true;
};
}
public function onMouseOut(_arg1:MouseEvent){
if (_arg1.currentTarget.name == "mClose"){
_arg1.currentTarget.filters = mFilter;
return;
};
_arg1.currentTarget.filters = [];
}
}
}//package
Section 42
//CGame (CGame)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import com.troy.collision.*;
import flash.text.*;
import flash.ui.*;
import flash.net.*;
public class CGame extends CBaseMovieClip {
public var menuBawah:MovieClip;
public var animasiPenilaian:int;
public var backgroundNextStage:MovieClip;
public var cek:Array;
public var textLevel:TextField;
public var toping:Array;
public var terpilih:MovieClip;
public var score:int;
public var topingKe:int;
public var gameOverMode:Boolean;
public var pizza1:MovieClip;
public var pizza2:MovieClip;
public var gameMode:Boolean;
public var time:int;
public var ctrDetik:int;
public var pilihanToping:Array;
public var textTopingLeft:TextField;
public var cons:Data;
public var backgroundGameOver:MovieClip;
public var scoreAngka:int;
public var topingContoh:Array;
public var textScore:TextField;
public var level:int;
public var barTime:MovieClip;
public var detikJalan:Boolean;
public var textPenilaian:Array;
public var difMode:int;
private static var CGameGlobal:CGame;
public function CGame(){
super("update");
CGameGlobal = this;
trace("init cgame");
cons = new Data();
scoreAngka = 0;
level = 1;
difMode = Main.GetInstance().gameMode;
initGame();
}
private function meletakkanToping(_arg1:MouseEvent):void{
if ((((((((gameOverMode == false)) && ((gameMode == true)))) && ((animasiPenilaian == 0)))) && (!((topingKe == cons.toppingPerLevel[(level - 1)].toping.length))))){
if (terpilih.tipe != -1){
letakkanToping(terpilih.tipe);
tulisStatusGame();
if (terpilih.parent != null){
removeChild(terpilih);
addChild(terpilih);
};
};
};
}
private function memilihToping(_arg1:MouseEvent):void{
if ((((((((gameOverMode == false)) && ((gameMode == true)))) && ((animasiPenilaian == 0)))) && ((backgroundNextStage.parent == null)))){
if (terpilih.parent != null){
removeChild(terpilih);
};
Main.GetInstance().mOptionBar.PlaySFX("ambilSound", cons.soundVol);
indexTerpilih = pilihanToping.indexOf(_arg1.currentTarget);
Mouse.hide();
if ((pilihanToping.indexOf(_arg1.currentTarget) + 1) == cons.indexMayo){
terpilih = new CToping(15, 2);
} else {
terpilih = new CToping(pilihanToping[indexTerpilih].tipe, 2);
};
terpilih.mouseChildren = false;
terpilih.mouseEnabled = false;
addChild(terpilih);
};
}
private function notAutoToping(_arg1:MovieClip):Boolean{
if ((((_arg1.tipe == cons.indexMayo)) || ((_arg1.tipe == cons.indexKeju)))){
return (false);
};
return (true);
}
private function hitungNilai(_arg1, _arg2):void{
var _local3:*;
_local3 = jarakDuaTitik(toping[_arg1].x, toping[_arg1].y, cek[_arg2].x, cek[_arg2].y);
if (_local3 <= cons.jarakPerfect){
score = (score + 100);
textPenilaian[_arg1] = new textPerfect();
} else {
if (_local3 <= cons.jarakExelent){
score = (score + 75);
textPenilaian[_arg1] = new textExcellent();
} else {
if (_local3 <= cons.jarakGood){
score = (score + 50);
textPenilaian[_arg1] = new textGood();
} else {
if (_local3 <= cons.jarakBad){
score = (score + 25);
textPenilaian[_arg1] = new textBad();
} else {
score = (score + 0);
textPenilaian[_arg1] = new textMiss();
};
};
};
};
textPenilaian[_arg1].alpha = 0;
textPenilaian[_arg1].x = toping[_arg1].x;
textPenilaian[_arg1].y = toping[_arg1].y;
pizza1.addChild(textPenilaian[_arg1]);
}
private function initTextPenilaian():void{
var _local1:int;
var _local2:*;
textPenilaian = new Array();
_local1 = 0;
while (_local1 <= (cons.toppingPerLevel[(level - 1)].toping.length - 1)) {
_local2 = new textMiss();
_local2.alpha = 0;
textPenilaian.push(_local2);
_local1++;
};
}
private function toMainMenu(_arg1:MouseEvent):void{
Main.GetInstance().KillWindow("Game");
Main.GetInstance().InitMainMenu();
}
private function cekHasil():void{
var _local1:int;
var _local2:*;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:*;
var _local9:int;
_local1 = 0;
while (_local1 <= (cons.toppingPerLevel[(level - 1)].toping.length - 1)) {
_local2 = false;
_local8 = 1000;
_local3 = -1;
if (notAutoToping(toping[_local1])){
_local9 = 0;
while (_local9 <= (cons.toppingPerLevel[(level - 1)].toping.length - 1)) {
if (((ColDetection.isColliding(toping[_local1], cek[_local9], this)) && ((cek[_local9].isCheck == false)))){
if (toping[_local1].tipe == cek[_local9].tipe){
_local2 = true;
if (_local8 > jarakDuaTitik(toping[_local1].x, toping[_local1].y, cek[_local9].x, cek[_local9].y)){
_local8 = jarakDuaTitik(toping[_local1].x, toping[_local1].y, cek[_local9].x, cek[_local9].y);
_local3 = _local9;
};
};
};
_local9++;
};
if (_local2 == true){
cek[_local3].isCheck = true;
};
if ((((_local2 == true)) && (notAutoToping(toping[_local1])))){
hitungNilai(_local1, _local3);
} else {
if (_local2 == false){
textPenilaian[_local1] = new textMiss();
textPenilaian[_local1].alpha = 0;
textPenilaian[_local1].x = toping[_local1].x;
textPenilaian[_local1].y = toping[_local1].y;
pizza1.addChild(textPenilaian[_local1]);
};
};
} else {
if (toping[_local1].tipe == cons.toppingPerLevel[(level - 1)].toping[_local1]){
score = (score + 100);
_local2 = true;
textPenilaian[_local1] = new textPerfect();
} else {
textPenilaian[_local1] = new textMiss();
};
textPenilaian[_local1].alpha = 0;
textPenilaian[_local1].x = toping[_local1].x;
textPenilaian[_local1].y = toping[_local1].y;
pizza1.addChild(textPenilaian[_local1]);
};
score = Math.ceil(((score / cons.toppingPerLevel[(level - 1)].toping.length) - 1));
scoreAngka = (scoreAngka + Math.ceil(((1000 * score) / 100)));
if (scoreAngka < 0){
scoreAngka = 0;
};
_local1++;
};
animasiPenilaian = 1;
}
private function letakkanToping(_arg1:int):void{
Main.GetInstance().mOptionBar.PlaySFX("ambilSound", cons.soundVol);
if (_arg1 == 15){
toping[topingKe] = new CToping(7, 2);
} else {
toping[topingKe] = new CToping(_arg1, 2);
};
toping[topingKe].mouseChildren = false;
toping[topingKe].mouseEnabled = false;
if (_arg1 == cons.indexKeju){
toping[topingKe].x = -7;
toping[topingKe].y = -20;
} else {
if (_arg1 == cons.indexMayo){
if (pizza1.currentFrame == 1){
toping[topingKe].x = -2;
toping[topingKe].y = -17;
} else {
toping[topingKe].x = -9;
toping[topingKe].y = -12;
};
} else {
toping[topingKe].x = (terpilih.x - pizza1.x);
toping[topingKe].y = (terpilih.y - pizza1.y);
};
};
pizza1.addChild(toping[topingKe]);
topingKe = (topingKe + 1);
if (topingKe == cons.toppingPerLevel[(level - 1)].toping.length){
removeChild(terpilih);
Mouse.show();
cekHasil();
};
}
private function removeAll():void{
var _local1:int;
_local1 = 0;
while (_local1 <= (cons.maxToping - 1)) {
removeChild(pilihanToping[_local1]);
_local1++;
};
_local1 = 0;
while (_local1 <= (topingKe - 1)) {
if (toping[_local1].parent != null){
pizza1.removeChild(toping[_local1]);
};
if (cek[_local1].parent != null){
pizza1.removeChild(cek[_local1]);
};
if (textPenilaian[_local1].parent != null){
pizza1.removeChild(textPenilaian[_local1]);
};
_local1++;
};
removeChild(pizza1);
removeChild(pizza2);
}
private function jarakDuaTitik(_arg1:int, _arg2:int, _arg3:int, _arg4:int):int{
var _local5:*;
_local5 = 0;
if (_arg1 > _arg3){
_local5 = ((_local5 + _arg1) - _arg3);
} else {
_local5 = ((_local5 + _arg3) - _arg1);
};
if (_arg2 > _arg4){
_local5 = ((_local5 + _arg2) - _arg4);
} else {
_local5 = ((_local5 + _arg4) - _arg2);
};
return (_local5);
}
private function playMore(_arg1:MouseEvent):void{
Global.openWindow("http://www.rainbowdressup.com");
}
private function gantiLevel():void{
removeAll();
initGame();
}
override public function Update(_arg1:Event){
var _local2:*;
if (terpilih.tipe != -1){
terpilih.x = Main.GetInstance().mouseX;
terpilih.y = Main.GetInstance().mouseY;
};
if ((((gameMode == true)) && ((gameOverMode == false)))){
if (detikJalan){
ctrDetik++;
};
if ((ctrDetik % 40) == 0){
ctrDetik = 1;
time--;
tulisStatusGame();
if (time == 0){
backgroundGameOver.textGameOver.text = "Game Over";
backgroundGameOver.textFinalScore.text = scoreAngka;
detikJalan = false;
removeAll();
if (terpilih.parent != null){
removeChild(terpilih);
};
Mouse.show();
removeChild(menuBawah);
addChild(backgroundGameOver);
};
};
if (animasiPenilaian >= 1){
detikJalan = false;
animasiPenilaian++;
if ((animasiPenilaian % cons.timingAnimasiPenilaian) == 0){
_local2 = ((animasiPenilaian / cons.timingAnimasiPenilaian) - 1);
if ((textPenilaian[_local2] is textMiss)){
Main.GetInstance().mOptionBar.PlaySFX("missSound", cons.soundVol);
} else {
Main.GetInstance().mOptionBar.PlaySFX("nilaiSound", cons.soundVol);
};
Tweener.addTween(textPenilaian[_local2], {y:(textPenilaian[_local2].y - 20), alpha:1, time:0.5, onComplete:selesaiAnimasi, onCompleteParams:[_local2]});
if (_local2 == (cons.toppingPerLevel[(level - 1)].toping.length - 1)){
animasiPenilaian = 0;
};
};
};
};
}
private function initCek():void{
var _local1:int;
var _local2:*;
cek = new Array();
_local1 = 0;
while (_local1 <= (cons.toppingPerLevel[(level - 1)].toping.length - 1)) {
_local2 = new CCek();
_local2.alpha = 0;
_local2.tipe = cons.toppingPerLevel[(level - 1)].toping[_local1];
_local2.x = cons.toppingPerLevel[(level - 1)].xToping[_local1];
_local2.y = cons.toppingPerLevel[(level - 1)].yToping[_local1];
_local2.gambar.width = topingContoh[_local1].gambar.width;
_local2.gambar.height = topingContoh[_local1].gambar.height;
_local2.mouseChildren = false;
_local2.mouseEnabled = false;
if (notAutoToping(_local2)){
pizza1.addChild(_local2);
};
cek.push(_local2);
_local1++;
};
}
private function initGame():void{
var _local1:*;
var _local2:*;
var _local3:int;
var _local4:*;
gameMode = true;
gameOverMode = false;
modeLetakkanToping = false;
Mouse.show();
barTime.countDown.gotoAndStop(100);
pilihanToping = new Array();
_local1 = 123;
_local2 = 65;
_local3 = 0;
while (_local3 <= (cons.maxToping - 1)) {
_local4 = new CToping((_local3 + 1), 1);
_local4.x = _local2;
_local4.y = _local1;
_local4.addEventListener(MouseEvent.MOUSE_UP, memilihToping, false, 0, true);
addChild(_local4);
pilihanToping.push(_local4);
_local2 = ((_local2 + _local4.gambar.width) + 2);
if (_local3 == ((cons.maxToping / 2) - 1)){
_local2 = 65;
_local1 = 220;
};
_local3++;
};
toping = new Array();
topingKe = 0;
_local3 = 0;
while (_local3 <= (cons.toppingPerLevel[(level - 1)].toping.length - 1)) {
toping.push(-1);
_local3++;
};
_local3 = 1;
while (_local3 <= 2) {
this[("pizza" + _local3)] = new gambarPizza();
this[("pizza" + _local3)].gotoAndStop(cons.pizzaPerLevel[(level - 1)]);
_local3++;
};
pizza1.x = 209;
pizza1.y = 421;
pizza1.addEventListener(MouseEvent.MOUSE_UP, meletakkanToping, false, 0, true);
pizza2.x = 590;
pizza2.y = 421;
addChild(pizza1);
addChild(pizza2);
terpilih = new CToping(-1, 2);
terpilih.x = -1000;
terpilih.y = -1000;
addChild(terpilih);
removeChild(menuBawah);
menuBawah.buttonMainMenu.addEventListener(MouseEvent.MOUSE_UP, toMainMenu, false, 0, true);
menuBawah.buttonPlayMore.addEventListener(MouseEvent.MOUSE_UP, playMore, false, 0, true);
addChild(menuBawah);
initContohPizza();
initCek();
initTextPenilaian();
score = 0;
animasiPenilaian = 0;
time = cons.timePlay[difMode];
detikJalan = true;
ctrDetik = 0;
backgroundGameOver = new bgGameOver();
backgroundGameOver.x = 400;
backgroundGameOver.y = 150;
backgroundGameOver.buttonMainMenu.addEventListener(MouseEvent.MOUSE_UP, toMainMenu, false, 0, true);
backgroundGameOver.buttonPlayMore.addEventListener(MouseEvent.MOUSE_UP, playMore, false, 0, true);
backgroundNextStage = new bgNextStage();
backgroundNextStage.x = 400;
backgroundNextStage.y = 150;
backgroundNextStage.buttonNext.addEventListener(MouseEvent.MOUSE_UP, toNextStage, false, 0, true);
backgroundNextStage.buttonPlayMore.addEventListener(MouseEvent.MOUSE_UP, playMore, false, 0, true);
tulisStatusGame();
}
private function tulisStatusGame():void{
barTime.countDown.gotoAndStop(Math.floor(((time * 100) / cons.timePlay[difMode])));
textLevel.text = level;
textScore.text = scoreAngka;
textTopingLeft.text = ("Topings Left " + (cons.toppingPerLevel[(level - 1)].toping.length - topingKe));
}
private function toNextStage(_arg1:MouseEvent):void{
removeChild(backgroundNextStage);
gantiLevel();
}
private function initContohPizza():void{
var _local1:int;
var _local2:*;
topingContoh = new Array();
_local1 = 0;
while (_local1 <= (cons.toppingPerLevel[(level - 1)].toping.length - 1)) {
_local2 = new CToping(cons.toppingPerLevel[(level - 1)].toping[_local1], 2);
_local2.x = cons.toppingPerLevel[(level - 1)].xToping[_local1];
_local2.y = cons.toppingPerLevel[(level - 1)].yToping[_local1];
pizza2.addChild(_local2);
topingContoh.push(_local2);
_local1++;
};
}
private function selesaiAnimasi(_arg1:int):void{
textPenilaian[_arg1].alpha = 0;
Tweener.removeTweens(textPenilaian[_arg1]);
if (_arg1 == (cons.toppingPerLevel[(level - 1)].toping.length - 1)){
terpilih.tipe = -1;
tulisStatusGame();
level++;
if (level > cons.maxLevel){
removeAll();
backgroundGameOver.textGameOver.text = "Congratulations";
backgroundGameOver.textFinalScore.text = scoreAngka;
detikJalan = false;
if (terpilih.parent != null){
removeChild(terpilih);
};
Mouse.show();
removeChild(menuBawah);
addChild(backgroundGameOver);
} else {
backgroundNextStage.textCurrentScore.text = scoreAngka;
addChild(backgroundNextStage);
Mouse.show();
};
};
}
public static function GetInstance():CGame{
return (CGameGlobal);
}
}
}//package
Section 43
//CMainMenu (CMainMenu)
package {
import flash.display.*;
import flash.events.*;
public class CMainMenu extends MovieClip {
public var backgroundGameMode:MovieClip;
public var btnPlayMore:SimpleButton;
public var btnTutor:SimpleButton;
public var backgroundTutor:MovieClip;
public var btnPlay:SimpleButton;
public function CMainMenu(){
mouseEnabled = false;
btnPlay.addEventListener(MouseEvent.MOUSE_UP, onMouseUp, false, 0, true);
btnPlayMore.addEventListener(MouseEvent.MOUSE_UP, onMouseUp, false, 0, true);
btnTutor.addEventListener(MouseEvent.MOUSE_UP, onMouseUp, false, 0, true);
backgroundTutor.visible = false;
backgroundTutor.buttonClose.addEventListener(MouseEvent.MOUSE_UP, onMouseUp, false, 0, true);
backgroundGameMode.visible = false;
backgroundGameMode.buttonEasy.addEventListener(MouseEvent.MOUSE_UP, onMouseUp, false, 0, true);
backgroundGameMode.buttonMedium.addEventListener(MouseEvent.MOUSE_UP, onMouseUp, false, 0, true);
backgroundGameMode.buttonHard.addEventListener(MouseEvent.MOUSE_UP, onMouseUp, false, 0, true);
}
private function onMouseUp(_arg1:MouseEvent):void{
if (_arg1.currentTarget.name == "btnPlay"){
backgroundGameMode.visible = true;
};
if (_arg1.currentTarget.name == "btnPlayMore"){
Global.openWindow("http://www.rainbowdressup.com");
};
if (_arg1.currentTarget.name == "buttonEasy"){
Main.GetInstance().gameMode = 0;
Main.GetInstance().InitGame();
};
if (_arg1.currentTarget.name == "buttonMedium"){
Main.GetInstance().gameMode = 1;
Main.GetInstance().InitGame();
};
if (_arg1.currentTarget.name == "buttonHard"){
Main.GetInstance().gameMode = 2;
Main.GetInstance().InitGame();
};
if (_arg1.currentTarget.name == "btnPlayMore"){
};
if (_arg1.currentTarget.name == "btnTutor"){
backgroundTutor.visible = true;
};
if (_arg1.currentTarget.name == "buttonClose"){
backgroundTutor.visible = false;
};
}
}
}//package
Section 44
//COptionBar (COptionBar)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class COptionBar extends MovieClip {
public var mSFX:MovieClip;
private var mSfxChannel:Array;
private var mBgm:Sound;
private var mBgmFlag:Boolean;
public var mPopUp:MovieClip;
private var mSfxFlag:Boolean;// = true
private var mBgmChannel:SoundChannel;
public var mMusic:MovieClip;
public var mQuality:MovieClip;
private var mBgmVol:Number;// = 1
public static var Global:COptionBar;
public function COptionBar(_arg1:int=0, _arg2:int=0, _arg3:String=null, _arg4:Number=0.5){
var _local5:Class;
mSfxFlag = true;
mBgmVol = 1;
super();
Global = this;
mBgmVol = _arg4;
this.x = _arg1;
this.y = _arg2;
if (_arg3){
_local5 = (getDefinitionByName(_arg3) as Class);
if (_local5){
mBgm = new (_local5);
};
};
mPopUp.mouseEnabled = false;
mMusic.buttonMode = true;
mMusic.useHandCursor = true;
mSFX.buttonMode = true;
mSFX.useHandCursor = true;
mQuality.buttonMode = true;
mQuality.useHandCursor = true;
mMusic.addEventListener(MouseEvent.MOUSE_OVER, MusicOver, false, 0, true);
mMusic.addEventListener(MouseEvent.MOUSE_OUT, MusicOut, false, 0, true);
mMusic.addEventListener(MouseEvent.MOUSE_UP, ToggleMusic, false, 0, true);
mSFX.addEventListener(MouseEvent.MOUSE_OVER, SFXOver, false, 0, true);
mSFX.addEventListener(MouseEvent.MOUSE_OUT, SFXOut, false, 0, true);
mSFX.addEventListener(MouseEvent.MOUSE_UP, ToggleSFX, false, 0, true);
mQuality.addEventListener(MouseEvent.MOUSE_OVER, QualityOver, false, 0, true);
mQuality.addEventListener(MouseEvent.MOUSE_OUT, QualityOut, false, 0, true);
mQuality.addEventListener(MouseEvent.MOUSE_UP, ToggleQuality, false, 0, true);
if (((mBgm) && (!((Main.GetInstance().mState == Main.STATE_PRELOADER))))){
StartBGM();
};
mSfxChannel = new Array();
MusicOut(null);
SFXOut(null);
trace("init option bar");
}
private function MusicOut(_arg1:MouseEvent):void{
if (!mBgmFlag){
mMusic.gotoAndStop(2);
} else {
mMusic.gotoAndStop(1);
};
HidePopUp();
}
public function ToggleQuality(_arg1:MouseEvent=null):void{
switch (Main.GetInstance().stage.quality){
case "LOW":
Main.GetInstance().stage.quality = StageQuality.MEDIUM;
break;
case "MEDIUM":
Main.GetInstance().stage.quality = StageQuality.HIGH;
break;
case "HIGH":
Main.GetInstance().stage.quality = StageQuality.BEST;
break;
case "BEST":
Main.GetInstance().stage.quality = StageQuality.LOW;
break;
};
ShowPopUp((("Quality: " + Main.GetInstance().stage.quality) + " (B)"));
}
public function StopSFX(_arg1:int){
mSfxChannel[_arg1].stop();
}
public function ChangeBGM(_arg1:String=null){
var _local2:Class;
if (!_arg1){
return;
};
if (_arg1){
_local2 = (getDefinitionByName(_arg1) as Class);
mBgm = new (_local2);
};
if (((mBgmFlag) && (mBgmChannel))){
mBgmChannel.stop();
};
trace(("bgm flag : " + mBgmFlag));
if (mBgmFlag){
StartBGM();
};
}
public function ToggleMusic(_arg1:MouseEvent=null):void{
if (Main.GetInstance().mState == Main.STATE_PRELOADER){
return;
};
trace("toggle Music");
if (((mBgmFlag) && (mBgmChannel))){
mBgmFlag = false;
mBgmChannel.stop();
} else {
StartBGM();
};
if (_arg1 != null){
MusicOver(null);
} else {
MusicOut(null);
};
}
private function StartBGM(){
var _local1:SoundTransform;
trace(("start bgm : " + mBgm));
if (!mBgm){
return;
};
mBgmFlag = true;
_local1 = new SoundTransform(mBgmVol, 0);
mBgmChannel = mBgm.play(0, 999, _local1);
MusicOut(null);
}
public function ToggleSFX(_arg1:MouseEvent=null):void{
var _local2:int;
if (Main.GetInstance().mState == Main.STATE_PRELOADER){
return;
};
if (mSfxFlag){
mSfxFlag = false;
if (mSfxChannel){
_local2 = 0;
while (_local2 < mSfxChannel.length) {
mSfxChannel[_local2].stop();
_local2++;
};
};
} else {
mSfxFlag = true;
};
if (_arg1 != null){
SFXOver(null);
} else {
SFXOut(null);
};
}
private function QualityOver(_arg1:MouseEvent):void{
mQuality.gotoAndStop(2);
ShowPopUp((("Quality: " + Main.GetInstance().stage.quality) + " (B)"));
}
private function HidePopUp(){
mPopUp.alpha = 0;
}
public function PlaySFX(_arg1:String, _arg2:Number=1):int{
var _local3:Class;
var _local4:Sound;
var _local5:SoundTransform;
var _local6:SoundChannel;
if (!mSfxFlag){
return;
};
_local3 = (getDefinitionByName(_arg1) as Class);
_local4 = new (_local3);
_local5 = new SoundTransform(_arg2, 0);
_local6 = _local4.play(0, 1, _local5);
mSfxChannel.push(_local6);
return ((mSfxChannel.length - 1));
}
private function MusicOver(_arg1:MouseEvent):void{
if (!mBgmFlag){
mMusic.gotoAndStop(4);
} else {
mMusic.gotoAndStop(3);
};
ShowPopUp("Toggle Music (M)");
}
private function SFXOut(_arg1:MouseEvent):void{
if (!mSfxFlag){
mSFX.gotoAndStop(2);
} else {
mSFX.gotoAndStop(1);
};
HidePopUp();
}
private function ShowPopUp(_arg1:String){
if ((this.y - 50) <= 0){
mPopUp.y = 40;
} else {
mPopUp.y = -30;
};
mPopUp.alpha = 1;
mPopUp.mText.text = _arg1;
}
private function SFXOver(_arg1:MouseEvent):void{
if (!mSfxFlag){
mSFX.gotoAndStop(4);
} else {
mSFX.gotoAndStop(3);
};
ShowPopUp("Toggle SFX (N)");
}
public function ChangeBGMVol(_arg1:Number){
mBgmVol = _arg1;
mBgmChannel.soundTransform = new SoundTransform(mBgmVol, 0);
}
private function QualityOut(_arg1:MouseEvent):void{
mQuality.gotoAndStop(1);
HidePopUp();
}
}
}//package
Section 45
//CToping (CToping)
package {
import flash.display.*;
import flash.events.*;
public class CToping extends CBaseMovieClip {
public var tipe:int;
public var gambar:MovieClip;
public function CToping(_arg1, _arg2){
super("update");
if (_arg1 == 15){
tipe = 7;
} else {
tipe = _arg1;
};
if (_arg2 == 1){
gambar = new gambarTopingPilihan();
} else {
gambar = new gambarTopingLetak();
};
gambar.gotoAndStop(_arg1);
gambar.x = 0;
gambar.y = 0;
addChild(gambar);
}
override public function Update(_arg1:Event){
}
}
}//package
Section 46
//Data (Data)
package {
public class Data {
public const maxLevel = 12;
public const soundVol = 0.5;
public const jarakExelent = 15;
public const toppingPerLevel;
public const jarakPerfect = 5;
public const timingAnimasiPenilaian = 10;
public const indexKeju = 14;
public const jarakBad = 50;
public const indexMayo = 7;
public const pizzaPerLevel;
public const timePlay;
public const jarakGood = 30;
public const maxToping = 14;
public function Data(){
timePlay = [30, 20, 10];
pizzaPerLevel = [2, 1, 2, 1, 1, 2, 2, 2, 1, 2, 1, 1];
toppingPerLevel = [{toping:[8, 8, 8, 8, 2], xToping:[-83, -2, 89, 2, 2], yToping:[-20, -77, -19, 45, -17]}, {toping:[3, 3, 3, 3, 6], xToping:[-85, -3, 83, 2, -1], yToping:[-21, -79, -21, 35, -23]}, {toping:[12, 12, 12, 12, 9, 9, 9, 9, 5], xToping:[-88, 2, 83, -6, -70, -58, 62, 50, -2], yToping:[-16, -78, -13, 49, 29, -62, -63, 33, -15]}, {toping:[14, 2, 2, 2, 2, 4, 4, 4, 4, 8], xToping:[-7, -88, 0, 86, 0, -67, -67, 62, 67, 1], yToping:[-20, -18, -81, -20, 42, 27, -70, -75, 27, -21]}, {toping:[14, 3, 3, 3, 3, 1, 9], xToping:[-7, -74, 4, 84, -2, 4, -1], yToping:[-20, -26, -83, -26, 35, -24, -32]}, {toping:[8, 8, 4, 4, 4, 4, 2, 2, 10], xToping:[-91, 98, -57, -50, 54, 51, 4, -3, 3], yToping:[-19, -17, 27, -60, -59, 30, -89, 56, -16]}, {toping:[3, 3, 3, 3, 9, 9, 9, 9, 8, 7], xToping:[-98, 3, 96, -3, -56, -56, 57, 57, 5, -9], yToping:[-17, -81, -17, 50, 30, -50, -62, 25, -17, -12]}, {toping:[5, 5, 4, 4, 4, 4, 1, 1, 8], xToping:[-104, 93, -50, -61, 53, 66, -5, 4, 6], yToping:[-6, -20, 29, -46, -63, 19, -80, 54, -17]}, {toping:[7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3], xToping:[-2, -96, -80, -42, 12, 65, 96, 86, 42, -11, -63, 6], yToping:[-17, -5, -46, -79, -90, -72, -32, 12, 39, 47, 29, -23]}, {toping:[3, 3, 3, 3, 2, 2, 2, 2, 11, 4], xToping:[-101, 11, 115, -1, -53, -52, 65, 59, 2, 2], yToping:[-16, -93, -22, 59, 23, -60, -62, 21, -23, -28]}, {toping:[9, 9, 9, 9, 13, 13, 13, 13, 6, 6, 6, 6, 4], xToping:[-66, -72, 69, 76, -72, -1, 75, 2, -71, -2, 73, 2, 2], yToping:[32, -76, -79, 28, -21, -78, -26, 24, -29, -84, -34, 14, -29]}, {toping:[4, 4, 4, 4, 11, 11, 10, 12, 8, 13, 13, 13, 9], xToping:[-79, 47, 89, -40, -78, 79, 31, -17, 3, -40, 51, -25, -4], yToping:[-54, -84, 12, 45, -1, -36, 33, -76, -22, -66, -51, 9, -34]}];
super();
}
}
}//package
Section 47
//FPS (FPS)
package {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class FPS extends MovieClip {
public var prevSecondTime:Number;
public var secondTime:Number;
public var tf:TextField;
public var frames:Number;
public var time:Number;
public var frameTime:Number;
public var fps:String;
public var prevFrameTime:Number;
public var iBar:MovieClip;
public function FPS(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
prevFrameTime = getTimer();
prevSecondTime = getTimer();
frames = 0;
fps = "...";
}
function frame2(){
stop();
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function onEnterFrame(_arg1:Event):void{
time = getTimer();
frameTime = (time - prevFrameTime);
secondTime = (time - prevSecondTime);
if (secondTime >= 1000){
fps = frames.toString();
frames = 0;
prevSecondTime = time;
} else {
frames++;
};
prevFrameTime = time;
tf.text = (((((fps + " FPS / ") + frameTime) + " MS") + " - Memory : ") + System.totalMemory);
iBar.scaleX = (iBar.scaleX - ((iBar.scaleX - (frameTime / 10)) / 5));
}
}
}//package
Section 48
//gambarCek (gambarCek)
package {
import flash.display.*;
public dynamic class gambarCek extends MovieClip {
}
}//package
Section 49
//gambarPizza (gambarPizza)
package {
import flash.display.*;
public dynamic class gambarPizza extends MovieClip {
}
}//package
Section 50
//gambarTopingLetak (gambarTopingLetak)
package {
import flash.display.*;
public dynamic class gambarTopingLetak extends MovieClip {
}
}//package
Section 51
//gambarTopingPilihan (gambarTopingPilihan)
package {
import flash.display.*;
public dynamic class gambarTopingPilihan extends MovieClip {
}
}//package
Section 52
//Global (Global)
package {
import flash.geom.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
import flash.external.*;
public class Global {
protected static const WINDOW_OPEN_FUNCTION:String = "window.open";
public static var STAGE_WIDTH = 600;
public static var STAGE_HEIGHT = 450;
public static function getIsoPoint(_arg1:Point):Point{
return (new Point((_arg1.x - _arg1.y), ((_arg1.x + _arg1.y) / 2)));
}
public static function AngleOfTwoLines(_arg1:Object, _arg2:Object):Number{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
_local3 = _arg1.x1;
_local4 = _arg1.y1;
_local5 = _arg1.x2;
_local6 = _arg1.y2;
_local7 = _arg2.x1;
_local8 = _arg2.y1;
_local9 = _arg2.x2;
_local10 = _arg2.y2;
_local11 = Global.Slope(_local3, _local4, _local5, _local6);
_local12 = Global.Slope(_local7, _local8, _local9, _local10);
return (Math.atan(((_local12 - _local11) / (1 + (_local11 * _local12)))));
}
public static function Slope(_arg1, _arg2, _arg3, _arg4):Number{
var _local5:Number;
var _local6:Number;
_local5 = (_arg1 - _arg3);
_local6 = (_arg2 - _arg4);
return ((_local6 / _local5));
}
public static function clone(_arg1:Object){
var _local2:ByteArray;
_local2 = new ByteArray();
_local2.writeObject(_arg1);
_local2.position = 0;
return (_local2.readObject());
}
public static function duplicateMovieClip(_arg1:MovieClip):MovieClip{
var _local2:Class;
var _local3:MovieClip;
var _local4:Rectangle;
_local2 = Object(_arg1).constructor;
_local3 = new (_local2);
_local3.transform = _arg1.transform;
_local3.filters = _arg1.filters;
_local3.cacheAsBitmap = _arg1.cacheAsBitmap;
_local3.opaqueBackground = _arg1.opaqueBackground;
if (_arg1.scale9Grid){
_local4 = _arg1.scale9Grid;
_local3.scale9Grid = _local4;
};
return (_local3);
}
public static function AngleOfTwoDots(_arg1, _arg2, _arg3, _arg4):Number{
var _local5:Number;
var _local6:Number;
_local5 = (_arg1 - _arg3);
_local6 = (_arg2 - _arg4);
return (Math.atan2(_local6, _local5));
}
public static function DegToRad(_arg1:Number):Number{
return (((_arg1 / 180) * Math.PI));
}
public static function Distance(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (Math.sqrt((Math.pow((_arg3 - _arg1), 2) + Math.pow((_arg4 - _arg2), 2))));
}
public static function RadToDeg(_arg1:Number):Number{
return (((_arg1 * 180) / Math.PI));
}
public static function pythagoras(_arg1:Number, _arg2:Number):Number{
return (Math.sqrt((Math.pow(_arg1, 2) + Math.pow(_arg2, 2))));
}
public static function openWindow(_arg1:String="http://www.lazybanana.com", _arg2:String="_blank", _arg3:String=""):String{
var _loc_4:URLRequest;
var _loc_5:String;
var ok:Boolean;
var opened:Boolean;
var msg:String;
var url = _arg1;
var target = _arg2;
var param3 = _arg3;
ok = true;
opened = false;
_loc_4 = new URLRequest(url);
msg = "Start the openWindow func ...\n";
if (!ExternalInterface.available){
try {
opened = false;
navigateToURL(_loc_4, target);
msg = (msg + "flag a - 1");
} catch(err:SecurityError) {
navigateToURL(_loc_4, "_blank");
opened = true;
msg = (msg + "flag a - 2");
} finally {
opened = true;
};
msg = (msg + "external interface not available\n");
} else {
try {
_loc_5 = String(ExternalInterface.call("function() {return navigator.userAgent;}")).toLowerCase();
msg = (msg + "Trying extenal interface sandbox security\n");
msg = (msg + "flag b - 1");
opened = false;
} catch(err:SecurityError) {
msg = (msg + (err.message + "\n"));
ok = false;
try {
opened = false;
navigateToURL(_loc_4, target);
msg = (msg + "flag b - 2");
} catch(err:SecurityError) {
opened = true;
msg = (msg + "flag b - 3");
navigateToURL(_loc_4, "_blank");
} finally {
opened = true;
};
} catch(err:Error) {
} finally {
opened = false;
};
if (((ok) && (!(opened)))){
msg = (msg + "External interface available, continuing ...\n");
if (((!((_loc_5.indexOf("firefox") == -1))) || (((!((_loc_5.indexOf("msie") == -1))) && ((uint(_loc_5.substr((_loc_5.indexOf("msie") + 5), 3)) >= 7)))))){
try {
ExternalInterface.call("window.open", _loc_4.url, target);
opened = false;
msg = (msg + "flag c - 1");
msg = (msg + "Trying window.open JS ...\n");
} catch(err:SecurityError) {
msg = (msg + (err.message + "\n"));
trace(("e : " + err.message));
if (!opened){
try {
opened = false;
navigateToURL(_loc_4, target);
msg = (msg + "flag d - 1");
} catch(err:SecurityError) {
opened = true;
navigateToURL(_loc_4, "_blank");
msg = (msg + "flag d - 2");
} finally {
opened = true;
};
};
} catch(err:Error) {
msg = (msg + (err.message + "\n"));
if (!opened){
try {
opened = false;
navigateToURL(_loc_4, target);
msg = (msg + "flag e - 1");
} catch(err:SecurityError) {
opened = true;
navigateToURL(_loc_4, "_blank");
msg = (msg + "flag e - 2");
} finally {
opened = true;
};
};
} finally {
opened = true;
};
} else {
if (!opened){
msg = (msg + "Open with navigateToURL\n");
try {
opened = false;
navigateToURL(_loc_4, target);
msg = (msg + "flag f - 1");
} catch(err:SecurityError) {
navigateToURL(_loc_4, "_blank");
msg = (msg + "flag f - 2");
} finally {
opened = true;
};
};
};
};
};
return (msg);
}
public static function getMoneyString(_arg1:int):String{
var _local2:String;
var _local3:String;
var _local4:int;
var _local5:int;
_local2 = "";
_local3 = _arg1;
_local4 = 0;
_local5 = (_local3.length - 1);
while (_local5 >= 0) {
_local4++;
_local2 = (_local3.charAt(_local5) + _local2);
if ((_local4 % 3) == 0){
_local2 = ("," + _local2);
};
_local5--;
};
if (_local2.charAt(0) == ","){
return (_local2.substr(1, (_local2.length - 1)));
};
return (_local2);
}
public static function getFormatedString(_arg1:String, _arg2:Array, _arg3:String="%"):String{
var _local4:String;
for (_local4 in _arg2) {
_arg1 = _arg1.replace((_arg3 + _local4), _arg2[_local4]);
trace(_local4, _arg2[_local4]);
};
return (_arg1);
}
}
}//package
Section 53
//Main (Main)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.ui.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public dynamic class Main extends MovieClip {
public var mBannedWin:CBannedWin;
private var mContextMenu:ContextMenu;
public var mBgmStartFlag:Boolean;// = false
private var mBgm:SoundChannel;
private var mSfx:SoundChannel;
public var mState:int;
public var mBgmFlag:Boolean;// = true
public var mFPSBar:MovieClip;
private var mMainMenu:CMainMenu;
public var mSfxFlag:Boolean;// = true
public var mOptionBar:COptionBar;
public var mPreloader:MovieClip;
public var gameMode:int;
private var mGame:CGame;
protected static const WINDOW_OPEN_FUNCTION:String = "window.open";
public static var STATE_GAME = 1;
public static var MainGlobal:Main;
public static var STATE_PRELOADER = 0;
public static var STATE_MAIN_MENU = 2;
public static var STATE_PAUSED = 3;
public function Main(){
mState = STATE_PRELOADER;
mBgmFlag = true;
mSfxFlag = true;
mBgmStartFlag = false;
super();
addFrameScript(0, frame1, 15, frame16);
trace("init main 1");
MainGlobal = this;
mState = STATE_MAIN_MENU;
Global.STAGE_HEIGHT = stage.stageHeight;
Global.STAGE_WIDTH = stage.stageWidth;
stage.addEventListener(FocusEvent.FOCUS_IN, OnKeyFocusChange, false, 0, true);
stage.addEventListener(Event.ADDED, OnAddedToStage, false, 0, true);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp, false, 0, true);
stage.showDefaultContextMenu = false;
stage.quality = StageQuality.HIGH;
gameMode = -1;
}
public function InitMainMenu(){
ShowWindow("MainMenu");
mState = STATE_MAIN_MENU;
}
public function ToggleQuality():void{
switch (stage.quality){
case "LOW":
stage.quality = StageQuality.MEDIUM;
break;
case "MEDIUM":
stage.quality = StageQuality.HIGH;
break;
case "HIGH":
stage.quality = StageQuality.BEST;
break;
case "BEST":
stage.quality = StageQuality.LOW;
break;
default:
break;
};
}
public function KillWindow(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=true){
var _local4:String;
var _local5:String;
var _local6:XML;
var _local7:String;
_local4 = ("C" + _arg1);
_local5 = ("m" + _arg1);
if (this[_local5]){
if (((this[_local5].parent) && (_arg3))){
this[_local5].parent.removeChild(this[_local5]);
};
if (_arg2){
_local6 = describeType(this[_local5]);
_local7 = _local6.method.@name.toXMLString();
if (_local7.indexOf("RemoveDispatcher") > -1){
this[_local5].RemoveDispatcher();
};
};
this[_local5] = null;
};
if (this[_local5] != null){
trace((("WARNING ### " + _arg1) + "Not null after Kill process"));
};
}
private function RunStateGame(){
this.dispatchEvent(new Event("update"));
}
public function ShowWindow(_arg1:String){
var _local2:String;
var _local3:String;
var _local4:Class;
_local2 = ("C" + _arg1);
_local3 = ("m" + _arg1);
_local4 = (getDefinitionByName(_local2) as Class);
if (_local4){
KillWindow(_local3);
this[_local3] = new (_local4);
this.stage.addChild(this[_local3]);
};
}
public function InitGame(){
ShowWindow("Game");
mGame.AddDispatcher();
mState = STATE_GAME;
}
function frame1(){
MochiBot.track(this, "70c56fd6");
stop();
}
function frame16(){
InitOnce();
}
private function isDomainNOTAllowed(_arg1:Array):Boolean{
var _local2:LocalConnection;
var _local3:String;
var _local4:Number;
_local2 = new LocalConnection();
_local3 = _local2.domain;
trace(("Domain : " + _local3));
_local4 = 0;
while (_local4 < _arg1.length) {
if (_local3 == _arg1[_local4]){
return (true);
};
_local4++;
};
_local4 = 0;
while (_local4 < _arg1.length) {
if (_local3.substr(-((_arg1[_local4].length + 1))) == ("." + _arg1[_local4])){
return (true);
};
_local4++;
};
return (false);
}
private function isPlayerAllowed(_arg1:Array):Boolean{
var _local2:String;
var _local3:Number;
_local2 = Capabilities.playerType;
trace(("PlayerType : " + _local2));
_local3 = 0;
while (_local3 < _arg1.length) {
if (_local2 == _arg1[_local3]){
return (true);
};
_local3++;
};
return (false);
}
private function isDomainAllowed(_arg1:Array):Boolean{
var _local2:LocalConnection;
var _local3:String;
var _local4:Number;
_local2 = new LocalConnection();
_local3 = _local2.domain;
trace(("Domain : " + _local3));
_local4 = 0;
while (_local4 < _arg1.length) {
if (_local3 == _arg1[_local4]){
return (true);
};
_local4++;
};
_local4 = 0;
while (_local4 < _arg1.length) {
if (_local3.substr(-((_arg1[_local4].length + 1))) == ("." + _arg1[_local4])){
return (true);
};
_local4++;
};
return (false);
}
private function menuSelectHandler(_arg1:ContextMenuEvent){
}
private function OnKeyFocusChange(_arg1:FocusEvent):void{
stage.focus = this.stage;
}
public function onKeyUp(_arg1:KeyboardEvent){
if (mState != STATE_PRELOADER){
switch (_arg1.keyCode){
case 77:
if (mOptionBar){
mOptionBar.ToggleMusic();
};
break;
case 66:
if (mOptionBar){
mOptionBar.ToggleQuality();
};
break;
case 78:
if (mOptionBar){
mOptionBar.ToggleSFX();
};
break;
};
};
}
private function OnAddedToStage(_arg1:Event):void{
if (mOptionBar){
mOptionBar.parent.setChildIndex(mOptionBar, (mOptionBar.parent.numChildren - 1));
};
if (mFPSBar){
mFPSBar.parent.setChildIndex(mFPSBar, (mFPSBar.parent.numChildren - 1));
};
}
public function CheckDomain(){
var _local1:Array;
var _local2:Array;
var _local3:*;
_local1 = new Array("localhost");
_local2 = new Array("ActiveX", "PlugIn", "StandAlone", "External");
if (!isDomainAllowed(_local1)){
trace("BANNED DOMAIN !!!");
if (_local3){
if (_local3.parent){
_local3.parent.removeChild(_local3);
};
_local3 = null;
};
_local3 = new CBannedWin();
this.stage.addChild(_local3);
} else {
trace("Allowed DOMAIN !!!");
};
}
private function InitOnce(){
InitMainMenu();
mOptionBar = new COptionBar(0, 0, "bgMusic", 1);
mOptionBar.visible = false;
stage.addChild(mOptionBar);
mFPSBar = new FPS();
mFPSBar.visible = false;
stage.addChild(mFPSBar);
if (this.hasEventListener(Event.ENTER_FRAME)){
this.removeEventListener(Event.ENTER_FRAME, OnEnterFrame);
};
this.addEventListener(Event.ENTER_FRAME, OnEnterFrame, false, 0, true);
}
public function OnEnterFrame(_arg1:Event){
switch (mState){
case STATE_GAME:
RunStateGame();
break;
case STATE_PAUSED:
this.dispatchEvent(new Event("pause"));
break;
default:
break;
};
}
public function GotoSapi(_arg1:MouseEvent){
Main.openWindow();
}
public static function GetInstance():Main{
return (MainGlobal);
}
}
}//package
Section 54
//missSound (missSound)
package {
import flash.media.*;
public dynamic class missSound extends Sound {
}
}//package
Section 55
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
_local4 = "http://core.mochibot.com/my/core.swf";
_local5 = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
_local6 = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
_local7 = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
_local8 = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 56
//nilaiSound (nilaiSound)
package {
import flash.media.*;
public dynamic class nilaiSound extends Sound {
}
}//package
Section 57
//textBad (textBad)
package {
import flash.display.*;
public dynamic class textBad extends MovieClip {
}
}//package
Section 58
//textExcellent (textExcellent)
package {
import flash.display.*;
public dynamic class textExcellent extends MovieClip {
}
}//package
Section 59
//textGood (textGood)
package {
import flash.display.*;
public dynamic class textGood extends MovieClip {
}
}//package
Section 60
//textMiss (textMiss)
package {
import flash.display.*;
public dynamic class textMiss extends MovieClip {
}
}//package
Section 61
//textPerfect (textPerfect)
package {
import flash.display.*;
public dynamic class textPerfect extends MovieClip {
}
}//package