Section 1
//AuxFunctions (caurina.transitions.AuxFunctions)
package caurina.transitions {
public class AuxFunctions {
public static function getObjectLength(_arg1:Object):uint{
var _local3:String;
var _local2:uint;
for (_local3 in _arg1) {
_local2++;
};
return (_local2);
}
public static function numberToG(_arg1:Number):Number{
return (((_arg1 & 0xFF00) >> 8));
}
public static function numberToB(_arg1:Number):Number{
return ((_arg1 & 0xFF));
}
public static function numberToR(_arg1:Number):Number{
return (((_arg1 & 0xFF0000) >> 16));
}
public static function concatObjects(... _args):Object{
var _local3:Object;
var _local5:String;
var _local2:Object = {};
var _local4:int;
while (_local4 < _args.length) {
_local3 = _args[_local4];
for (_local5 in _local3) {
if (_local3[_local5] == null){
delete _local2[_local5];
} else {
_local2[_local5] = _local3[_local5];
};
};
_local4++;
};
return (_local2);
}
}
}//package caurina.transitions
Section 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 _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period;
var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
if (_arg1 < 1){
--_arg1;
return (((-0.5 * ((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2));
};
--_arg1;
return ((((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2));
}
public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2));
};
--_arg1;
return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2));
}
public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2));
};
return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2));
}
public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
_local6 = (_local6 * 1.525);
return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_local6 + 1) * _arg1) - _local6))) + _arg2));
};
_arg1 = (_arg1 - 2);
_local6 = (_local6 * 1.525);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 2)) + _arg2));
}
public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 1)) + _arg2));
}
public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2));
}
public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2));
}
public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function init():void{
Tweener.registerTransition("easenone", easeNone);
Tweener.registerTransition("linear", easeNone);
Tweener.registerTransition("easeinquad", easeInQuad);
Tweener.registerTransition("easeoutquad", easeOutQuad);
Tweener.registerTransition("easeinoutquad", easeInOutQuad);
Tweener.registerTransition("easeoutinquad", easeOutInQuad);
Tweener.registerTransition("easeincubic", easeInCubic);
Tweener.registerTransition("easeoutcubic", easeOutCubic);
Tweener.registerTransition("easeinoutcubic", easeInOutCubic);
Tweener.registerTransition("easeoutincubic", easeOutInCubic);
Tweener.registerTransition("easeinquart", easeInQuart);
Tweener.registerTransition("easeoutquart", easeOutQuart);
Tweener.registerTransition("easeinoutquart", easeInOutQuart);
Tweener.registerTransition("easeoutinquart", easeOutInQuart);
Tweener.registerTransition("easeinquint", easeInQuint);
Tweener.registerTransition("easeoutquint", easeOutQuint);
Tweener.registerTransition("easeinoutquint", easeInOutQuint);
Tweener.registerTransition("easeoutinquint", easeOutInQuint);
Tweener.registerTransition("easeinsine", easeInSine);
Tweener.registerTransition("easeoutsine", easeOutSine);
Tweener.registerTransition("easeinoutsine", easeInOutSine);
Tweener.registerTransition("easeoutinsine", easeOutInSine);
Tweener.registerTransition("easeincirc", easeInCirc);
Tweener.registerTransition("easeoutcirc", easeOutCirc);
Tweener.registerTransition("easeinoutcirc", easeInOutCirc);
Tweener.registerTransition("easeoutincirc", easeOutInCirc);
Tweener.registerTransition("easeinexpo", easeInExpo);
Tweener.registerTransition("easeoutexpo", easeOutExpo);
Tweener.registerTransition("easeinoutexpo", easeInOutExpo);
Tweener.registerTransition("easeoutinexpo", easeOutInExpo);
Tweener.registerTransition("easeinelastic", easeInElastic);
Tweener.registerTransition("easeoutelastic", easeOutElastic);
Tweener.registerTransition("easeinoutelastic", easeInOutElastic);
Tweener.registerTransition("easeoutinelastic", easeOutInElastic);
Tweener.registerTransition("easeinback", easeInBack);
Tweener.registerTransition("easeoutback", easeOutBack);
Tweener.registerTransition("easeinoutback", easeInOutBack);
Tweener.registerTransition("easeoutinback", easeOutInBack);
Tweener.registerTransition("easeinbounce", easeInBounce);
Tweener.registerTransition("easeoutbounce", easeOutBounce);
Tweener.registerTransition("easeinoutbounce", easeInOutBounce);
Tweener.registerTransition("easeoutinbounce", easeOutInBounce);
}
public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2));
}
public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001)));
}
public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2));
}
public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _arg2));
}
public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2));
}
public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2));
}
public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2));
}
public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2));
}
public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
--_arg1;
return ((-(((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2));
}
public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2));
}
public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
}
public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 == 0){
return (_arg2);
};
if (_arg1 == _arg4){
return ((_arg2 + _arg3));
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005)));
};
--_arg1;
return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2));
}
public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
return (((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2));
}
public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2));
}
public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
}
}//package caurina.transitions
Section 3
//PropertyInfoObj (caurina.transitions.PropertyInfoObj)
package caurina.transitions {
public class PropertyInfoObj {
public var modifierParameters:Array;
public var isSpecialProperty:Boolean;
public var valueComplete:Number;
public var modifierFunction:Function;
public var extra:Object;
public var valueStart:Number;
public var hasModifier:Boolean;
public var arrayIndex:Number;
public var originalValueComplete:Object;
public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Object, _arg4:Number, _arg5:Object, _arg6:Boolean, _arg7:Function, _arg8:Array){
valueStart = _arg1;
valueComplete = _arg2;
originalValueComplete = _arg3;
arrayIndex = _arg4;
extra = _arg5;
isSpecialProperty = _arg6;
hasModifier = Boolean(_arg7);
modifierFunction = _arg7;
modifierParameters = _arg8;
}
public function toString():String{
var _local1 = "\n[PropertyInfoObj ";
_local1 = (_local1 + ("valueStart:" + String(valueStart)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("valueComplete:" + String(valueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("originalValueComplete:" + String(originalValueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("arrayIndex:" + String(arrayIndex)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("extra:" + String(extra)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("isSpecialProperty:" + String(isSpecialProperty)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("hasModifier:" + String(hasModifier)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierFunction:" + String(modifierFunction)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierParameters:" + String(modifierParameters)));
_local1 = (_local1 + "]\n");
return (_local1);
}
public function clone():PropertyInfoObj{
var _local1:PropertyInfoObj = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters);
return (_local1);
}
}
}//package caurina.transitions
Section 4
//SpecialProperty (caurina.transitions.SpecialProperty)
package caurina.transitions {
public class SpecialProperty {
public var parameters:Array;
public var getValue:Function;
public var preProcess:Function;
public var setValue:Function;
public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null, _arg4:Function=null){
getValue = _arg1;
setValue = _arg2;
parameters = _arg3;
preProcess = _arg4;
}
public function toString():String{
var _local1 = "";
_local1 = (_local1 + "[SpecialProperty ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("setValue:" + String(setValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("preProcess:" + String(preProcess)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 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 = "";
_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 = "";
_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;
public static var autoOverwrite:Boolean = true;
private static var _engineExists:Boolean = false;
private static var _currentTime:Number;
private static var _tweenList:Array;
private static var _specialPropertyModifierList:Object;
private static var _specialPropertyList:Object;
private static var _transitionList:Object;
private static var _inited:Boolean = false;
private static var __tweener_controller__:MovieClip;
public function Tweener(){
trace("Tweener is a static class and should not be instantiated.");
}
public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{
if (!_inited){
init();
};
var _local4:SpecialPropertyModifier = new SpecialPropertyModifier(_arg2, _arg3);
_specialPropertyModifierList[_arg1] = _local4;
}
public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{
if (!_inited){
init();
};
var _local6:SpecialProperty = new SpecialProperty(_arg2, _arg3, _arg4, _arg5);
_specialPropertyList[_arg1] = _local6;
}
public static function init(... _args):void{
_inited = true;
_transitionList = new Object();
Equations.init();
_specialPropertyList = new Object();
_specialPropertyModifierList = new Object();
_specialPropertySplitterList = new Object();
}
private static function updateTweens():Boolean{
var _local1:int;
if (_tweenList.length == 0){
return (false);
};
_local1 = 0;
while (_local1 < _tweenList.length) {
if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){
if (!updateTweenByIndex(_local1)){
removeTweenByIndex(_local1);
};
if (_tweenList[_local1] == null){
removeTweenByIndex(_local1, true);
_local1--;
};
};
_local1++;
};
return (true);
}
public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Array;
var _local8:Function;
var _local9:TweenListObj;
var _local10:Number;
var _local11:String;
if (!Boolean(_arg1)){
return (false);
};
if ((_arg1 is Array)){
_local4 = _arg1.concat();
} else {
_local4 = [_arg1];
};
var _local5:Object = _arg2;
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
var _local6:Number = (isNaN(_local5.time)) ? 0 : _local5.time;
var _local7:Number = (isNaN(_local5.delay)) ? 0 : _local5.delay;
if (typeof(_local5.transition) == "string"){
_local11 = _local5.transition.toLowerCase();
_local8 = _transitionList[_local11];
} else {
_local8 = _local5.transition;
};
if (!Boolean(_local8)){
_local8 = _transitionList["easeoutexpo"];
};
_local3 = 0;
while (_local3 < _local4.length) {
if (_local5.useFrames == true){
_local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams);
} else {
_local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams);
};
_local9.properties = null;
_local9.onStart = _local5.onStart;
_local9.onUpdate = _local5.onUpdate;
_local9.onComplete = _local5.onComplete;
_local9.onOverwrite = _local5.onOverwrite;
_local9.onStartParams = _local5.onStartParams;
_local9.onUpdateParams = _local5.onUpdateParams;
_local9.onCompleteParams = _local5.onCompleteParams;
_local9.onOverwriteParams = _local5.onOverwriteParams;
_local9.onStartScope = _local5.onStartScope;
_local9.onUpdateScope = _local5.onUpdateScope;
_local9.onCompleteScope = _local5.onCompleteScope;
_local9.onOverwriteScope = _local5.onOverwriteScope;
_local9.onErrorScope = _local5.onErrorScope;
_local9.isCaller = true;
_local9.count = _local5.count;
_local9.waitFrames = _local5.waitFrames;
_tweenList.push(_local9);
if ((((_local6 == 0)) && ((_local7 == 0)))){
_local10 = (_tweenList.length - 1);
updateTweenByIndex(_local10);
removeTweenByIndex(_local10);
};
_local3++;
};
return (true);
}
public static function pauseAllTweens():Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
var _local1:Boolean;
_local2 = 0;
while (_local2 < _tweenList.length) {
pauseTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function removeTweens(_arg1:Object, ... _args):Boolean{
var _local4:uint;
var _local5:SpecialPropertySplitter;
var _local6:Array;
var _local7:uint;
var _local3:Array = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
if (_specialPropertySplitterList[_args[_local4]]){
_local5 = _specialPropertySplitterList[_args[_local4]];
_local6 = _local5.splitValues(_arg1, null);
_local7 = 0;
while (_local7 < _local6.length) {
_local3.push(_local6[_local7].name);
_local7++;
};
} else {
_local3.push(_args[_local4]);
};
};
_local4++;
};
return (affectTweens(removeTweenByIndex, _arg1, _local3));
}
public static function updateFrame():void{
_currentTimeFrame++;
}
public static function splitTweens(_arg1:Number, _arg2:Array):uint{
var _local5:uint;
var _local6:String;
var _local7:Boolean;
var _local3:TweenListObj = _tweenList[_arg1];
var _local4:TweenListObj = _local3.clone(false);
_local5 = 0;
while (_local5 < _arg2.length) {
_local6 = _arg2[_local5];
if (Boolean(_local3.properties[_local6])){
_local3.properties[_local6] = undefined;
delete _local3.properties[_local6];
};
_local5++;
};
for (_local6 in _local4.properties) {
_local7 = false;
_local5 = 0;
while (_local5 < _arg2.length) {
if (_arg2[_local5] == _local6){
_local7 = true;
break;
};
_local5++;
};
if (!_local7){
_local4.properties[_local6] = undefined;
delete _local4.properties[_local6];
};
};
_tweenList.push(_local4);
return ((_tweenList.length - 1));
}
public static function resumeTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj = _tweenList[_arg1];
if ((((_local2 == null)) || (!(_local2.isPaused)))){
return (false);
};
var _local3:Number = getCurrentTweeningTime(_local2);
_local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused));
_local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused));
_local2.timePaused = undefined;
_local2.isPaused = false;
return (true);
}
public static function getVersion():String{
return ("AS3 1.33.74");
}
public static function onEnterFrame(_arg1:Event):void{
updateTime();
updateFrame();
var _local2:Boolean;
_local2 = updateTweens();
if (!_local2){
stopEngine();
};
}
public static function updateTime():void{
_currentTime = getTimer();
}
private static function updateTweenByIndex(_arg1:Number):Boolean{
var tTweening:TweenListObj;
var mustUpdate:Boolean;
var nv:Number;
var t:Number;
var b:Number;
var c:Number;
var d:Number;
var pName:String;
var eventScope:Object;
var tScope:Object;
var tProperty:Object;
var pv:Number;
var i = _arg1;
tTweening = _tweenList[i];
if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){
return (false);
};
var isOver:Boolean;
var cTime:Number = getCurrentTweeningTime(tTweening);
if (cTime >= tTweening.timeStart){
tScope = tTweening.scope;
if (tTweening.isCaller){
do {
t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1));
b = tTweening.timeStart;
c = (tTweening.timeComplete - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d);
} while (!(cTime >= nv));
} else {
mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates)));
if (cTime >= tTweening.timeComplete){
isOver = true;
mustUpdate = true;
};
if (!tTweening.hasStarted){
if (Boolean(tTweening.onStart)){
eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope;
try {
tTweening.onStart.apply(eventScope, tTweening.onStartParams);
} catch(e2:Error) {
handleError(tTweening, e2, "onStart");
};
};
for (pName in tTweening.properties) {
if (tTweening.properties[pName].isSpecialProperty){
if (Boolean(_specialPropertyList[pName].preProcess)){
tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra);
};
pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
pv = tScope[pName];
};
tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv;
};
mustUpdate = true;
tTweening.hasStarted = true;
};
if (mustUpdate){
for (pName in tTweening.properties) {
tProperty = tTweening.properties[pName];
if (isOver){
nv = tProperty.valueComplete;
} else {
if (tProperty.hasModifier){
t = (cTime - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams);
nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters);
} else {
t = (cTime - tTweening.timeStart);
b = tProperty.valueStart;
c = (tProperty.valueComplete - tProperty.valueStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d, tTweening.transitionParams);
};
};
if (tTweening.rounded){
nv = Math.round(nv);
};
if (tProperty.isSpecialProperty){
_specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
tScope[pName] = nv;
};
};
tTweening.updatesSkipped = 0;
if (Boolean(tTweening.onUpdate)){
eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope;
try {
tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams);
} catch(e3:Error) {
handleError(tTweening, e3, "onUpdate");
};
};
} else {
tTweening.updatesSkipped++;
};
};
if (((isOver) && (Boolean(tTweening.onComplete)))){
eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope;
try {
tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams);
} catch(e4:Error) {
handleError(tTweening, e4, "onComplete");
};
};
return (!(isOver));
};
return (true);
}
public static function setTimeScale(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
if (isNaN(_arg1)){
_arg1 = 1;
};
if (_arg1 < 1E-5){
_arg1 = 1E-5;
};
if (_arg1 != _timeScale){
if (_tweenList != null){
_local2 = 0;
while (_local2 < _tweenList.length) {
_local3 = getCurrentTweeningTime(_tweenList[_local2]);
_tweenList[_local2].timeStart = (_local3 - (((_local3 - _tweenList[_local2].timeStart) * _timeScale) / _arg1));
_tweenList[_local2].timeComplete = (_local3 - (((_local3 - _tweenList[_local2].timeComplete) * _timeScale) / _arg1));
if (_tweenList[_local2].timePaused != undefined){
_tweenList[_local2].timePaused = (_local3 - (((_local3 - _tweenList[_local2].timePaused) * _timeScale) / _arg1));
};
_local2++;
};
};
_timeScale = _arg1;
};
}
public static function resumeAllTweens():Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
var _local1:Boolean;
_local2 = 0;
while (_local2 < _tweenList.length) {
resumeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{
var eventScope:Object;
var pTweening = _arg1;
var pError = _arg2;
var pCallBackName = _arg3;
if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){
eventScope = (Boolean(pTweening.onErrorScope)) ? pTweening.onErrorScope : pTweening.scope;
try {
pTweening.onError.apply(eventScope, [pTweening.scope, pError]);
} catch(metaError:Error) {
printError(((((String(pTweening.scope) + " raised an error while executing the 'onError' handler. Original error:\n ") + pError.getStackTrace()) + "\nonError error: ") + metaError.getStackTrace()));
};
} else {
if (!Boolean(pTweening.onError)){
printError(((((String(pTweening.scope) + " raised an error while executing the '") + pCallBackName) + "'handler. \n") + pError.getStackTrace()));
};
};
}
private static function startEngine():void{
_engineExists = true;
_tweenList = new Array();
__tweener_controller__ = new MovieClip();
__tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
_currentTimeFrame = 0;
updateTime();
}
public static function removeAllTweens():Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
var _local1:Boolean;
_local2 = 0;
while (_local2 < _tweenList.length) {
removeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Number;
var _local5:String;
var _local6:Array;
var _local13:Function;
var _local14:Object;
var _local15:TweenListObj;
var _local16:Number;
var _local17:Array;
var _local18:Array;
var _local19:Array;
var _local20:String;
if (!Boolean(_arg1)){
return (false);
};
if ((_arg1 is Array)){
_local6 = _arg1.concat();
} else {
_local6 = [_arg1];
};
var _local7:Object = TweenListObj.makePropertiesChain(_arg2);
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
var _local8:Number = (isNaN(_local7.time)) ? 0 : _local7.time;
var _local9:Number = (isNaN(_local7.delay)) ? 0 : _local7.delay;
var _local10:Array = new Array();
var _local11:Object = {overwrite:true, time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true};
var _local12:Object = new Object();
for (_local5 in _local7) {
if (!_local11[_local5]){
if (_specialPropertySplitterList[_local5]){
_local17 = _specialPropertySplitterList[_local5].splitValues(_local7[_local5], _specialPropertySplitterList[_local5].parameters);
_local3 = 0;
while (_local3 < _local17.length) {
if (_specialPropertySplitterList[_local17[_local3].name]){
_local18 = _specialPropertySplitterList[_local17[_local3].name].splitValues(_local17[_local3].value, _specialPropertySplitterList[_local17[_local3].name].parameters);
_local4 = 0;
while (_local4 < _local18.length) {
_local10[_local18[_local4].name] = {valueStart:undefined, valueComplete:_local18[_local4].value, arrayIndex:_local18[_local4].arrayIndex, isSpecialProperty:false};
_local4++;
};
} else {
_local10[_local17[_local3].name] = {valueStart:undefined, valueComplete:_local17[_local3].value, arrayIndex:_local17[_local3].arrayIndex, isSpecialProperty:false};
};
_local3++;
};
} else {
if (_specialPropertyModifierList[_local5] != undefined){
_local19 = _specialPropertyModifierList[_local5].modifyValues(_local7[_local5]);
_local3 = 0;
while (_local3 < _local19.length) {
_local12[_local19[_local3].name] = {modifierParameters:_local19[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local5].getValue};
_local3++;
};
} else {
_local10[_local5] = {valueStart:undefined, valueComplete:_local7[_local5]};
};
};
};
};
for (_local5 in _local10) {
if (_specialPropertyList[_local5] != undefined){
_local10[_local5].isSpecialProperty = true;
} else {
if (_local6[0][_local5] == undefined){
printError((((("The property '" + _local5) + "' doesn't seem to be a normal object property of ") + String(_local6[0])) + " or a registered special property."));
};
};
};
for (_local5 in _local12) {
if (_local10[_local5] != undefined){
_local10[_local5].modifierParameters = _local12[_local5].modifierParameters;
_local10[_local5].modifierFunction = _local12[_local5].modifierFunction;
};
};
if (typeof(_local7.transition) == "string"){
_local20 = _local7.transition.toLowerCase();
_local13 = _transitionList[_local20];
} else {
_local13 = _local7.transition;
};
if (!Boolean(_local13)){
_local13 = _transitionList["easeoutexpo"];
};
_local3 = 0;
while (_local3 < _local6.length) {
_local14 = new Object();
for (_local5 in _local10) {
_local14[_local5] = new PropertyInfoObj(_local10[_local5].valueStart, _local10[_local5].valueComplete, _local10[_local5].valueComplete, _local10[_local5].arrayIndex, {}, _local10[_local5].isSpecialProperty, _local10[_local5].modifierFunction, _local10[_local5].modifierParameters);
};
if (_local7.useFrames == true){
_local15 = new TweenListObj(_local6[_local3], (_currentTimeFrame + (_local9 / _timeScale)), (_currentTimeFrame + ((_local9 + _local8) / _timeScale)), true, _local13, _local7.transitionParams);
} else {
_local15 = new TweenListObj(_local6[_local3], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), false, _local13, _local7.transitionParams);
};
_local15.properties = _local14;
_local15.onStart = _local7.onStart;
_local15.onUpdate = _local7.onUpdate;
_local15.onComplete = _local7.onComplete;
_local15.onOverwrite = _local7.onOverwrite;
_local15.onError = _local7.onError;
_local15.onStartParams = _local7.onStartParams;
_local15.onUpdateParams = _local7.onUpdateParams;
_local15.onCompleteParams = _local7.onCompleteParams;
_local15.onOverwriteParams = _local7.onOverwriteParams;
_local15.onStartScope = _local7.onStartScope;
_local15.onUpdateScope = _local7.onUpdateScope;
_local15.onCompleteScope = _local7.onCompleteScope;
_local15.onOverwriteScope = _local7.onOverwriteScope;
_local15.onErrorScope = _local7.onErrorScope;
_local15.rounded = _local7.rounded;
_local15.skipUpdates = _local7.skipUpdates;
if (((_local7.overwrite == undefined)) ? autoOverwrite : _local7.overwrite){
removeTweensByTime(_local15.scope, _local15.properties, _local15.timeStart, _local15.timeComplete);
};
_tweenList.push(_local15);
if ((((_local8 == 0)) && ((_local9 == 0)))){
_local16 = (_tweenList.length - 1);
updateTweenByIndex(_local16);
removeTweenByIndex(_local16);
};
_local3++;
};
return (true);
}
public static function registerTransition(_arg1:String, _arg2:Function):void{
if (!_inited){
init();
};
_transitionList[_arg1] = _arg2;
}
public static function printError(_arg1:String):void{
trace(("## [Tweener] Error: " + _arg1));
}
private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{
var _local5:uint;
var _local6:Array;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local4:Boolean;
if (!Boolean(_tweenList)){
return (false);
};
_local5 = 0;
while (_local5 < _tweenList.length) {
if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){
if (_arg3.length == 0){
_arg1(_local5);
_local4 = true;
} else {
_local6 = new Array();
_local7 = 0;
while (_local7 < _arg3.length) {
if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){
_local6.push(_arg3[_local7]);
};
_local7++;
};
if (_local6.length > 0){
_local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties);
if (_local8 == _local6.length){
_arg1(_local5);
_local4 = true;
} else {
_local9 = splitTweens(_local5, _local6);
_arg1(_local9);
_local4 = true;
};
};
};
};
_local5++;
};
return (_local4);
}
public static function getTweens(_arg1:Object):Array{
var _local2:uint;
var _local3:String;
if (!Boolean(_tweenList)){
return ([]);
};
var _local4:Array = new Array();
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
for (_local3 in _tweenList[_local2].properties) {
_local4.push(_local3);
};
};
_local2++;
};
return (_local4);
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
return (true);
};
_local2++;
};
return (false);
}
public static function pauseTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj = _tweenList[_arg1];
if ((((_local2 == null)) || (_local2.isPaused))){
return (false);
};
_local2.timePaused = getCurrentTweeningTime(_local2);
_local2.isPaused = true;
return (true);
}
public static function getCurrentTweeningTime(_arg1:Object):Number{
return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime);
}
public static function getTweenCount(_arg1:Object):Number{
var _local2:uint;
if (!Boolean(_tweenList)){
return (0);
};
var _local3:Number = 0;
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
_local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties));
};
_local2++;
};
return (_local3);
}
private static function stopEngine():void{
_engineExists = false;
_tweenList = null;
_currentTime = 0;
_currentTimeFrame = 0;
__tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
__tweener_controller__ = null;
}
public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{
var removedLocally:Boolean;
var i:uint;
var pName:String;
var eventScope:Object;
var p_scope = _arg1;
var p_properties = _arg2;
var p_timeStart = _arg3;
var p_timeComplete = _arg4;
var removed:Boolean;
var tl:uint = _tweenList.length;
i = 0;
while (i < tl) {
if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){
if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){
removedLocally = false;
for (pName in _tweenList[i].properties) {
if (Boolean(p_properties[pName])){
if (Boolean(_tweenList[i].onOverwrite)){
eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope;
try {
_tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams);
} catch(e:Error) {
handleError(_tweenList[i], e, "onOverwrite");
};
};
_tweenList[i].properties[pName] = undefined;
delete _tweenList[i].properties[pName];
removedLocally = true;
removed = true;
};
};
if (removedLocally){
if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){
removeTweenByIndex(i);
};
};
};
};
i = (i + 1);
};
return (removed);
}
public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{
if (!_inited){
init();
};
var _local4:SpecialPropertySplitter = new SpecialPropertySplitter(_arg2, _arg3);
_specialPropertySplitterList[_arg1] = _local4;
}
public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{
_tweenList[_arg1] = null;
if (_arg2){
_tweenList.splice(_arg1, 1);
};
return (true);
}
public static function resumeTweens(_arg1:Object, ... _args):Boolean{
var _local4:uint;
var _local3:Array = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(resumeTweenByIndex, _arg1, _local3));
}
public static function pauseTweens(_arg1:Object, ... _args):Boolean{
var _local4:uint;
var _local3:Array = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(pauseTweenByIndex, _arg1, _local3));
}
}
}//package caurina.transitions
Section 8
//TweenListObj (caurina.transitions.TweenListObj)
package caurina.transitions {
public class TweenListObj {
public var hasStarted:Boolean;
public var onUpdate:Function;
public var useFrames:Boolean;
public var count:Number;
public var onOverwriteParams:Array;
public var timeStart:Number;
public var timeComplete:Number;
public var onStartParams:Array;
public var onUpdateScope:Object;
public var rounded:Boolean;
public var onUpdateParams:Array;
public var properties:Object;
public var onComplete:Function;
public var transitionParams:Object;
public var updatesSkipped:Number;
public var onStart:Function;
public var onOverwriteScope:Object;
public var skipUpdates:Number;
public var onStartScope:Object;
public var scope:Object;
public var isCaller:Boolean;
public var timePaused:Number;
public var transition:Function;
public var onCompleteParams:Array;
public var onError:Function;
public var timesCalled:Number;
public var onErrorScope:Object;
public var onOverwrite:Function;
public var isPaused:Boolean;
public var waitFrames:Boolean;
public var onCompleteScope:Object;
public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function, _arg6:Object){
scope = _arg1;
timeStart = _arg2;
timeComplete = _arg3;
useFrames = _arg4;
transition = _arg5;
transitionParams = _arg6;
properties = new Object();
isPaused = false;
timePaused = undefined;
isCaller = false;
updatesSkipped = 0;
timesCalled = 0;
skipUpdates = 0;
hasStarted = false;
}
public function clone(_arg1:Boolean):TweenListObj{
var _local3:String;
var _local2:TweenListObj = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams);
_local2.properties = new Array();
for (_local3 in properties) {
_local2.properties[_local3] = properties[_local3].clone();
};
_local2.skipUpdates = skipUpdates;
_local2.updatesSkipped = updatesSkipped;
if (!_arg1){
_local2.onStart = onStart;
_local2.onUpdate = onUpdate;
_local2.onComplete = onComplete;
_local2.onOverwrite = onOverwrite;
_local2.onError = onError;
_local2.onStartParams = onStartParams;
_local2.onUpdateParams = onUpdateParams;
_local2.onCompleteParams = onCompleteParams;
_local2.onOverwriteParams = onOverwriteParams;
_local2.onStartScope = onStartScope;
_local2.onUpdateScope = onUpdateScope;
_local2.onCompleteScope = onCompleteScope;
_local2.onOverwriteScope = onOverwriteScope;
_local2.onErrorScope = onErrorScope;
};
_local2.rounded = rounded;
_local2.isPaused = isPaused;
_local2.timePaused = timePaused;
_local2.isCaller = isCaller;
_local2.count = count;
_local2.timesCalled = timesCalled;
_local2.waitFrames = waitFrames;
_local2.hasStarted = hasStarted;
return (_local2);
}
public function toString():String{
var _local3:String;
var _local1 = "\n[TweenListObj ";
_local1 = (_local1 + ("scope:" + String(scope)));
_local1 = (_local1 + ", properties:");
var _local2:Boolean;
for (_local3 in properties) {
if (!_local2){
_local1 = (_local1 + ",");
};
_local1 = (_local1 + ("[name:" + properties[_local3].name));
_local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart));
_local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete));
_local1 = (_local1 + "]");
_local2 = false;
};
_local1 = (_local1 + (", timeStart:" + String(timeStart)));
_local1 = (_local1 + (", timeComplete:" + String(timeComplete)));
_local1 = (_local1 + (", useFrames:" + String(useFrames)));
_local1 = (_local1 + (", transition:" + String(transition)));
_local1 = (_local1 + (", transitionParams:" + String(transitionParams)));
if (skipUpdates){
_local1 = (_local1 + (", skipUpdates:" + String(skipUpdates)));
};
if (updatesSkipped){
_local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped)));
};
if (Boolean(onStart)){
_local1 = (_local1 + (", onStart:" + String(onStart)));
};
if (Boolean(onUpdate)){
_local1 = (_local1 + (", onUpdate:" + String(onUpdate)));
};
if (Boolean(onComplete)){
_local1 = (_local1 + (", onComplete:" + String(onComplete)));
};
if (Boolean(onOverwrite)){
_local1 = (_local1 + (", onOverwrite:" + String(onOverwrite)));
};
if (Boolean(onError)){
_local1 = (_local1 + (", onError:" + String(onError)));
};
if (onStartParams){
_local1 = (_local1 + (", onStartParams:" + String(onStartParams)));
};
if (onUpdateParams){
_local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams)));
};
if (onCompleteParams){
_local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams)));
};
if (onOverwriteParams){
_local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams)));
};
if (onStartScope){
_local1 = (_local1 + (", onStartScope:" + String(onStartScope)));
};
if (onUpdateScope){
_local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope)));
};
if (onCompleteScope){
_local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope)));
};
if (onOverwriteScope){
_local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope)));
};
if (onErrorScope){
_local1 = (_local1 + (", onErrorScope:" + String(onErrorScope)));
};
if (rounded){
_local1 = (_local1 + (", rounded:" + String(rounded)));
};
if (isPaused){
_local1 = (_local1 + (", isPaused:" + String(isPaused)));
};
if (timePaused){
_local1 = (_local1 + (", timePaused:" + String(timePaused)));
};
if (isCaller){
_local1 = (_local1 + (", isCaller:" + String(isCaller)));
};
if (count){
_local1 = (_local1 + (", count:" + String(count)));
};
if (timesCalled){
_local1 = (_local1 + (", timesCalled:" + String(timesCalled)));
};
if (waitFrames){
_local1 = (_local1 + (", waitFrames:" + String(waitFrames)));
};
if (hasStarted){
_local1 = (_local1 + (", hasStarted:" + String(hasStarted)));
};
_local1 = (_local1 + "]\n");
return (_local1);
}
public static function makePropertiesChain(_arg1:Object):Object{
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local2:Object = _arg1.base;
if (_local2){
_local3 = {};
if ((_local2 is Array)){
_local4 = [];
_local8 = 0;
while (_local8 < _local2.length) {
_local4.push(_local2[_local8]);
_local8++;
};
} else {
_local4 = [_local2];
};
_local4.push(_arg1);
_local6 = _local4.length;
_local7 = 0;
while (_local7 < _local6) {
if (_local4[_local7]["base"]){
_local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]);
} else {
_local5 = _local4[_local7];
};
_local3 = AuxFunctions.concatObjects(_local3, _local5);
_local7++;
};
if (_local3["base"]){
delete _local3["base"];
};
return (_local3);
//unresolved jump
};
return (_arg1);
}
}
}//package caurina.transitions
Section 9
//PM_PRNG (de.polygonal.math.PM_PRNG)
package de.polygonal.math {
public class PM_PRNG {
public static var seed:uint = now.getTime();
public static var now:Date = new Date();
public function PM_PRNG(){
var _local1:Date = new Date();
}
public static function nextDoubleRange(_arg1:Number, _arg2:Number):Number{
return ((_arg1 + ((_arg2 - _arg1) * nextDouble())));
}
public static function nextDouble():Number{
return ((gen() / 2147483647));
}
private static function gen():uint{
return ((seed = ((seed * 16807) % 2147483647)));
}
public static function nextIntRange(_arg1:Number, _arg2:Number):uint{
_arg1 = (_arg1 - 0.4999);
_arg2 = (_arg2 + 0.4999);
return (Math.round((_arg1 + ((_arg2 - _arg1) * nextDouble()))));
}
public static function nextInt():uint{
return (gen());
}
}
}//package de.polygonal.math
Section 10
//MochiAd (mochi.as3.MochiAd)
package mochi.as3 {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showClickAwayAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:5500, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
_local3 = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.root == null){
_local3 = true;
};
if (_local3){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(_arg1:String):String{
var _local2:String = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType == "application"){
return (_local2);
};
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (_arg1.origFrameRate != undefined){
_arg1.stage.frameRate = _arg1.origFrameRate;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad._containerLCName != undefined){
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"});
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:5500, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (_local2 > chk.ad_msec){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
var idx:Number = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(_arg1:Object):MovieClip{
var clip:Object;
var mc:MovieClip;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
var DEFAULTS:Object = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!(clip is DisplayObject)){
trace("Warning: Object passed as container clip not a descendant of the DisplayObject type");
return (null);
};
if (MovieClip(clip).stage == null){
trace("Warning: Container clip for ad is not attached to the stage");
return (null);
};
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
var depth:Number = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
var wh:Array = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
} else {
trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal");
};
var lv:URLVariables = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{
trace("[MochiAds] Blocked URL");
});
if (!options.skip){
loader.load(req);
};
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
if (typeof(_arg1[_local4[_local5]]) == "function"){
return (_arg1[_local4[_local5]].apply(_arg1, _arg3));
};
return (undefined);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local6:Array;
var _local3:Object = _arg2.getBounds(_arg2.root);
var _local4:Number = 0;
var _local5:Number = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.right - _local3.left);
_local5 = (_local3.top - _local3.bottom);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array = _arg2.split(".");
var _local4:Number = 0;
while (_local4 < (_local3.length - 1)) {
if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local3[_local4]];
_local4++;
};
return (_arg1[_local3[_local4]]);
}
public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{
var _local4:Object;
var _local5:Object;
switch (_arg3.id){
case "setValue":
MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value);
break;
case "getValue":
_local4 = MochiAd.getValue(_arg1, _arg3.objectName);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + _arg3.id));
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return;
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
_arg1[_local4[_local5]] = _arg3;
}
public static function showPreGameAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var complete:Boolean;
var unloaded:Boolean;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:5500, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}, progress_override:function (_arg1:Object):Number{
return (NaN);
}, bar_offset:0};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
if (options.skip){
ad_timeout = 0;
};
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
var fn:Function = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = (10 + options.bar_offset);
bar.y = (h - 20);
};
var bar_w:Number = ((w - bar.x) - 10);
var bar_color:Number = options.color;
delete options.color;
var bar_background:Number = options.background;
delete options.background;
var bar_outline:Number = options.outline;
delete options.outline;
var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1);
var backing:Object = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo(bar_w, 0);
backing.lineTo(bar_w, 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2);
var inside:Object = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo(bar_w, 0);
inside.lineTo(bar_w, 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3);
var outline:Object = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo(bar_w, 0);
outline.lineTo(bar_w, 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
var progress:Number = Math.min(1, options.progress_override(clip));
var f:Function = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
if (!isNaN(progress)){
complete = (progress == 1);
} else {
if (clip.loaderInfo.bytesLoaded == clip.loaderInfo.bytesTotal){
complete = true;
} else {
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
mc.rpcTestFn = function (_arg1:String):Object{
trace(("[MOCHIAD rpcTestFn] " + _arg1));
return (_arg1);
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local12:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
var _local1:Object = this.parent.parent.root;
var _local2:Object = this.parent._mochiad_ctr;
var _local3:Number = (getTimer() - this.started);
var _local4:Boolean;
var _local5:Number = _local1.loaderInfo.bytesTotal;
var _local6:Number = _local1.loaderInfo.bytesLoaded;
var _local7:Number = Math.min(1, options.progress_override(_local1));
if (_local7 == 1){
complete = true;
};
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
var _local8:Number = ((100 * _local6) / _local5);
if (!isNaN(_local7)){
_local8 = (100 * _local7);
};
var _local9:Number = ((100 * _local3) / chk.ad_msec);
var _local10:Object = this._mochiad_bar._inside;
var _local11:Number = Math.min(100, Math.min(((_local8) || (0)), _local9));
_local11 = Math.max(this.last_pcnt, _local11);
this.last_pcnt = _local11;
_local10.scaleX = (_local11 * 0.01);
options.ad_progress(_local11);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local8});
if (_local8 >= 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local12 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local12 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local8 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (unloaded){
MochiAd.unload(_local1);
} else {
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(_arg1);
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(_arg1);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var mc = _arg1;
var f:Function = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package mochi.as3
Section 11
//MochiCoins (mochi.as3.MochiCoins)
package mochi.as3 {
public class MochiCoins {
public static const STORE_HIDE:String = "StoreHide";
public static const NO_USER:String = "NoUser";
public static const IO_ERROR:String = "IOError";
public static const ITEM_NEW:String = "ItemNew";
public static const ITEM_OWNED:String = "ItemOwned";
public static const STORE_ITEMS:String = "StoreItems";
public static const ERROR:String = "Error";
public static const STORE_SHOW:String = "StoreShow";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static var _inventory:MochiInventory;
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function getStoreItems():void{
MochiServices.send("coins_getStoreItems");
}
public static function get inventory():MochiInventory{
return (_inventory);
}
public static function showStore(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showStore", {options:_arg1}, null, null);
}
public static function requestFunding(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_requestFunding", _arg1);
}
public static function showItem(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showItem call must pass an Object with an item key");
return;
};
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showItem", {options:_arg1}, null, null);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showVideo(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showVideo call must pass an Object with an item key");
return;
};
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showVideo", {options:_arg1}, null, null);
}
addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{
_inventory = new MochiInventory();
});
addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{
_inventory = null;
});
}
}//package mochi.as3
Section 12
//MochiDigits (mochi.as3.MochiDigits)
package mochi.as3 {
public final class MochiDigits {
private var Sibling:MochiDigits;
private var Fragment:Number;
private var Encoder:Number;
public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{
Encoder = 0;
setValue(_arg1, _arg2);
}
public function reencode():void{
var _local1:uint = int((2147483647 * Math.random()));
Fragment = (Fragment ^ (_local1 ^ Encoder));
Encoder = _local1;
}
public function set value(_arg1:Number):void{
setValue(_arg1);
}
public function toString():String{
var _local1:String = String.fromCharCode((Fragment ^ Encoder));
if (Sibling != null){
_local1 = (_local1 + Sibling.toString());
};
return (_local1);
}
public function setValue(_arg1:Number=0, _arg2:uint=0):void{
var _local3:String = _arg1.toString();
var _temp1 = _arg2;
_arg2 = (_arg2 + 1);
Fragment = (_local3.charCodeAt(_temp1) ^ Encoder);
if (_arg2 < _local3.length){
Sibling = new MochiDigits(_arg1, _arg2);
} else {
Sibling = null;
};
reencode();
}
public function get value():Number{
return (Number(this.toString()));
}
public function addValue(_arg1:Number):void{
value = (value + _arg1);
}
}
}//package mochi.as3
Section 13
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher)
package mochi.as3 {
public class MochiEventDispatcher {
private var eventTable:Object;
public function MochiEventDispatcher():void{
eventTable = {};
}
public function triggerEvent(_arg1:String, _arg2:Object):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
return;
};
for (_local3 in eventTable[_arg1]) {
var _local6 = eventTable[_arg1];
_local6[_local3](_arg2);
};
}
public function removeEventListener(_arg1:String, _arg2:Function):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
eventTable[_arg1] = [];
return;
};
for (_local3 in eventTable[_arg1]) {
if (eventTable[_arg1][_local3] != _arg2){
} else {
eventTable[_arg1].splice(Number(_local3), 1);
};
};
}
public function addEventListener(_arg1:String, _arg2:Function):void{
removeEventListener(_arg1, _arg2);
eventTable[_arg1].push(_arg2);
}
}
}//package mochi.as3
Section 14
//MochiEvents (mochi.as3.MochiEvents)
package mochi.as3 {
import flash.display.*;
public class MochiEvents {
public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL";
public static const FORMAT_LONG:String = "LongForm";
public static const ALIGN_BOTTOM:String = "ALIGN_B";
public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived";
public static const FORMAT_SHORT:String = "ShortForm";
public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR";
public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR";
public static const ALIGN_TOP:String = "ALIGN_T";
public static const ALIGN_LEFT:String = "ALIGN_L";
public static const ALIGN_RIGHT:String = "ALIGN_R";
public static const ALIGN_TOP_LEFT:String = "ALIGN_TL";
public static const ALIGN_CENTER:String = "ALIGN_C";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
private static var gameStart:Number;
private static var levelStart:Number;
public static function endPlay():void{
MochiServices.send("events_clearRoundID", null, null, null);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function trackEvent(_arg1:String, _arg2=null):void{
MochiServices.send("events_trackEvent", {tag:_arg1, value:_arg2}, null, null);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function startSession(_arg1:String):void{
MochiServices.send("events_beginSession", {achievementID:_arg1}, null, null);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function setNotifications(_arg1:MovieClip, _arg2:Object):void{
var _local4:Object;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
_local3.clip = _arg1;
MochiServices.send("events_setNotifications", _local3, null, null);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function startPlay(_arg1:String="gameplay"):void{
MochiServices.send("events_setRoundID", {tag:String(_arg1)}, null, null);
}
}
}//package mochi.as3
Section 15
//MochiInventory (mochi.as3.MochiInventory)
package mochi.as3 {
import flash.events.*;
import flash.utils.*;
public dynamic class MochiInventory extends Proxy {
private var _timer:Timer;
private var _names:Array;
private var _syncID:Number;
private var _consumableProperties:Object;
private var _storeSync:Object;
private var _outstandingID:Number;
private var _syncPending:Boolean;
public static const READY:String = "InvReady";
public static const ERROR:String = "Error";
public static const IO_ERROR:String = "IoError";
private static const KEY_SALT:String = " syncMaint";
public static const WRITTEN:String = "InvWritten";
public static const NOT_READY:String = "InvNotReady";
public static const VALUE_ERROR:String = "InvValueError";
private static const CONSUMER_KEY:String = "MochiConsumables";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public function MochiInventory():void{
MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, itemOwned);
MochiCoins.addEventListener(MochiCoins.ITEM_NEW, newItems);
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, loggedIn);
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, loggedOut);
_storeSync = new Object();
_syncPending = false;
_outstandingID = 0;
_syncID = 0;
_timer = new Timer(1000);
_timer.addEventListener(TimerEvent.TIMER, sync);
_timer.start();
if (MochiSocial.loggedIn){
loggedIn();
} else {
loggedOut();
};
}
private function newItems(_arg1:Object):void{
if (!this[(_arg1.id + KEY_SALT)]){
this[(_arg1.id + KEY_SALT)] = 0;
};
if (!this[_arg1.id]){
this[_arg1.id] = 0;
};
this[(_arg1.id + KEY_SALT)] = (this[(_arg1.id + KEY_SALT)] + _arg1.count);
this[_arg1.id] = (this[_arg1.id] + _arg1.count);
if (((_arg1.privateProperties) && (_arg1.privateProperties.consumable))){
if (!this[_arg1.privateProperties.tag]){
this[_arg1.privateProperties.tag] = 0;
};
this[_arg1.privateProperties.tag] = (this[_arg1.privateProperties.tag] + (_arg1.privateProperties.inc * _arg1.count));
};
}
public function release():void{
MochiCoins.removeEventListener(MochiCoins.ITEM_NEW, newItems);
MochiSocial.removeEventListener(MochiSocial.LOGGED_IN, loggedIn);
MochiSocial.removeEventListener(MochiSocial.LOGGED_OUT, loggedOut);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return (-1);
};
if (_consumableProperties[_arg1]){
return (MochiDigits(_consumableProperties[_arg1]).value);
};
return (undefined);
}
private function loggedIn(_arg1:Object=null):void{
MochiUserData.get(CONSUMER_KEY, getConsumableBag);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return (false);
};
if (_consumableProperties[_arg1] == undefined){
return (false);
};
return (true);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{
return (((_arg1)>=_names.length) ? 0 : (_arg1 + 1));
}
private function putConsumableBag(_arg1:MochiUserData):void{
_syncPending = false;
if (_arg1.error){
triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error});
_outstandingID = -1;
};
triggerEvent(WRITTEN, {});
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{
var _local3:MochiDigits;
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return;
};
if (!(_arg2 is Number)){
triggerEvent(ERROR, {type:VALUE_ERROR, error:"Invalid type", arg:_arg2});
return;
};
if (_consumableProperties[_arg1]){
_local3 = MochiDigits(_consumableProperties[_arg1]);
if (_local3.value == _arg2){
return;
};
_local3.value = _arg2;
} else {
_names.push(_arg1);
_consumableProperties[_arg1] = new MochiDigits(_arg2);
};
_syncID++;
}
private function itemOwned(_arg1:Object):void{
_storeSync[_arg1.id] = {properties:_arg1.properties, count:_arg1.count};
}
private function sync(_arg1:Event=null):void{
var _local3:String;
if (((_syncPending) || ((_syncID == _outstandingID)))){
return;
};
_outstandingID = _syncID;
var _local2:Object = {};
for (_local3 in _consumableProperties) {
_local2[_local3] = MochiDigits(_consumableProperties[_local3]).value;
};
MochiUserData.put(CONSUMER_KEY, _local2, putConsumableBag);
_syncPending = true;
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{
return (_names[(_arg1 - 1)]);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{
if (!_consumableProperties[_arg1]){
return (false);
};
_names.splice(_names.indexOf(_arg1), 1);
delete _consumableProperties[_arg1];
return (true);
}
private function getConsumableBag(_arg1:MochiUserData):void{
var _local2:String;
var _local3:Number;
if (_arg1.error){
triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error});
return;
};
_consumableProperties = {};
_names = new Array();
if (_arg1.data){
for (_local2 in _arg1.data) {
_names.push(_local2);
_consumableProperties[_local2] = new MochiDigits(_arg1.data[_local2]);
};
};
for (_local2 in _storeSync) {
_local3 = _storeSync[_local2].count;
if (_consumableProperties[(_local2 + KEY_SALT)]){
_local3 = (_local3 - _consumableProperties[(_local2 + KEY_SALT)].value);
};
if (_local3 == 0){
} else {
newItems({id:_local2, count:_local3, properties:_storeSync[_local2].properties});
};
};
triggerEvent(READY, {});
}
private function loggedOut(_arg1:Object=null):void{
_consumableProperties = null;
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
}
}//package mochi.as3
Section 16
//MochiServices (mochi.as3.MochiServices)
package mochi.as3 {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiServices {
public static const CONNECTED:String = "onConnected";
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _queue:Array;
private static var _swfVersion:String;
private static var _preserved:Object;
public static var netupAttempted:Boolean = false;
private static var _sendChannel:LocalConnection;
private static var _nextCallbackID:Number;
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _id:String;
private static var _services:String = "services.swf";
private static var _servURL:String = "http://www.mochiads.com/static/lib/services/";
public static var widget:Boolean = false;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
private static var _callbacks:Object;
private static var _connecting:Boolean = false;
private static var _mochiLocalConnection:MovieClip;
private static var _listenChannelName:String = "__ms_";
public static var onError:Object;
public static var netup:Boolean = true;
private static var _mochiLC:String = "MochiLC.swf";
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function get connected():Boolean{
return (_connected);
}
private static function onReceive(_arg1:Object):void{
var methodName:String;
var pkg = _arg1;
var cb:String = pkg.callbackID;
var cblst:Object = _callbacks[cb];
if (!cblst){
return;
};
var method:* = cblst.callbackMethod;
methodName = "";
var obj:Object = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete _callbacks[cb];
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_nextCallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + _arg1));
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_queue.push({methodName:_arg1, args:_arg2, callbackID:_nextCallbackID});
};
if (_clip != null){
if (_callbacks != null){
_callbacks[_nextCallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_nextCallbackID++;
};
};
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{
var _local4:int;
var _local14:Loader;
var _local3:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23];
var _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
var _local6:Array = [0, 64, 0, 0, 0];
var _local7:MovieClip = new MovieClip();
var _local8:LocalConnection = new LocalConnection();
var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time));
_local8 = new LocalConnection();
_local7.lc = _local8;
_local7.click = _arg2;
_local8.client = _local7;
_local8.connect(_local9);
var _local10:ByteArray = new ByteArray();
var _local11:ByteArray = new ByteArray();
_local11.endian = Endian.LITTLE_ENDIAN;
_local11.writeShort(1);
_local11.writeUTFBytes(((_arg1 + " ") + _local9));
_local11.writeByte(0);
var _local12:uint = ((_local3.length + _local11.length) + 4);
var _local13:uint = (_local12 + 35);
_local10.endian = Endian.LITTLE_ENDIAN;
_local10.writeUTFBytes("FWS");
_local10.writeByte(8);
_local10.writeUnsignedInt(_local13);
for each (_local4 in _local5) {
_local10.writeByte(_local4);
};
_local10.writeUnsignedInt(_local12);
_local10.writeByte(136);
_local10.writeShort(_local11.length);
_local10.writeBytes(_local11);
for each (_local4 in _local3) {
_local10.writeByte(_local4);
};
for each (_local4 in _local6) {
_local10.writeByte(_local4);
};
_local14 = new Loader();
_local14.loadBytes(_local10);
_local7.addChild(_local14);
return (_local7);
}
private static function detach(_arg1:Event):void{
var _local2:LoaderInfo = LoaderInfo(_arg1.target);
_local2.removeEventListener(Event.COMPLETE, detach);
_local2.removeEventListener(IOErrorEvent.IO_ERROR, detach);
_local2.removeEventListener(Event.COMPLETE, loadLCBridgeComplete);
_local2.removeEventListener(IOErrorEvent.IO_ERROR, loadError);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
private static function loadLCBridgeComplete(_arg1:Event):void{
var _local2:Loader = LoaderInfo(_arg1.target).loader;
_mochiLocalConnection = MovieClip(_local2.content);
listen();
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_mochiLocalConnection.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
_timer.removeEventListener(TimerEvent.TIMER, connectWait);
_timer = null;
} catch(error:Error) {
};
};
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
if (Security.sandboxType != "application"){
Security.allowDomain("*");
Security.allowInsecureDomain("*");
};
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType != "application"){
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
};
return (_local2);
}
public static function getVersion():String{
return ("3.9.2 as3");
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
}
public static function warnID(_arg1:String, _arg2:Boolean):void{
_arg1 = _arg1.toLowerCase();
if (_arg1.length != 16){
trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length"));
return;
} else {
if (_arg1 == "1e113c7239048b3f"){
if (_arg2){
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
};
return;
} else {
if (_arg1 == "84993a1de4031cd8"){
if (_arg2){
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
};
return;
};
};
};
var _local3:Number = 0;
while (_local3 < _arg1.length) {
switch (_arg1.charAt(_local3)){
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "a":
case "b":
case "c":
case "d":
case "e":
case "f":
break;
default:
trace(("WARNING: Board ID contains illegal characters: " + _arg1));
return;
};
_local3++;
};
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (((_clip) && (_queue))){
while (_queue.length > 0) {
_local2 = _queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _callbacks[_local2.callbackID];
};
delete _callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
}
public static function get id():String{
return (_id);
}
private static function onEvent(_arg1:Object):void{
var _local2:String = _arg1.target;
var _local3:String = _arg1.event;
switch (_local2){
case "services":
MochiServices.triggerEvent(_arg1.event, _arg1.args);
break;
case "events":
MochiEvents.triggerEvent(_arg1.event, _arg1.args);
break;
case "coins":
MochiCoins.triggerEvent(_arg1.event, _arg1.args);
break;
case "social":
MochiSocial.triggerEvent(_arg1.event, _arg1.args);
break;
};
}
private static function urlOptions(_arg1:Object):Object{
var _local3:String;
var _local4:Array;
var _local5:Number;
var _local6:Array;
var _local2:Object = {};
if (_arg1.stage){
_local3 = _arg1.stage.loaderInfo.parameters.mochiad_options;
} else {
_local3 = _arg1.loaderInfo.parameters.mochiad_options;
};
if (_local3){
_local4 = _local3.split("&");
_local5 = 0;
while (_local5 < _local4.length) {
_local6 = _local4[_local5].split("=");
_local2[unescape(_local6[0])] = unescape(_local6[1]);
_local5++;
};
};
return (_local2);
}
public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{
var avm1Click:DisplayObject;
var x:String;
var req:URLRequest;
var loader:Loader;
var setURL:Function;
var err:Function;
var complete:Function;
var url = _arg1;
var burl = _arg2;
var btn = _arg3;
var onClick = _arg4;
var vars:Object = new Object();
vars["mav"] = getVersion();
vars["swfv"] = "9";
vars["swfurl"] = btn.loaderInfo.loaderURL;
vars["fv"] = Capabilities.version;
vars["os"] = Capabilities.os;
vars["lang"] = Capabilities.language;
vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY);
var s = "?";
var i:Number = 0;
for (x in vars) {
if (i != 0){
s = (s + "&");
};
i = (i + 1);
s = (((s + x) + "=") + escape(vars[x]));
};
req = new URLRequest("http://link.mochiads.com/linkping.swf");
loader = new Loader();
setURL = function (_arg1:String):void{
if (avm1Click){
btn.removeChild(avm1Click);
};
avm1Click = clickMovie(_arg1, onClick);
var _local2:Rectangle = btn.getBounds(btn);
btn.addChild(avm1Click);
avm1Click.x = _local2.x;
avm1Click.y = _local2.y;
avm1Click.scaleX = (0.01 * _local2.width);
avm1Click.scaleY = (0.01 * _local2.height);
};
err = function (_arg1:Object):void{
netup = false;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
setURL(burl);
};
complete = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
if (netup){
setURL((url + s));
} else {
setURL(burl);
};
if (!((netupAttempted) || (_connected))){
netupAttempted = true;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(req);
};
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_clip.parent){
_clip.parent.removeChild(_clip);
};
if (_arg1 != null){
if ((_arg1 is DisplayObjectContainer)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is DisplayObjectContainer)){
DisplayObjectContainer(_container).addChild(_clip);
};
};
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
if (((!((args.options == null))) && (!((args.options.onError == null))))){
args.options.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
private static function loadError(_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
}
public static function get childClip():Object{
return (_clip);
}
private static function initComChannels():void{
if (!_connected){
trace("[SERVICES_API] connected!");
_connecting = false;
_connected = true;
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_clip.onReceive = onReceive;
_clip.onEvent = onEvent;
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
while (_queue.length > 0) {
_mochiLocalConnection.send(_sendChannelName, "onReceive", _queue.shift());
};
};
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
private static function listen():void{
_mochiLocalConnection.connect(_listenChannelName);
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
trace("Waiting for MochiAds services to connect...");
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
private static function loadLCBridge(_arg1:Object):void{
var _local2:Loader = new Loader();
var _local3:String = (_servURL + _mochiLC);
var _local4:URLRequest = new URLRequest(_local3);
_local2.contentLoaderInfo.addEventListener(Event.COMPLETE, detach);
_local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach);
_local2.contentLoaderInfo.addEventListener(Event.COMPLETE, loadLCBridgeComplete);
_local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
_local2.load(_local4);
_arg1.addChild(_local2);
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
initComChannels();
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
if (urlOptions(_arg2).servURL){
_servURL = urlOptions(_arg2).servURL;
};
var _local3:String = (_servURL + _services);
if (urlOptions(_arg2).servicesURL){
_local3 = urlOptions(_arg2).servicesURL;
};
_listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999))));
MochiServices.allowDomains(_local3);
_clip = new MovieClip();
loadLCBridge(_clip);
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, detach);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
var _local4:URLRequest = new URLRequest(_local3);
var _local5:URLVariables = new URLVariables();
_local5.listenLC = _listenChannelName;
_local5.mochiad_options = _arg2.loaderInfo.parameters.mochiad_options;
_local5.api_version = getVersion();
if (widget){
_local5.widget = true;
};
_local4.data = _local5;
_loader.load(_local4);
_clip.addChild(_loader);
_sendChannel = new LocalConnection();
_queue = [];
_nextCallbackID = 0;
_callbacks = {};
_timer = new Timer(10000, 1);
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
return (_clip);
}
public static function get clip():Object{
return (_container);
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
warnID(id, false);
if ((clip is DisplayObject)){
if (clip.stage == null){
trace("MochiServices connect requires the containing clip be attached to the stage");
};
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function bringToTop(_arg1:Event=null):void{
var e = _arg1;
if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
}
public static function connectWait(_arg1:TimerEvent):void{
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load. (timeout)");
MochiServices.disconnect();
MochiServices.onError("IOError");
} else {
_timer.stop();
_timer.removeEventListener(TimerEvent.TIMER, connectWait);
_timer = null;
};
}
}
}//package mochi.as3
Section 17
//MochiSocial (mochi.as3.MochiSocial)
package mochi.as3 {
public class MochiSocial {
public static const LOGGED_IN:String = "LoggedIn";
public static const ACTION_CANCELED:String = "onCancel";
public static const PROPERTIES_SIZE:String = "PropertiesSize";
public static const IO_ERROR:String = "IOError";
public static const NO_USER:String = "NoUser";
public static const FRIEND_LIST:String = "FriendsList";
public static const PROFILE_DATA:String = "ProfileData";
public static const GAMEPLAY_DATA:String = "GameplayData";
public static const ACTION_COMPLETE:String = "onComplete";
public static const LOGIN_SHOW:String = "LoginShow";
public static const PROFILE_HIDE:String = "ProfileHide";
public static const USER_INFO:String = "UserInfo";
public static const PROPERTIES_SAVED:String = "PropertySaved";
public static const WIDGET_LOADED:String = "WidgetLoaded";
public static const ERROR:String = "Error";
public static const LOGGED_OUT:String = "LoggedOut";
public static const PROFILE_SHOW:String = "ProfileShow";
public static const LOGIN_HIDE:String = "LoginHide";
public static const LOGIN_SHOWN:String = "LoginShown";
public static var _user_info:Object = null;
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static function requestFan(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_requestFan", _arg1);
}
public static function postToStream(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_postToStream", _arg1);
}
public static function getFriendsList(_arg1:Object=null):void{
MochiServices.send("social_getFriendsList", _arg1);
}
public static function requestLogin(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_requestLogin", _arg1);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function saveUserProperties(_arg1:Object):void{
MochiServices.send("social_saveUserProperties", _arg1);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function inviteFriends(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_inviteFriends", _arg1);
}
public static function get loggedIn():Boolean{
return (!((_user_info == null)));
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function showLoginWidget(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_showLoginWidget", {options:_arg1});
}
public static function getAPIURL():String{
if (!_user_info){
return (null);
};
return (_user_info.api_url);
}
public static function hideLoginWidget():void{
MochiServices.send("social_hideLoginWidget");
}
public static function getAPIToken():String{
if (!_user_info){
return (null);
};
return (_user_info.api_token);
}
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{
_user_info = _arg1;
});
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{
_user_info = null;
});
}
}//package mochi.as3
Section 18
//MochiUserData (mochi.as3.MochiUserData)
package mochi.as3 {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
public class MochiUserData extends EventDispatcher {
public var callback:Function;// = null
public var operation:String;// = null
public var error:Event;// = null
public var data;// = null
public var _loader:URLLoader;
public var key:String;// = null
public function MochiUserData(_arg1:String="", _arg2:Function=null){
this.key = _arg1;
this.callback = _arg2;
}
public function serialize(_arg1):ByteArray{
var _local2:ByteArray = new ByteArray();
_local2.objectEncoding = ObjectEncoding.AMF3;
_local2.writeObject(_arg1);
_local2.compress();
return (_local2);
}
public function errorHandler(_arg1:IOErrorEvent):void{
data = null;
error = _arg1;
if (callback != null){
performCallback();
} else {
dispatchEvent(_arg1);
};
close();
}
public function putEvent(_arg1):void{
request("put", serialize(_arg1));
}
public function deserialize(_arg1:ByteArray){
_arg1.objectEncoding = ObjectEncoding.AMF3;
_arg1.uncompress();
return (_arg1.readObject());
}
public function securityErrorHandler(_arg1:SecurityErrorEvent):void{
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _arg1.toString())));
}
public function getEvent():void{
request("get", serialize(null));
}
override public function toString():String{
return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + key) + "\" data=") + data) + " error=\"") + error) + "\"]"));
}
public function performCallback():void{
try {
callback(this);
} catch(e:Error) {
trace(("[MochiUserData] exception during callback: " + e));
};
}
public function request(_arg1:String, _arg2:ByteArray):void{
var _operation = _arg1;
var _data = _arg2;
operation = _operation;
var api_url:String = MochiSocial.getAPIURL();
var api_token:String = MochiSocial.getAPIToken();
if ((((api_url == null)) || ((api_token == null)))){
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, "not logged in"));
return;
};
_loader = new URLLoader();
var args:URLVariables = new URLVariables();
args.op = _operation;
args.key = key;
var req:URLRequest = new URLRequest((((MochiSocial.getAPIURL() + "/") + "MochiUserData?") + args.toString()));
req.method = URLRequestMethod.POST;
req.contentType = "application/x-mochi-userdata";
req.requestHeaders = [new URLRequestHeader("x-mochi-services-version", MochiServices.getVersion()), new URLRequestHeader("x-mochi-api-token", api_token)];
req.data = _data;
_loader.dataFormat = URLLoaderDataFormat.BINARY;
_loader.addEventListener(Event.COMPLETE, completeHandler);
_loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
_loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
try {
_loader.load(req);
} catch(e:SecurityError) {
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + e.toString())));
};
}
public function completeHandler(_arg1:Event):void{
var event = _arg1;
try {
if (_loader.data.length){
data = deserialize(_loader.data);
} else {
data = null;
};
} catch(e:Error) {
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("deserialize error: " + e.toString())));
return;
};
if (callback != null){
performCallback();
} else {
dispatchEvent(event);
};
close();
}
public function close():void{
if (_loader){
_loader.removeEventListener(Event.COMPLETE, completeHandler);
_loader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler);
_loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
_loader.close();
_loader = null;
};
error = null;
callback = null;
}
public static function get(_arg1:String, _arg2:Function):void{
var _local3:MochiUserData = new MochiUserData(_arg1, _arg2);
_local3.getEvent();
}
public static function put(_arg1:String, _arg2, _arg3:Function):void{
var _local4:MochiUserData = new MochiUserData(_arg1, _arg3);
_local4.putEvent(_arg2);
}
}
}//package mochi.as3
Section 19
//didi_logo_405 (skeleton_fla.didi_logo_405)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class didi_logo_405 extends MovieClip {
public var fButton:MovieClip;
public function didi_logo_405(){
addFrameScript(0, frame1);
}
function frame1(){
fButton.addEventListener(MouseEvent.CLICK, fButtonClicked);
}
public function fButtonClicked(_arg1:MouseEvent){
var urlRequest:URLRequest;
var e = _arg1;
try {
urlRequest = new URLRequest("http://www.didigames.com/");
navigateToURL(urlRequest, "_blank");
} catch(e:Error) {
};
}
}
}//package skeleton_fla
Section 20
//DressUpGalPreloader_39 (skeleton_fla.DressUpGalPreloader_39)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import steve.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class DressUpGalPreloader_39 extends MovieClip {
public var Blanco:MovieClip;
public var mySound:Sound;
public var Btn:SimpleButton;
public var channel1:SoundChannel;
public var mySound2:Sound;
public var vol:Number;
public var stat;
public var loadingTime:int;
public var ct:int;
public var DEBUG:Boolean;
public var preloader:MovieClip;
public var barra_mc:MovieClip;
public var Duplicar:Boolean;
public function DressUpGalPreloader_39(){
addFrameScript(0, frame1, 1, frame2, 9, frame10, 10, frame11, 48, frame49);
}
function frame10(){
preloader.visible = true;
preloader.mouseEnabled = true;
}
public function OnSkip(_arg1:MouseEvent){
gotoAndPlay(10);
Blanco.gotoAndPlay(2);
this.Btn.visible = false;
}
function frame1(){
cobrand.StageStop();
DEBUG = false;
cobrand.GetStage().frameRate = 12;
stat = 0;
addEventListener(Event.ENTER_FRAME, loading);
ct = 0;
loadingTime = 90;
vol = 1;
Duplicar = false;
mySound = new preloaderSound();
channel1 = new SoundChannel();
channel1 = mySound.play();
stop();
Btn.addEventListener(MouseEvent.CLICK, OnSkip);
preloader.visible = false;
preloader.mouseEnabled = false;
preloader.buttonMode = true;
preloader.useHandCursor = true;
preloader.addEventListener(MouseEvent.CLICK, OnLogoClick);
}
public function OnLogoClick(_arg1:MouseEvent){
trace("LOGO CLICKED");
navigateToURL(new URLRequest("http://www.dressupgal.com/index.php?action=branded"), "_blank");
}
function frame11(){
channel1.stop();
mySound2 = new gals();
mySound2.play();
preloader.visible = true;
preloader.mouseEnabled = true;
}
function frame49(){
trace("DONE LOADING");
stop();
stat = 1;
}
function frame2(){
preloader.visible = true;
preloader.mouseEnabled = true;
}
public function loading(_arg1:Event){
var _local6:SoundTransform;
loadingTime++;
var _local2:* = cobrand.GetStage().loaderInfo.bytesTotal;
var _local3:* = cobrand.GetStage().loaderInfo.bytesLoaded;
var _local4:* = Math.round(((_local3 * 100) / _local2));
var _local5:Number = (_local3 / _local2);
if (barra_mc){
barra_mc.gotoAndStop(_local4);
};
if (_local3 >= _local2){
barra_mc.alpha = 0;
ct = 1;
};
if ((((((stat == 1)) && ((ct >= 1)))) || (DEBUG))){
cobrand.GetStage().frameRate = 40;
cobrand.gotoMainMenu();
removeEventListener(Event.ENTER_FRAME, loading);
};
if (((channel1) && (mySound))){
_local6 = channel1.soundTransform;
_local6.volume = (vol - 0.05);
channel1.soundTransform = _local6;
};
}
}
}//package skeleton_fla
Section 21
//DressUpPinkLOGO_232 (skeleton_fla.DressUpPinkLOGO_232)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import steve.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class DressUpPinkLOGO_232 extends MovieClip {
public var type:int;
public function DressUpPinkLOGO_232(){
addFrameScript(0, frame1);
}
public function OnOver(_arg1:MouseEvent){
gotoAndStop(2);
}
public function OnClick(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.dressuppink.com/index.php?action=branded"), "_blank");
}
function frame1(){
stop();
type = 1;
if (type == 1){
this.buttonMode = true;
this.useHandCursor = true;
this.addEventListener(MouseEvent.CLICK, OnClick);
this.addEventListener(MouseEvent.MOUSE_OVER, OnOver);
this.addEventListener(MouseEvent.MOUSE_OUT, OnOut);
} else {
if (type == 2){
gotoAndStop(3);
};
};
}
public function OnOut(_arg1:MouseEvent){
gotoAndStop(1);
}
}
}//package skeleton_fla
Section 22
//DressupPinkPRELOADER_3 (skeleton_fla.DressupPinkPRELOADER_3)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import steve.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class DressupPinkPRELOADER_3 extends MovieClip {
public var bar:MovieClip;
public var mySound:Sound;
public var logo:MovieClip;
public var channel1:SoundChannel;
public var loadingTime:int;
public var ct:int;
public var DEBUG:Boolean;
public var loadText:TextField;
public function DressupPinkPRELOADER_3(){
addFrameScript(0, frame1, 1, frame2, 64, frame65, 89, frame90, 109, frame110);
}
function frame1(){
cobrand.StageStop();
DEBUG = false;
if (DEBUG){
gotoAndStop(90);
};
}
function frame2(){
mySound = new preloaderBGM();
channel1 = new SoundChannel();
channel1 = mySound.play();
}
public function GotoSapi(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.dressuppink.com/index.php?action=branded"), "_blank");
}
function frame65(){
logo.buttonMode = true;
logo.useHandCursor = true;
logo.addEventListener(MouseEvent.CLICK, GotoSapi);
logo.alpha = 0;
}
public function loading(_arg1:Event){
var _local6:int;
loadingTime++;
var _local2:* = cobrand.GetStage().loaderInfo.bytesTotal;
var _local3:* = cobrand.GetStage().loaderInfo.bytesLoaded;
var _local4:* = Math.round(((_local3 * 100) / _local2));
var _local5:Number = (_local3 / _local2);
if (loadText){
loadText.text = (("Loading " + _local4) + "%");
};
if (bar){
_local6 = ((_local4 > 100)) ? 100 : _local4;
bar.gotoAndStop(_local6);
};
if (_local3 >= _local2){
ct = 1;
};
if ((((((loadingTime >= 175)) && ((ct >= 1)))) || (DEBUG))){
trace("100%");
cobrand.gotoMainMenu();
removeEventListener(Event.ENTER_FRAME, loading);
};
}
function frame110(){
gotoAndPlay("looping");
}
function frame90(){
addEventListener(Event.ENTER_FRAME, loading);
ct = 0;
loadingTime = 90;
}
}
}//package skeleton_fla
Section 23
//FacebookBtn_230 (skeleton_fla.FacebookBtn_230)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import steve.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class FacebookBtn_230 extends MovieClip {
public var type:int;
public function FacebookBtn_230(){
addFrameScript(0, frame1);
}
public function OnOver(_arg1:MouseEvent){
gotoAndStop(2);
}
public function OnClick(_arg1:MouseEvent){
if (type == 1){
navigateToURL(new URLRequest("http://www.facebook.com/pages/Dress-Up/365451861425"), "_blank");
} else {
if (type == 2){
navigateToURL(new URLRequest("http://www.facebook.com/pages/Dress-Up-Games/173526978525"), "_blank");
};
};
}
function frame1(){
this.buttonMode = true;
this.useHandCursor = true;
this.addEventListener(MouseEvent.CLICK, OnClick);
this.addEventListener(MouseEvent.MOUSE_OVER, OnOver);
this.addEventListener(MouseEvent.MOUSE_OUT, OnOut);
stop();
if (this.parent){
cobrand.CheckMoreGamesBtn(this.parent);
};
type = cobrand.GetMajorBrand();
}
public function OnOut(_arg1:MouseEvent){
gotoAndStop(1);
}
}
}//package skeleton_fla
Section 24
//flag_icon_322 (skeleton_fla.flag_icon_322)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class flag_icon_322 extends MovieClip {
public function flag_icon_322(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package skeleton_fla
Section 25
//LARA_BUSTED_129 (skeleton_fla.LARA_BUSTED_129)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class LARA_BUSTED_129 extends MovieClip {
public function LARA_BUSTED_129(){
addFrameScript(69, frame70);
}
function frame70(){
stop();
}
}
}//package skeleton_fla
Section 26
//LARA_HAPPY_137 (skeleton_fla.LARA_HAPPY_137)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class LARA_HAPPY_137 extends MovieClip {
public function LARA_HAPPY_137(){
addFrameScript(19, frame20);
}
function frame20(){
}
}
}//package skeleton_fla
Section 27
//MusicBtn_245 (skeleton_fla.MusicBtn_245)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class MusicBtn_245 extends MovieClip {
public function MusicBtn_245(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package skeleton_fla
Section 28
//QualityBtn_246 (skeleton_fla.QualityBtn_246)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class QualityBtn_246 extends MovieClip {
public function QualityBtn_246(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package skeleton_fla
Section 29
//S_58 (skeleton_fla.S_58)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class S_58 extends MovieClip {
public var Parte_10:MovieClip;
public var Parte_0:MovieClip;
public var Parte_1:MovieClip;
public var Parte_2:MovieClip;
public var Parte_3:MovieClip;
public var Parte_4:MovieClip;
public var Parte_5:MovieClip;
public var Parte_6:MovieClip;
public var Parte_7:MovieClip;
public var logo:SimpleButton;
public var Parte_9:MovieClip;
public var Parte_8:MovieClip;
public function S_58(){
addFrameScript(0, frame1, 28, frame29, 48, frame49);
}
public function OnLogoClick(_arg1:MouseEvent){
trace("LOGO CLICKED");
navigateToURL(new URLRequest("http://www.dressupgal.com/index.php?action=branded"), "_blank");
}
function frame1(){
logo.addEventListener(MouseEvent.CLICK, OnLogoClick);
}
function frame29(){
i = 0;
while (i < 11) {
this[("Parte_" + i)].gotoAndStop(3);
i++;
};
}
function frame49(){
this.parent.gotoAndPlay(2);
}
}
}//package skeleton_fla
Section 30
//S_60 (skeleton_fla.S_60)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class S_60 extends MovieClip {
public function S_60(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package skeleton_fla
Section 31
//S_62 (skeleton_fla.S_62)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class S_62 extends MovieClip {
public function S_62(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package skeleton_fla
Section 32
//S_64 (skeleton_fla.S_64)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class S_64 extends MovieClip {
public function S_64(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package skeleton_fla
Section 33
//S_65 (skeleton_fla.S_65)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class S_65 extends MovieClip {
public function S_65(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package skeleton_fla
Section 34
//S_67 (skeleton_fla.S_67)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class S_67 extends MovieClip {
public function S_67(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package skeleton_fla
Section 35
//S_69 (skeleton_fla.S_69)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class S_69 extends MovieClip {
public function S_69(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package skeleton_fla
Section 36
//S_81 (skeleton_fla.S_81)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class S_81 extends MovieClip {
public function S_81(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package skeleton_fla
Section 37
//SFXBtn_247 (skeleton_fla.SFXBtn_247)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class SFXBtn_247 extends MovieClip {
public function SFXBtn_247(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
}
}//package skeleton_fla
Section 38
//sprite41_43 (skeleton_fla.sprite41_43)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class sprite41_43 extends MovieClip {
public var boca:MovieClip;
public var shine:MovieClip;
public var pelo:MovieClip;
public var ceja:MovieClip;
public var skin:MovieClip;
public var ojos:MovieClip;
public function sprite41_43(){
addFrameScript(36, frame37);
}
function frame37(){
stop();
}
}
}//package skeleton_fla
Section 39
//StevePRELOADER_1 (skeleton_fla.StevePRELOADER_1)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import steve.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class StevePRELOADER_1 extends MovieClip {
public var mc:MovieClip;
public function StevePRELOADER_1(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
mc.visible = false;
cobrand.InitPreloader(this);
}
}
}//package skeleton_fla
Section 40
//Symbol2_40 (skeleton_fla.Symbol2_40)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class Symbol2_40 extends MovieClip {
public function Symbol2_40(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package skeleton_fla
Section 41
//y8_pre_004_23 (skeleton_fla.y8_pre_004_23)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class y8_pre_004_23 extends MovieClip {
public function y8_pre_004_23(){
addFrameScript(24, frame25);
}
function frame25(){
gotoAndPlay(1);
}
}
}//package skeleton_fla
Section 42
//y8_pre_012_35 (skeleton_fla.y8_pre_012_35)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class y8_pre_012_35 extends MovieClip {
public function y8_pre_012_35(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
}
}
}//package skeleton_fla
Section 43
//y8_pre_026_25 (skeleton_fla.y8_pre_026_25)
package skeleton_fla {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class y8_pre_026_25 extends MovieClip {
public function y8_pre_026_25(){
addFrameScript(0, frame1);
}
public function OnLogo(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.y8.com"), "blank");
}
function frame1(){
this.addEventListener(MouseEvent.CLICK, OnLogo);
}
}
}//package skeleton_fla
Section 44
//Brand (spill.localisation.Brand)
package spill.localisation {
import flash.xml.*;
public class Brand {
public var domain:String;
public var emailPage:String;
public var name:String;
public var site_id:uint;
public var isExternal:Boolean;// = false
public var id:Number;
public var hostingDomain:String;// = ""
public var preferedLanguage:String;// = ""
public var moreLink:String;// = ""
public var hasSendToFriendLink:Boolean;// = true
public var emailLink:String;// = "game"
public var portalGroup:uint;
public var useGoogleAnalitics:Boolean;// = true
private static const topLevelDoubles:String = ((((((((((((((("ac.cn,ac.jp,ac.uk,ad.jp,adm.br,adv.br,agr.br," + "ah.cn,am.br,arq.br,art.br,asn.au,ato.br,av.tr,bel.tr,bio.br,biz.tr,bj.cn,bmd.br,") + "cim.br,cng.br,cnt.br,co.at,co.jp,co.uk,com.au,com.br,com.cn,com.eg,com.hk,com.mx,") + "com.ru,com.tr,com.tw,conf.au,cq.cn,csiro.au,dr.tr,ecn.br,edu.au,edu.br,edu.tr,") + "emu.id.au,eng.br,esp.br,etc.br,eti.br,eun.eg,far.br,fj.cn,fm.br,fnd.br,fot.br,") + "fst.br,g12.br,gb.com,gb.net,gd.cn,gen.tr,ggf.br,gob.mx,gov.au,gov.br,gov.cn,") + "gov.hk,gov.tr,gr.jp,gs.cn,gx.cn,gz.cn,ha.cn,hb.cn,he.cn,hi.cn,hk.cn,hl.cn,hn.cn,") + "id.au,idv.tw,imb.br,ind.br,inf.br,info.au,info.tr,jl.cn,jor.br,js.cn,jx.cn,k12.tr,") + "lel.br,ln.cn,ltd.uk,mat.br,me.uk,med.br,mil.br,mil.tr,mo.cn,mus.br,name.tr,ne.jp,") + "net.au,net.br,net.cn,net.eg,net.hk,net.lu,net.mx,net.ru,net.tr,net.tw,net.uk,") + "nm.cn,no.com,nom.br,not.br,ntr.br,nx.cn,odo.br,oop.br,or.at,or.jp,org.au,org.br,") + "org.cn,org.hk,org.lu,org.ru,org.tr,org.tw,org.uk,plc.uk,pol.tr,pp.ru,ppg.br,pro.br,") + "psc.br,psi.br,qh.cn,qsl.br,rec.br,sc.cn,sd.cn,se.com,se.net,sh.cn,slg.br,sn.cn,") + "srv.br,sx.cn,tel.tr,tj.cn,tmp.br,trd.br,tur.br,tv.br,tw.cn,uk.com,uk.net,vet.br,") + "wattle.id.au,web.tr,xj.cn,xz.cn,yn.cn,zj.cn,zlg.br,co.nr,co.nz,com.fr,com.ph,com.ar,") + "com.id,com.in");
private function get utm_campaign():String{
if (isExternal){
return (("utm_campaign=" + hostingDomain));
};
return ("");
}
public function exportXML():XML{
var _local3:XML;
var _local1:XML = <portal/>
;
_local1.@id = site_id;
_local1.@language = preferedLanguage;
_local1.@channel = portalGroup;
var _local2:XML = <domain/>
;
_local2.appendChild(new XMLNode(3, domain));
_local1.appendChild(_local2);
if (moreLink){
_local3 = <more_games_path/>
;
_local3.appendChild(new XMLNode(3, moreLink));
_local1.appendChild(_local3);
};
_local2 = <game_path/>
;
_local2.appendChild(new XMLNode(3, emailLink));
_local1.appendChild(_local2);
if (!useGoogleAnalitics){
_local1.attributes.noGoogleAnalitics = true;
};
if (!hasSendToFriendLink){
_local1.attributes.noSendToFriendLink = true;
};
return (_local1);
}
public function getPromotionLink(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:String="", _arg5:String=""):String{
var _local6:String = ("http://" + domain);
_local6 = (_local6 + ((("/" + emailLink) + "/") + _arg2));
if (useGoogleAnalitics){
_local6 = (_local6 + ("?utm_medium=brandedgames_" + (_arg3) ? "external" : "internal"));
_local6 = (_local6 + ("&utm_campaign=" + _arg1));
_arg4 = stripSubDomain(_arg4);
trace(_arg4);
if (_arg4 == "localhost"){
_arg4 = "offline_play";
};
_local6 = (_local6 + ("&utm_source=" + _arg4));
if (((!((_arg5 == ""))) && (!((_arg5 == null))))){
_local6 = (_local6 + ("&utm_content=" + _arg5));
};
};
return (_local6);
}
private function get utm_source():String{
return (("utm_source=brandedgames_" + (isExternal) ? "external" : "internal"));
}
public function getMoreGamesLink(_arg1:String, _arg2:Boolean, _arg3:String="", _arg4:String=""):String{
var _local5:String = ("http://" + domain);
_local5 = (_local5 + ("/" + moreLink));
if (useGoogleAnalitics){
_local5 = (_local5 + ("?utm_medium=brandedgames_" + (_arg2) ? "external" : "internal"));
_local5 = (_local5 + ("&utm_campaign=" + _arg1));
_arg3 = stripSubDomain(_arg3);
if (_arg3 == "localhost"){
_arg3 = "offline_play";
};
_local5 = (_local5 + ("&utm_source=" + _arg3));
if (((!((_arg4 == ""))) && (!((_arg4 == null))))){
_local5 = (_local5 + ("&utm_content=" + _arg4));
};
};
return (_local5);
}
public function get backgroundColor():uint{
return (PortalGroup.backgroundColors[portalGroup]);
}
private function get utm_term():String{
return ("utm_term=");
}
public function importXML(_arg1:XMLNode):void{
}
public function getSendToFriendLink(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:String=""):String{
if (!hasSendToFriendLink){
return (getMoreGamesLink(_arg1, _arg3));
};
var _local5:String = ("http://" + domain);
_local5 = (_local5 + ((("/" + emailLink) + "/") + _arg2));
if (useGoogleAnalitics){
_local5 = (_local5 + ("?utm_medium=brandedgames_" + (_arg3) ? "external" : "internal"));
_local5 = (_local5 + ("&utm_campaign=" + _arg1));
_arg4 = stripSubDomain(_arg4);
if (_arg4 == "localhost"){
_arg4 = "offline_play";
};
_local5 = (_local5 + ("&utm_source=" + _arg4));
_local5 = (_local5 + "&utm_content=send_to_friend");
};
return (_local5);
}
public static function stripSubDomain(_arg1:String):String{
if (!_arg1){
return ("");
};
var _local2:Array = _arg1.split(".");
if (_local2.length <= 2){
return (_arg1);
};
_local2 = _local2.reverse();
if (topLevelDoubles.indexOf((((_local2[1] + ".") + _local2[0]) + ",")) > 0){
return (((((_local2[2] + ".") + _local2[1]) + ".") + _local2[0]));
};
return (((_local2[1] + ".") + _local2[0]));
}
}
}//package spill.localisation
Section 45
//BrandingLogo (spill.localisation.BrandingLogo)
package spill.localisation {
import flash.display.*;
import flash.events.*;
public class BrandingLogo extends MovieClip {
public function BrandingLogo(){
addFrameScript(0, frame1);
super();
stop();
mouseEnabled = false;
mouseChildren = false;
addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true);
if (stage){
added();
};
brandingChanged();
}
private function added(_arg1:Event=null):void{
SpilGame.addEventListener("brandingChanged", brandingChanged, false, 0, true);
brandingChanged();
}
private function brandingChanged(_arg1:Event=null):void{
if (SpilGame.currentBranding){
gotoAndStop(SpilGame.currentBranding.domain);
};
}
function frame1(){
stop();
}
private function removed(_arg1:Event):void{
SpilGame.removeEventListener("brandingChanged", brandingChanged);
}
}
}//package spill.localisation
Section 46
//Brandings (spill.localisation.Brandings)
package spill.localisation {
public class Brandings {
private static var brands_by_id:Object = new Object();
private static var brands_by_domain:Object = new Object();
public static function getBrandByID(_arg1:Number):Brand{
return (brands_by_id[_arg1]);
}
public static function getBrandsArray():Array{
var _local2:Brand;
var _local1:Array = new Array();
for each (_local2 in brands_by_domain) {
_local1.push(_local2);
};
return (_local1);
}
private static function addBrand(_arg1:Brand):Brand{
if (brands_by_domain[_arg1.domain]){
trace(("ERROR: Attempting to add duplicate brand by domain: " + _arg1.domain));
} else {
brands_by_domain[_arg1.domain] = _arg1;
};
if (brands_by_id[_arg1.site_id]){
trace(("ERROR: Attempting to add duplicate brand by id: " + _arg1.site_id));
} else {
brands_by_id[_arg1.site_id] = _arg1;
};
return (_arg1);
}
public static function initialize():void{
var _local1:Brand;
_local1 = new Brand();
_local1.site_id = 79;
_local1.domain = "www.agame.com";
_local1.preferedLanguage = "en_us";
_local1.portalGroup = PortalGroup.TEENS;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 88;
_local1.domain = "www.gamesgames.com";
_local1.preferedLanguage = "en_us";
_local1.portalGroup = PortalGroup.FAMILY;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 90;
_local1.domain = "www.girlsgogames.com";
_local1.preferedLanguage = "en_us";
_local1.portalGroup = PortalGroup.GIRL;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 45;
_local1.domain = "www.a10.com";
_local1.preferedLanguage = "en_us";
_local1.portalGroup = PortalGroup.YOUNG_ADULTS;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 92;
_local1.domain = "www.games.co.uk";
_local1.preferedLanguage = "en_uk";
_local1.portalGroup = PortalGroup.FAMILY;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 107;
_local1.domain = "www.agame.co.uk";
_local1.preferedLanguage = "en_uk";
_local1.portalGroup = PortalGroup.TEENS;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 102;
_local1.domain = "www.girlsgogames.co.uk";
_local1.preferedLanguage = "en_uk";
_local1.portalGroup = PortalGroup.GIRL;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 2;
_local1.domain = "www.game.com.cn";
_local1.moreLink = "moregames/";
_local1.preferedLanguage = "cn";
_local1.portalGroup = PortalGroup.NONE;
_local1.useGoogleAnalitics = false;
_local1.hasSendToFriendLink = false;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 25;
_local1.domain = "www.spel.nl";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "nl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 1;
_local1.domain = "www.spelletjes.nl";
_local1.emailLink = "spel";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "nl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 93;
_local1.domain = "www.girlsgogames.nl";
_local1.emailLink = "spel";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "nl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 12;
_local1.domain = "www.jeu.fr";
_local1.emailLink = "jeu";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "fr";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 95;
_local1.domain = "www.girlsgogames.fr";
_local1.emailLink = "jeu";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "fr";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 11;
_local1.domain = "www.jeux.fr";
_local1.emailLink = "jeu";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "fr";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 26;
_local1.domain = "www.spielen.com";
_local1.emailLink = "spiel";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "de";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 94;
_local1.domain = "www.girlsgogames.de";
_local1.emailLink = "spiel";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "de";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 5;
_local1.domain = "www.jetztspielen.de";
_local1.emailLink = "spiel";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "de";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 109;
_local1.domain = "www.minigry.pl";
_local1.emailLink = "gra";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "pl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 16;
_local1.domain = "www.gry.pl";
_local1.emailLink = "gra";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "pl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 98;
_local1.domain = "www.girlsgogames.pl";
_local1.emailLink = "gra";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "pl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 108;
_local1.domain = "www.spel.se";
_local1.emailLink = "spel_";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "se";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 100;
_local1.domain = "www.girlsgogames.se";
_local1.emailLink = "spel_";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "se";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 44;
_local1.domain = "www.spela.se";
_local1.emailLink = "spel_";
_local1.preferedLanguage = "se";
_local1.portalGroup = PortalGroup.FAMILY;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 106;
_local1.domain = "www.giocaregratis.it";
_local1.emailLink = "gioco";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "it";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 15;
_local1.domain = "www.gioco.it";
_local1.emailLink = "gioco";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "it";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 99;
_local1.domain = "www.girlsgogames.it";
_local1.emailLink = "gioco";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "it";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 97;
_local1.domain = "www.zapjuegos.com";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 86;
_local1.domain = "www.juegos.com";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 96;
_local1.domain = "www.juegosdechicas.com";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 122;
_local1.domain = "www.girlsgogames.es";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 125;
_local1.domain = "www.juegos.mx";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 126;
_local1.domain = "www.juegosdechicas.mx";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 127;
_local1.domain = "www.juegos.com.ar";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 128;
_local1.domain = "www.juegosdechicas.com.ar";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 91;
_local1.domain = "www.clickjogos.com";
_local1.emailLink = "jogo";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "br";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 101;
_local1.domain = "www.girlsgogames.com.br";
_local1.emailLink = "jogo";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "br";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 50;
_local1.domain = "www.ojogos.com.br";
_local1.emailLink = "jogo";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "br";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 55;
_local1.domain = "www.games.co.id";
_local1.emailLink = "permainanme";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "id";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 105;
_local1.domain = "www.flashgames.ru";
_local1.emailLink = "igra";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "ru";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 104;
_local1.domain = "www.girlsgogames.ru";
_local1.emailLink = "igra";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "ru";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 103;
_local1.domain = "www.ourgames.ru";
_local1.emailLink = "igra";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "ru";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 24;
_local1.domain = "www.game.co.in";
_local1.emailLink = "game";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "in";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 87;
_local1.domain = "www.ojogos.pt";
_local1.emailLink = "jogo";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "pt";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 120;
_local1.domain = "www.egames.jp";
_local1.emailLink = "game";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "jp";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 121;
_local1.domain = "www.dailygame.com";
_local1.emailLink = "/game/";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "en_us";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 123;
_local1.domain = "www.zapapa.com";
_local1.emailLink = "game";
_local1.portalGroup = PortalGroup.ZAPAPA;
_local1.preferedLanguage = "en_us";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 124;
_local1.domain = "www.zapapa.nl";
_local1.emailLink = "game";
_local1.portalGroup = PortalGroup.HYVES;
_local1.preferedLanguage = "nl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 0;
_local1.domain = "gamedev.dev.spilgames.com";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "en_us";
addBrand(_local1);
}
public static function exportXML():XML{
var _local2:Brand;
var _local1:XML = <portals/>
;
for each (_local2 in brands_by_domain) {
_local1.appendChild(_local2.exportXML());
};
return (_local1);
}
public static function getBrandByDomain(_arg1:String):Brand{
return (brands_by_domain[_arg1]);
}
public static function hasDomain(_arg1:String):Boolean{
return (!((brands_by_domain[_arg1] == null)));
}
}
}//package spill.localisation
Section 47
//Language (spill.localisation.Language)
package spill.localisation {
import flash.xml.*;
public class Language {
public var portal_groups:Array;
public var references:Array;
public var name:String;
public var embedInputFonts:Boolean;// = true
public var id:uint;
public var forceFont:String;// = null
public var textLanguage:String;
public var bwcId:int;
public var embedFonts:Boolean;// = true
public var displayName:String;// = ""
public var dname:String;
public function Language(_arg1:String, _arg2:String=null){
references = [];
super();
name = _arg1;
dname = _arg2;
portal_groups = new Array();
}
public function exportXML():XMLNode{
var _local1:XMLNode = new XMLNode(1, "language");
_local1.attributes.name = name;
if (textLanguage != null){
_local1.attributes.textLanguage = textLanguage;
};
if (references.length){
_local1.attributes.references = references.toString();
};
_local1.attributes.id = bwcId;
var _local2:XMLNode = new XMLNode(1, "display_name");
_local2.firstChild = new XMLNode(3, displayName);
_local1.appendChild(_local2);
var _local3:Array = [];
var _local4:Array = PortalGroup.channelNames;
var _local5:int;
while (_local5 < _local4.length) {
_local3.push(Brandings.getBrandByDomain(portal_groups[_local5]).site_id);
_local5++;
};
_local1.attributes.channels = _local3.join(",");
return (_local1);
}
public function get p_teen():String{
return (portal_groups[PortalGroup.YOUNG_ADULTS]);
}
public function set p_hyves(_arg1:String):void{
portal_groups[PortalGroup.HYVES] = _arg1;
}
public function set p_teen(_arg1:String):void{
portal_groups[PortalGroup.YOUNG_ADULTS] = _arg1;
}
public function get p_tween():String{
return (portal_groups[PortalGroup.TEENS]);
}
public function get p_family():String{
return (portal_groups[PortalGroup.FAMILY]);
}
public function get p_girl():String{
trace("Language", portal_groups[PortalGroup.GIRL]);
return (portal_groups[PortalGroup.GIRL]);
}
public function get p_hyves():String{
return (portal_groups[PortalGroup.HYVES]);
}
public function set p_girl(_arg1:String):void{
portal_groups[PortalGroup.GIRL] = _arg1;
}
public function set p_zapapa(_arg1:String):void{
portal_groups[PortalGroup.ZAPAPA] = _arg1;
}
public function get displayAcronim():String{
return ((dname) ? dname : name);
}
public function set p_family(_arg1:String):void{
portal_groups[PortalGroup.FAMILY] = _arg1;
}
public function set p_tween(_arg1:String):void{
portal_groups[PortalGroup.TEENS] = _arg1;
}
public function get p_zapapa():String{
return (portal_groups[PortalGroup.ZAPAPA]);
}
}
}//package spill.localisation
Section 48
//Languages (spill.localisation.Languages)
package spill.localisation {
import flash.xml.*;
public class Languages {
public static var languages:Object = new Object();
private static var _init:Boolean = false;
public static function initialize():void{
var _local1:Language;
if (_init){
return;
};
_init = true;
_local1 = new Language("nl");
_local1.displayName = "Nederlands";
_local1.p_family = "www.spelletjes.nl";
_local1.p_tween = "www.spel.nl";
_local1.p_girl = "www.girlsgogames.nl";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.p_hyves = "www.zapapa.nl";
_local1.bwcId = 3;
addLanguage(_local1);
_local1 = new Language("es");
_local1.displayName = "Español";
_local1.p_family = "www.juegos.com";
_local1.p_tween = "www.zapjuegos.com";
_local1.p_girl = "www.girlsgogames.es";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 9;
addLanguage(_local1);
_local1 = new Language("pl");
_local1.displayName = "Polski";
_local1.p_family = "www.gry.pl";
_local1.p_tween = "www.gry.pl";
_local1.p_girl = "www.girlsgogames.pl";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 6;
addLanguage(_local1);
_local1 = new Language("fr");
_local1.displayName = "Français";
_local1.p_family = "www.jeux.fr";
_local1.p_tween = "www.jeu.fr";
_local1.p_girl = "www.girlsgogames.fr";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 4;
addLanguage(_local1);
_local1 = new Language("en_us", "us");
_local1.displayName = "English";
_local1.p_family = "www.gamesgames.com";
_local1.p_tween = "www.agame.com";
_local1.p_girl = "www.girlsgogames.com";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 1;
addLanguage(_local1);
addReference(_local1, "en");
_local1 = new Language("id");
_local1.displayName = "Bahasa Ind.";
_local1.p_family = "www.games.co.id";
_local1.p_tween = "www.games.co.id";
_local1.p_girl = "www.games.co.id";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 11;
addLanguage(_local1);
_local1 = new Language("ru");
_local1.displayName = "Русский";
_local1.p_family = "www.ourgames.ru";
_local1.p_tween = "www.flashgames.ru";
_local1.p_girl = "www.girlsgogames.ru";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 12;
addLanguage(_local1);
_local1 = new Language("se");
_local1.displayName = "Svenska";
_local1.p_family = "www.spela.se";
_local1.p_tween = "www.spel.se";
_local1.p_girl = "www.girlsgogames.se";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 7;
addLanguage(_local1);
addReference(_local1, "sv");
_local1 = new Language("it");
_local1.displayName = "Italiano";
_local1.p_family = "www.gioco.it";
_local1.p_tween = "www.gioco.it";
_local1.p_girl = "www.girlsgogames.it";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 8;
addLanguage(_local1);
_local1 = new Language("en_uk", "uk");
_local1.displayName = "English";
_local1.p_family = "www.games.co.uk";
_local1.p_tween = "www.agame.com";
_local1.p_girl = "www.girlsgogames.co.uk";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 13;
addLanguage(_local1);
_local1 = new Language("cn");
_local1.displayName = "中文";
_local1.p_family = "www.game.com.cn";
_local1.p_tween = "www.game.com.cn";
_local1.p_girl = "www.game.com.cn";
_local1.p_teen = "www.game.com.cn";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 2;
_local1.embedInputFonts = false;
addLanguage(_local1);
addReference(_local1, "zh-CN");
addReference(_local1, "zh-TW");
_local1 = new Language("pt");
_local1.displayName = "Português";
_local1.p_family = "www.ojogos.pt";
_local1.p_tween = "www.ojogos.pt";
_local1.p_girl = "www.ojogos.pt";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 17;
addLanguage(_local1);
_local1 = new Language("in");
_local1.displayName = "English";
_local1.p_family = "www.game.co.in";
_local1.p_tween = "www.game.co.in";
_local1.p_girl = "www.game.co.in";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.textLanguage = "en_uk";
_local1.bwcId = 14;
addLanguage(_local1);
_local1 = new Language("de");
_local1.displayName = "Deutsch";
_local1.p_family = "www.jetztspielen.de";
_local1.p_tween = "www.spielen.com";
_local1.p_girl = "www.girlsgogames.de";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 5;
addLanguage(_local1);
_local1 = new Language("br");
_local1.displayName = "Português (BR)";
_local1.p_family = "www.ojogos.com.br";
_local1.p_tween = "www.clickjogos.com";
_local1.p_girl = "www.girlsgogames.com.br";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 10;
addLanguage(_local1);
_local1 = new Language("jp");
_local1.displayName = "日本語";
_local1.p_family = "www.egames.jp";
_local1.p_tween = "www.egames.jp";
_local1.p_girl = "www.egames.jp";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.embedInputFonts = false;
_local1.bwcId = 19;
addLanguage(_local1);
addReference(_local1, "ja");
_local1 = new Language("ar");
_local1.displayName = "English";
_local1.p_family = "www.dailygame.com";
_local1.p_tween = "www.dailygame.com";
_local1.p_girl = "www.dailygame.com";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 20;
addLanguage(_local1);
addReference(_local1, "ar");
_local1 = new Language("es_mx", "mx");
_local1.displayName = "Español (mx)";
_local1.p_family = "www.juegos.mx";
_local1.p_tween = "www.juegos.mx";
_local1.p_girl = "www.juegosdechicas.mx";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
addLanguage(_local1);
addReference(_local1, "mx");
_local1 = new Language("es_ar", "arg");
_local1.displayName = "Español (ar)";
_local1.p_family = "www.juegos.com.ar";
_local1.p_tween = "www.juegos.com.ar";
_local1.p_girl = "www.juegosdechicas.com.ar";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
addLanguage(_local1);
addReference(_local1, "arg");
}
public static function exportXML():XMLNode{
var _local3:Language;
var _local1:Array = getLanguagesArray();
var _local2:XMLNode = new XMLNode(1, "languages");
for each (_local3 in _local1) {
_local2.appendChild(_local3.exportXML());
};
return (_local2);
}
public static function getLanguagesArray():Array{
var _local3:Language;
var _local1:Array = new Array();
var _local2:Object = new Object();
for each (_local3 in languages) {
if (!_local2[_local3.name]){
_local1.push(_local3);
_local2[_local3.name] = true;
};
};
return (_local1);
}
public static function getLanguage(_arg1:String):Language{
return (languages[_arg1]);
}
private static function addLanguage(_arg1:Language):void{
languages[_arg1.name] = _arg1;
}
private static function addReference(_arg1:Language, _arg2:String):void{
languages[_arg2] = _arg1;
_arg1.references.push(_arg2);
}
public static function getLanguageByOldID(_arg1:int):Language{
var _local2:Language;
for each (_local2 in languages) {
if (_local2.bwcId == _arg1){
return (_local2);
};
};
return (null);
}
}
}//package spill.localisation
Section 49
//LanguageSelectBox (spill.localisation.LanguageSelectBox)
package spill.localisation {
import flash.display.*;
import flash.text.*;
import flash.events.*;
public class LanguageSelectBox extends MovieClip {
private var flag:MovieClip;
private var languageName_text:TextField;
private var popup:MovieClip;
private var mc:MovieClip;
public function LanguageSelectBox(){
trace("new langselecbox");
super();
if (numChildren > 0){
removeChildAt(0);
};
addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true);
addEventListener(MouseEvent.MOUSE_OVER, mouseOver, false, 0, true);
addEventListener(MouseEvent.MOUSE_OUT, mouseOut, false, 0, true);
Languages.initialize();
popup = new LanguageSelectPopup_mc();
x = Math.round(x);
y = Math.round(y);
popup.y = (-(Math.floor(popup.height)) + 1);
popup.visible = false;
addChild(popup);
mc = new LanguageSelectBox_mc();
addChild(mc);
flag = mc.flag;
languageName_text = mc.languageName_text;
if (stage){
added();
};
init();
languageChanged();
}
private function added(_arg1:Event=null):void{
trace("addedselebnox");
SpilGame.addEventListener("languageChanged", languageChanged, false, 0, true);
}
private function mouseOut(_arg1:MouseEvent):void{
popup.visible = false;
}
public function set popupLocation(_arg1:String):void{
trace(("popupLocation = " + _arg1));
if (_arg1 == "bottom"){
popup.y = Math.floor(mc.height);
} else {
popup.y = (-(Math.floor(mc.height)) + 1);
};
}
private function removed(_arg1:Event):void{
SpilGame.removeEventListener("languageChanged", languageChanged);
}
public function init():void{
var _local3:MovieClip;
var _local4:Language;
trace("initselectbox");
var _local1:Array = new Array(popup.l_br, popup.l_de, popup.l_en_us, popup.l_fr, popup.l_in, popup.l_jp, popup.l_pt, popup.l_ru, popup.l_ar, popup.l_cn, popup.l_en_uk, popup.l_es, popup.l_id, popup.l_it, popup.l_nl, popup.l_pl, popup.l_se, popup.l_es_mx, popup.l_es_ar);
var _local2:int;
while (_local2 < _local1.length) {
_local3 = MovieClip(_local1[_local2]);
if (_local3){
_local3.addEventListener(MouseEvent.CLICK, itemClicked, true, 0, true);
_local3.flag.gotoAndStop(_local3.name.substr(2));
_local3.flag.mouseEnabled = false;
_local3.text.mouseEnabled = false;
_local4 = Languages.getLanguage(_local3.name.substr(2));
if (_local4){
_local3.text.text = _local4.displayAcronim;
} else {
trace((("Error, '" + _local3.name.substr(2)) + "' language not found"));
};
} else {
trace((((("Error, btn number '" + _local2) + "' is not a MovieClip or there is no button '") + _local1[_local2]) + "'"));
};
_local2++;
};
}
private function itemClicked(_arg1:MouseEvent):void{
SpilGame.changeLanguage(_arg1.currentTarget.name.substr(2));
popup.visible = false;
}
private function mouseOver(_arg1:MouseEvent):void{
popup.visible = true;
}
private function languageChanged(_arg1:Event=null):void{
if (SpilGame.currentLanguage){
if ((((SpilGame.portalGroup == PortalGroup.HYVES)) && ((SpilGame.currentLanguage.name == "nl")))){
this.visible = false;
return;
};
this.visible = true;
flag.gotoAndStop(SpilGame.currentLanguage.name);
languageName_text.text = SpilGame.currentLanguage.displayName;
languageName_text.embedFonts = SpilGame.currentLanguage.embedInputFonts;
};
}
}
}//package spill.localisation
Section 50
//LanguageSelectBox_mc (spill.localisation.LanguageSelectBox_mc)
package spill.localisation {
import flash.display.*;
import flash.text.*;
public dynamic class LanguageSelectBox_mc extends MovieClip {
public var languageName_text:TextField;
public var flag:MovieClip;
}
}//package spill.localisation
Section 51
//LanguageSelectPopup_mc (spill.localisation.LanguageSelectPopup_mc)
package spill.localisation {
import flash.display.*;
public dynamic class LanguageSelectPopup_mc extends MovieClip {
public var l_cn:MovieClip;
public var l_br:MovieClip;
public var l_se:MovieClip;
public var l_id:MovieClip;
public var l_es_ar:MovieClip;
public var l_es_mx:MovieClip;
public var l_in:MovieClip;
public var l_en_uk:MovieClip;
public var l_en_us:MovieClip;
public var l_es:MovieClip;
public var l_ar:MovieClip;
public var l_it:MovieClip;
public var l_pl:MovieClip;
public var l_nl:MovieClip;
public var l_de:MovieClip;
public var l_ru:MovieClip;
public var l_pt:MovieClip;
public var l_jp:MovieClip;
public var l_fr:MovieClip;
}
}//package spill.localisation
Section 52
//LocalizedTextField (spill.localisation.LocalizedTextField)
package spill.localisation {
import flash.events.*;
public class LocalizedTextField extends TextFieldFit {
private var regex:RegExp;
private var originalText:String;
public function LocalizedTextField(){
regex = /{([^{}]*)}/g;
super();
addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true);
added();
}
private function added(_arg1:Event=null):void{
SpilGame.addEventListener("languageChanged", languageChanged, false, 0, true);
text = originalText;
}
private function replaceFn():String{
var _local2:String = SpilGame.getString(arguments[1]);
if (((!(_local2)) || ((_local2 == "")))){
return ((("{" + arguments[1]) + "}"));
};
return (_local2);
}
private function removed(_arg1:Event):void{
SpilGame.removeEventListener("languageChanged", languageChanged);
}
override public function set text(_arg1:String):void{
originalText = _arg1;
if ((_arg1 is String)){
super.text = _arg1.replace(regex, replaceFn);
} else {
super.text = "";
};
}
private function languageChanged(_arg1:Event):void{
text = originalText;
updateProperties();
}
}
}//package spill.localisation
Section 53
//PortalGroup (spill.localisation.PortalGroup)
package spill.localisation {
import flash.xml.*;
public class PortalGroup {
public static const YOUNG_ADULTS:uint = 3;
public static const FAMILY:uint = 0;
public static const channelNames:Array = ["family", "tween", "girl", "teen", "zapapa", "hyves"];
public static const ZAPAPA:uint = 4;
public static const HYVES:uint = 5;
public static const TEENS:uint = 1;
public static const GIRL:uint = 2;
public static const backgroundColors:Array = [0xFFFFFF, 0xFFFFFF, 16742331, 0xFFFFFF, 0xFFFFFF, 0xFFFFFF];
public static const NONE:uint = 6;
public static function getName(_arg1:int):String{
return (channelNames[_arg1]);
}
public static function exportXML():XMLNode{
var _local3:XMLNode;
var _local1:XMLNode = new XMLNode(1, "channels");
var _local2:int;
while (_local2 < 5) {
_local3 = new XMLNode(1, "channel");
_local3.attributes.name = channelNames[_local2];
_local3.attributes.id = _local2;
_local1.appendChild(_local3);
_local2++;
};
return (_local1);
}
}
}//package spill.localisation
Section 54
//spil_internal (spill.localisation.spil_internal)
package spill.localisation {
public namespace spil_internal = "spill.localisation";
}//package spill.localisation
Section 55
//SpilGame (spill.localisation.SpilGame)
package spill.localisation {
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.net.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
public class SpilGame {
private static const cookieName:String = "spilgames_language_v100";
private static const cookiePath:String = "/";
private static const cookieLanguageVar:String = "savedLang";
public static const LANGUAGE_CHANGED:String = "languageChanged";
public static const BRANDING_CHANGED:String = "brandingChanged";
private static var strings:Object = new Object();
public static var currentBranding:Brand;
private static var contexMenuItem:ContextMenuItem;
spil_internal static var gameName:String;
spil_internal static var debugHostDomain:String = "";
private static var localDomains:Object = new Object();
spil_internal static var emailPage:String;
private static var channelLock:Boolean = false;
spil_internal static var debugEmbedDomain:String = "";
private static var eventDispatcher:EventDispatcher;
private static var _init:Boolean = false;
public static var currentLanguage:Language;
spil_internal static var portalGroup:uint;
private static var stage:Sprite;
public static function getSpilCompanyLink():String{
var _local1 = "http://www.gameportal.net/";
_local1 = (_local1 + ("?utm_medium=brandedgames_" + (isExternal) ? "external" : "internal"));
_local1 = (_local1 + ("&utm_campaign=" + gameName));
_local1 = (_local1 + ("&utm_source=" + Brand.stripSubDomain((embedDomain) ? embedDomain : hostingDomain)));
_local1 = (_local1 + "&utm_content=Branding_Link");
return (_local1);
}
public static function getPromotionLink(_arg1:String="feature_promotion"):String{
var _local2:String = (embedDomain) ? embedDomain : hostingDomain;
return (currentBranding.getPromotionLink(gameName, emailPage, isExternal, _local2, _arg1));
}
public static function traceAllBrands():void{
trace(outputAllBrands());
}
public static function getString(_arg1:String):String{
var _local2:Object = strings[_arg1];
if (_local2){
if (currentLanguage.textLanguage){
return (_local2[currentLanguage.textLanguage]);
};
if (_local2[currentLanguage.name]){
return (_local2[currentLanguage.name]);
};
return (_local2["en_us"]);
//unresolved jump
};
return ("");
}
public static function initialize(_arg1:String, _arg2:int, _arg3:String, _arg4:Sprite, _arg5:Boolean=false):void{
stage = _arg4;
if (_init){
trace("ERROR: LocalisationManager already initialised");
return;
};
_init = true;
localDomains["localhost"] = true;
localDomains["www8.agame.com"] = true;
localDomains["gamedev.dev.spilgames.com"] = true;
localDomains["stg.spel.nl"] = true;
localDomains["stg.girlsgogames.nl"] = true;
localDomains["stg.pl.spel.nl"] = true;
localDomains["stg.pl.girlsgogames.nl"] = true;
trace(localDomains["stg.girlsgogames.nl"]);
Brandings.initialize();
Languages.initialize();
initContexMenu(_arg4);
channelLock = _arg5;
gameName = _arg1.replace(" ", "_");
portalGroup = _arg2;
emailPage = _arg3;
chooseLanguage();
chooseBranding();
if (portalGroup == PortalGroup.HYVES){
changeLanguage("nl");
};
}
public static function get isExternal():Boolean{
return (((((!(Brandings.hasDomain(embedDomain))) && (!(localDomains[embedDomain])))) && (!(isStagingDomain))));
}
private static function initContexMenu(_arg1:Sprite):void{
contexMenuItem = new ContextMenuItem("");
_arg1.contextMenu = new ContextMenu();
_arg1.contextMenu.customItems.push(contexMenuItem);
contexMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, contexMenuClicked);
}
private static function replaceFn():String{
var _local2:String = SpilGame.getString(arguments[1]);
if (((!(_local2)) || ((_local2 == "")))){
return ((("{" + arguments[1]) + "}"));
};
return (_local2);
}
spil_internal static function get hostingDomain():String{
var _local1:LocalConnection;
if (debugHostDomain != ""){
return (debugHostDomain);
};
_local1 = new LocalConnection();
return (_local1.domain);
}
spil_internal static function chooseLanguage():void{
if (cookieLanguage != null){
currentLanguage = cookieLanguage;
} else {
if (isExternal){
currentLanguage = systemLanguage;
} else {
currentLanguage = portalLanguage;
if (!currentLanguage){
currentLanguage = systemLanguage;
};
};
};
if (!currentLanguage){
trace("Unable to determine language, using 'English US'");
currentLanguage = Languages.getLanguage("en_us");
};
TextFieldFit.embedFonts = currentLanguage.embedFonts;
TextFieldFit.forceFont = currentLanguage.forceFont;
dispatchEvent(new Event(LANGUAGE_CHANGED));
}
private static function contexMenuClicked(_arg1:ContextMenuEvent):void{
navigateToURL(new URLRequest(getMoreGamesLink("Contex_Menu")));
}
public static function initTextField(_arg1:TextField):void{
var _local2:TextFormat;
_arg1.text = _arg1.text.replace(/{([^{}]*)}/g, replaceFn);
_arg1.embedFonts = currentLanguage.embedFonts;
if (currentLanguage.forceFont != ""){
_local2 = new TextFormat();
_local2.font = currentLanguage.forceFont;
_arg1.setTextFormat(_local2);
};
}
public static function importXMLv2(_arg1:XML):void{
var _local2:XML;
var _local3:Object;
var _local4:XML;
for each (_local2 in _arg1.children()) {
_local3 = (strings[_local2.attribute("identifier")] = new Object());
for each (_local4 in _local2.children()) {
if (_local4.children().length() > 0){
_local3[_local4.name()] = _local4.children()[0].toString();
} else {
_local3[_local4.name()] = "";
};
};
};
}
spil_internal static function changeLanguage(_arg1:String):void{
var _local2:Language = Languages.getLanguage(_arg1);
if (!_local2){
trace("ERROR: Supplied language string does not have a matching language");
} else {
cookieLanguage = _local2;
currentLanguage = _local2;
};
TextFieldFit.embedFonts = currentLanguage.embedFonts;
TextFieldFit.forceFont = currentLanguage.forceFont;
chooseBranding();
dispatchEvent(new Event(LANGUAGE_CHANGED));
}
public static function getSendToFriendLink():String{
return (currentBranding.getSendToFriendLink(gameName, emailPage, isExternal, embedDomain));
}
spil_internal static function chooseBranding():void{
currentBranding = Brandings.getBrandByDomain(currentLanguage.portal_groups[portalGroup]);
if (!(currentBranding is Brand)){
currentBranding = Brandings.getBrandByDomain("www.agame.com");
};
contexMenuItem.caption = ("More Games: " + currentBranding.domain);
dispatchEvent(new Event(BRANDING_CHANGED));
}
spil_internal static function get systemLanguage():Language{
return (Languages.getLanguage(Capabilities.language));
}
spil_internal static function set cookieLanguage(_arg1:Language):void{
var _local2:SharedObject = SharedObject.getLocal(cookieName, cookiePath);
if (_arg1 == null){
_local2.data[cookieLanguageVar] = null;
} else {
_local2.data[cookieLanguageVar] = _arg1.name;
};
_local2.flush();
}
public static function importXML(_arg1:XML):void{
var _local2:XML;
var _local3:Object;
var _local4:XML;
for each (_local2 in _arg1.children()) {
_local3 = (strings[_local2.identifier] = new Object());
for each (_local4 in _local2.children()) {
_local3[_local4.name()] = _local4.children()[0].toString();
};
};
}
spil_internal static function dispatchEvent(_arg1:Event):void{
if (!eventDispatcher){
eventDispatcher = new EventDispatcher();
};
eventDispatcher.dispatchEvent(_arg1);
}
public static function getDomain(_arg1:String):String{
var _local2:String;
var _local3:uint;
if (_arg1.indexOf("file") == 0){
return ("offline_play");
};
_local2 = new String();
_local3 = 7;
while (_local3 < _arg1.length) {
if (_arg1.charAt(_local3) == "/"){
break;
};
_local2 = (_local2 + _arg1.charAt(_local3));
_local3++;
};
if (_local2 == "localhost"){
_local2 = "offline_play";
};
return (_local2);
}
public static function exportXML():XML{
var _local1:XML = <spil_games/>
;
_local1.appendChild(Brandings.exportXML());
_local1.appendChild(Languages.exportXML());
_local1.appendChild(PortalGroup.exportXML());
return (_local1);
}
public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
if (!eventDispatcher){
eventDispatcher = new EventDispatcher();
};
eventDispatcher.removeEventListener(_arg1, _arg2, _arg3);
}
public static function outputAllBrands():String{
var _local3:Brand;
var _local1:Array = Brandings.getBrandsArray();
var _local2 = "";
for each (_local3 in _local1) {
_local2 = (_local2 + (_local3.getSendToFriendLink(gameName, emailPage, isExternal, embedDomain) + "\n"));
};
return (_local2);
}
public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
if (!eventDispatcher){
eventDispatcher = new EventDispatcher();
};
eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public static function getMoreGamesLink(_arg1:String=""):String{
var _local2:String = (embedDomain) ? embedDomain : hostingDomain;
return (currentBranding.getMoreGamesLink(gameName, isExternal, _local2, _arg1));
}
public static function get isStagingDomain():Boolean{
var _local1:String = ("http://" + embedDomain);
return ((_local1.indexOf("http://stg.") >= 0));
}
spil_internal static function get cookieLanguage():Language{
var _local1:SharedObject = SharedObject.getLocal(cookieName, cookiePath);
var _local2:String = String(_local1.data[cookieLanguageVar]);
return (Languages.getLanguage(_local2));
}
private static function get portalLanguage():Language{
var _local1:Brand;
var _local2:String;
var _local3:Language;
if (isExternal){
return (null);
};
if (!embedDomain){
return (null);
};
_local1 = Brandings.getBrandByDomain(embedDomain);
if (!_local1){
return (null);
};
_local2 = _local1.preferedLanguage;
if (!_local2){
return (null);
};
_local3 = Languages.getLanguage(_local2);
if (!_local3){
return (null);
};
return (_local3);
}
spil_internal static function get embedDomain():String{
var loc:String;
if (debugEmbedDomain != ""){
return (debugEmbedDomain);
};
if (ExternalInterface.available){
try {
loc = ExternalInterface.call("window.location.href.toString");
if (((!((loc == ""))) && (!((loc == null))))){
trace(("embed domain = " + getDomain(loc)));
return (getDomain(loc));
};
} catch(e:SecurityError) {
trace(("Security Error connecting to external interface, error = " + e));
} catch(e:Error) {
trace(("Error connecting to external interface, error = " + e));
};
};
return (null);
}
}
}//package spill.localisation
Section 56
//SpilGamesLink (spill.localisation.SpilGamesLink)
package spill.localisation {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class SpilGamesLink extends SimpleButton {
public function SpilGamesLink(){
addEventListener(MouseEvent.CLICK, buttonClicked);
}
private function buttonClicked(_arg1:MouseEvent):void{
navigateToURL(new URLRequest(SpilGame.getSpilCompanyLink()), "_blank");
}
}
}//package spill.localisation
Section 57
//TextFieldFit (spill.localisation.TextFieldFit)
package spill.localisation {
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.utils.*;
import flash.filters.*;
public class TextFieldFit extends MovieClip {
protected var _glowQuality:Number;// = 1
protected var _gridFitType:String;// = "pixel"
protected var _text:String;// = "default"
private var debugBounding:Sprite;
protected var _disableWordwrap:Boolean;// = false
protected var _textSize:Number;// = 12
protected var _multiline:Boolean;// = false
protected var _font:String;// = ""
protected var _embedFonts:Boolean;// = true
protected var _underline:Boolean;// = false
protected var _vAlign:String;// = "top"
protected var _italic:Boolean;// = false
protected var _useGlowFilter:Boolean;// = false
protected var _glowColor:uint;// = 0
protected var _bold:Boolean;// = false
private var h:Number;
protected var _antiAliasType:String;// = "advanced"
private var sizeChanged:Boolean;// = true
private var w:Number;
private var embeddedFonts:Array;
protected var _hAlign:String;// = "left"
protected var _textColor:uint;// = 0
protected var _glowStrength:Number;// = 5
protected var _glowBlur:Number;// = 3
protected var _selectable:Boolean;// = false
private var format:TextFormat;
private var field:TextField;
private var valid:Boolean;// = true
private static const gutter:Number = 2;
spil_internal static var embedFonts:Boolean = true;
spil_internal static var forceAAType:String = null;
spil_internal static var forceFont:String = null;
public static var alwaysCheckWidth:Boolean = false;
public function TextFieldFit(){
var _local1:Boolean = ((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")));
var _local2:Number = width;
var _local3:Number = height;
if (numChildren > 0){
removeChildAt(0);
};
if (!field){
field = new TextField();
addChild(field);
};
field.border = false;
field.background = false;
field.type = TextFieldType.DYNAMIC;
mouseEnabled = false;
mouseChildren = false;
format = new TextFormat();
embeddedFonts = Font.enumerateFonts(false);
setSize(_local2, _local3);
validate();
if (stage){
addEventListener(Event.RENDER, init);
stage.invalidate();
};
init();
}
private function resizeText(_arg1:Boolean=false):void{
if (!doesTextFit()){
format.size = Object((Number(format.size) - 1));
if (format.size <= 3){
trace("WARNING: Text resised to 3px, either an error occured or the text just wont fit");
return;
};
field.setTextFormat(format);
resizeText(true);
} else {
if (_arg1 == false){
while (doesTextFit()) {
if (format.size <= textSize){
format.size = Object((Number(format.size) + 1));
field.setTextFormat(format);
if (!doesTextFit()){
format.size = Object((Number(format.size) - 1));
field.setTextFormat(format);
break;
};
} else {
break;
};
};
};
};
}
public function set hAlign(_arg1:String):void{
_hAlign = _arg1;
invalidate();
}
public function set bold(_arg1:Boolean):void{
_bold = _arg1;
invalidate();
}
private function init(_arg1:Event=null):void{
removeEventListener(Event.RENDER, init);
updateProperties();
layoutText();
}
private function validate(_arg1:Event=null):void{
updateProperties();
layoutText();
removeEventListener(Event.ENTER_FRAME, validate);
valid = true;
}
public function set glowBlur(_arg1:Number):void{
_glowBlur = _arg1;
invalidate();
}
public function get vAlign():String{
return (_vAlign);
}
public function get italic():Boolean{
return (_italic);
}
public function get textColor():uint{
return (_textColor);
}
private function invalidate():void{
if (valid){
addEventListener(Event.ENTER_FRAME, validate);
if (stage){
stage.invalidate();
};
valid = false;
};
}
public function get text():String{
return (_text);
}
public function get useGlowFilter():Boolean{
return (_useGlowFilter);
}
public function get selectable():Boolean{
return (_selectable);
}
public function set text(_arg1:String):void{
_text = _arg1;
invalidate();
}
public function set embedFonts(_arg1:Boolean):void{
_embedFonts = _arg1;
invalidate();
}
public function set vAlign(_arg1:String):void{
_vAlign = _arg1;
invalidate();
}
public function set italic(_arg1:Boolean):void{
_italic = _arg1;
invalidate();
}
public function get font():String{
return (_font);
}
public function set multiline(_arg1:Boolean):void{
_multiline = _arg1;
invalidate();
}
public function get disableWordwrap():Boolean{
return (_disableWordwrap);
}
public function set textColor(_arg1:uint):void{
_textColor = _arg1;
invalidate();
}
public function get antiAliasType():String{
return (_antiAliasType);
}
private function layoutText():void{
resizeText();
field.height = (field.textHeight + (gutter * 2));
if (vAlign == "top"){
field.y = 0;
} else {
if (vAlign == "middle"){
field.y = ((h - field.height) / 2);
} else {
if (vAlign == "bottom"){
field.y = (h - field.height);
};
};
};
}
public function set glowQuality(_arg1:Number):void{
_glowQuality = _arg1;
invalidate();
}
public function get hAlign():String{
return (_hAlign);
}
public function setSize(_arg1:Number, _arg2:Number):void{
w = _arg1;
h = _arg2;
scaleX = (scaleY = 1);
field.width = w;
field.height = h;
invalidate();
}
public function get bold():Boolean{
return (_bold);
}
public function set gridFitType(_arg1:String):void{
_gridFitType = _arg1;
invalidate();
}
public function set underline(_arg1:Boolean):void{
_underline = _arg1;
invalidate();
}
public function get glowBlur():Number{
return (_glowBlur);
}
public function set useGlowFilter(_arg1:Boolean):void{
_useGlowFilter = _arg1;
invalidate();
}
public function set textSize(_arg1:Number):void{
_textSize = _arg1;
sizeChanged = true;
invalidate();
}
public function set font(_arg1:String):void{
_font = _arg1;
invalidate();
}
public function set selectable(_arg1:Boolean):void{
_selectable = _arg1;
invalidate();
}
public function get multiline():Boolean{
return (_multiline);
}
public function get embedFonts():Boolean{
return (_embedFonts);
}
public function set glowColor(_arg1:uint):void{
_glowColor = _arg1;
invalidate();
}
public function set disableWordwrap(_arg1:Boolean):void{
_disableWordwrap = _arg1;
invalidate();
}
public function get glowQuality():Number{
return (_glowQuality);
}
public function get gridFitType():String{
return (_gridFitType);
}
public function get underline():Boolean{
return (_underline);
}
public function get textSize():Number{
return (_textSize);
}
public function get textField():TextField{
return (field);
}
public function get glowColor():uint{
return (_glowColor);
}
public function set antiAliasType(_arg1:String):void{
_antiAliasType = _arg1;
invalidate();
}
public function set glowStrength(_arg1:Number):void{
_glowStrength = _arg1;
invalidate();
}
protected function updateProperties():void{
var _local1:Boolean;
var _local2:Font;
field.text = _text;
field.multiline = ((((_text.indexOf(" ") < 0)) && ((_text.length < 14)))) ? false : _multiline;
field.wordWrap = ((field.multiline) && (!(_disableWordwrap)));
field.selectable = _selectable;
field.antiAliasType = (forceAAType) ? forceAAType : _antiAliasType;
field.gridFitType = _gridFitType;
embeddedFonts = Font.enumerateFonts(false);
if (((((_embedFonts) && (!((_font == ""))))) && (TextFieldFit.embedFonts))){
_local1 = false;
for each (_local2 in embeddedFonts) {
if (_font == _local2.fontName){
_local1 = true;
break;
};
};
field.embedFonts = _local1;
if (!_local1){
};
} else {
field.embedFonts = false;
};
if (TextFieldFit.forceFont){
format.font = TextFieldFit.forceFont;
} else {
format.font = _font;
};
if (sizeChanged){
format.size = _textSize;
};
format.color = _textColor;
format.align = _hAlign;
format.bold = _bold;
format.italic = _italic;
format.underline = _underline;
format.leftMargin = 0;
format.rightMargin = 0;
field.setTextFormat(format);
if (_useGlowFilter){
filters = [new GlowFilter(_glowColor, 1, _glowBlur, _glowBlur, _glowStrength, _glowQuality)];
} else {
filters = [];
};
}
private function doesTextFit():Boolean{
if (((((field.textHeight + (gutter * 2)) > h)) || (((((field.textWidth + (gutter * 2)) > w)) && (((!(field.multiline)) || (alwaysCheckWidth))))))){
return (false);
};
return (true);
}
public function get glowStrength():Number{
return (_glowStrength);
}
}
}//package spill.localisation
Section 58
//cobrand (steve.cobrand)
package steve {
import flash.display.*;
import flash.events.*;
import mochi.as3.*;
import flash.net.*;
import flash.system.*;
public class cobrand {
private var parameters:Object;
public var mPortalInfo:PortalsInfo;
public var mPortal:int;
public var mPreloader:MovieClip;
public var MindJoltAPI:Object;
private var PoszkoleAPI_Loader:Loader;
public var mWidth:int;// = 800
public var mMainMC:MovieClip;
public var mGameKey:String;// = "495eef277cdc261b50874408c8812b7a"
public var mMoreGamesName:String;// = "mMoreGames"
public var mAdContainer:MovieClip;
private var PoszkoleAPI:MovieClip;
public var mGameId:String;// = "e2e87c5b9566150f"
public var mHeight:int;// = 600
public static var Global:cobrand;
public function cobrand(_arg1:int, _arg2:MovieClip, _arg3:MovieClip){
var adValues:Object;
var gameParams:Object;
var urlLoader:Loader;
var p:String;
var portalName = _arg1;
var mainMC = _arg2;
var preloader = _arg3;
PoszkoleAPI_Loader = new Loader();
super();
mPortalInfo = new PortalsInfo();
mPortal = portalName;
mMainMC = mainMC;
mPreloader = preloader;
if (mainMC.mGameKeySteve != undefined){
mGameKey = mainMC.mGameKeySteve;
};
if (mainMC.mGameWidthSteve != undefined){
mWidth = mainMC.mGameWidthSteve;
};
if (mainMC.mGameHeightSteve != undefined){
mHeight = mainMC.mGameHeightSteve;
};
if (mainMC.mGameIdSteve != undefined){
mGameId = mainMC.mGameIdSteve;
};
if (mPortal != Portals.didigames){
trace(("GANTI NAMA SWF NYA JADI : dressuppink_NAMA_GAME_" + mPortalInfo.mPortals[mPortal].url));
} else {
trace(("############@$&(# rename SWF NYA JADI : DRESSUPGAL_NAMA_GAME_" + mPortalInfo.mPortals[mPortal].url));
};
if (mPortal == Portals._7k7k){
FWAd_AS3.showAd({container:mMainMC, x:0, y:0, wid:mWidth, hei:mHeight, id:"sljlzdz-girlsocool-1", adType:"loading", onClickStartBtn:fwAd_onClickStartBtn});
} else {
if (mPortal == Portals.youyouwin){
adValues = {x:0, y:0, wid:mWidth, hei:mHeight, id:"game30", adType:"loading", onClickStartBtn:fwAd_onClickStartBtn};
mMainMC.addChild(new FWAd_AS3_b(adValues));
} else {
if (mPortal == Portals.mindjolt){
gameParams = LoaderInfo(mMainMC.stage.loaderInfo).parameters;
urlLoader = new Loader();
urlLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, mindJoltLoadFinished);
urlLoader.load(new URLRequest(((gameParams.mjPath) || ("http://static.mindjolt.com/api/as3/scoreapi_as3_local.swf"))));
mMainMC.stage.addChild(urlLoader);
} else {
if (mPortal == Portals.mochi){
mAdContainer = new MovieClip();
mMainMC.addChild(mAdContainer);
p = ((mWidth + "x") + mHeight);
MochiAd.showPreGameAd({id:mGameId, res:p, clip:mAdContainer, ad_finished:function (){
mPreloader.visible = true;
mPreloader.mouseEnabled = true;
mPreloader.gotoAndStop(2);
mMainMC.removeChild(mAdContainer);
}});
} else {
if (mPortal == Portals.poszkole){
parameters = LoaderInfo(mainMC.stage.loaderInfo).parameters;
Security.allowDomain("poszkole.pl");
PoszkoleAPI_Loader.contentLoaderInfo.addEventListener(Event.COMPLETE, PoszkoleAPI_loadComplete);
PoszkoleAPI_Loader.load(new URLRequest("http://poszkole.pl/poszkoleAPI_AS3.swf"));
mAdContainer = new MovieClip();
mAdContainer.addChild(PoszkoleAPI_Loader);
mMainMC.addChild(mAdContainer);
};
};
};
};
};
}
public function fwAd_onClickStartBtn():void{
trace("fwAd_onClickStartBtn");
mPreloader.visible = true;
mPreloader.mouseEnabled = true;
mPreloader.gotoAndStop(2);
}
private function GetMajorBrand2():int{
if (mPortal != Portals.didigames){
return (1);
};
return (2);
}
private function PoszkoleAPI_loadComplete(_arg1:Event):void{
PoszkoleAPI = _arg1.currentTarget.content;
mMainMC.removeChild(mAdContainer);
trace("[PoszkoleAPI] service manually loaded");
}
private function mindJoltLoadFinished(_arg1:Event):void{
MindJoltAPI = _arg1.currentTarget.content;
MindJoltAPI.service.connect();
trace("[MindJoltAPI] service manually loaded");
}
public function KillPreloader(){
if (mPreloader){
if (mPreloader.parent){
mPreloader.parent.removeChild(mPreloader);
mPreloader = null;
};
};
}
private function CheckMoreGamesBtn2(_arg1:MovieClip):int{
if (mPortal == Portals._123peppy){
if (_arg1){
if (_arg1[this.mMoreGamesName]){
if (_arg1[this.mMoreGamesName].parent == _arg1){
_arg1.removeChild(_arg1[this.mMoreGamesName]);
};
_arg1[this.mMoreGamesName].visible = false;
_arg1[this.mMoreGamesName].alpha = 0;
_arg1[this.mMoreGamesName].scaleX = 0;
_arg1[this.mMoreGamesName].scaleY = 0;
_arg1[this.mMoreGamesName].y = -1000;
_arg1[this.mMoreGamesName].x = -1000;
_arg1[this.mMoreGamesName].mouseEnabled = false;
};
};
};
}
public function InitY8Preloader(){
trace(("mpreloader : " + mPreloader));
mPreloader.gotoAndStop(5);
}
public function InitPreloaderInstance(_arg1:MovieClip){
mPreloader = _arg1;
if (((((!((mPortal == Portals._7k7k))) && (!((mPortal == Portals.youyouwin))))) && (!((mPortal == Portals.mochi))))){
mPreloader.visible = true;
mPreloader.mouseChildren = true;
} else {
mPreloader.gotoAndStop(1);
mPreloader.visible = false;
mPreloader.mouseChildren = false;
};
}
private function SubmitScore2(_arg1:int){
if (mPortal == Portals.mindjolt){
if (MindJoltAPI){
trace(("[MindJoltAPI] Submitting score : " + _arg1));
MindJoltAPI.service.submitScore(_arg1);
} else {
trace("[MindJoltAPI] ERROR MindJoltAPI is null");
};
} else {
if (mPortal == Portals.poszkole){
if (PoszkoleAPI){
trace(("[PoszkoleAPI] Submitting score : " + _arg1));
PoszkoleAPI.submitScore(mGameKey, _arg1);
} else {
trace("[PoszkoleAPI] ERROR PoszkoleAPI is null");
};
} else {
trace("Not submitting score because the portal type is not MindJolt or Poszkole");
};
};
}
public static function StageStop(){
if (cobrand.Global.mMainMC){
cobrand.Global.mMainMC.stop();
};
}
public static function gotoMainMenuY8(){
if (cobrand.Global.mMainMC){
cobrand.Global.KillPreloader();
cobrand.Global.mMainMC.gotoAndStop(16);
};
}
public static function GetMajorBrand():int{
return (cobrand.Global.GetMajorBrand2());
}
public static function Init(_arg1:int, _arg2:MovieClip, _arg3:MovieClip=null){
Global = new cobrand(_arg1, _arg2, _arg3);
}
public static function CheckMoreGamesBtn(_arg1:MovieClip){
cobrand.Global.CheckMoreGamesBtn2(_arg1);
}
public static function SubmitScore(_arg1:int){
if (Global){
Global.SubmitScore2(_arg1);
};
}
public static function gotoMainMenu(){
if (cobrand.Global.mMainMC){
if (cobrand.Global.mPortal != Portals.y8){
cobrand.Global.mMainMC.gotoAndStop(16);
} else {
cobrand.Global.InitY8Preloader();
};
};
}
public static function InitPreloader(_arg1:MovieClip){
cobrand.Global.InitPreloaderInstance(_arg1);
if ((((((cobrand.Global.mPortal == Portals._7k7k)) || ((cobrand.Global.mPortal == Portals.youyouwin)))) || ((cobrand.Global.mPortal == Portals.mochi)))){
return;
};
if (cobrand.Global.mPortal != Portals.didigames){
_arg1.gotoAndStop(2);
} else {
_arg1.gotoAndStop(6);
};
}
public static function GetStage():Stage{
if (cobrand.Global.mMainMC){
return (cobrand.Global.mMainMC.stage);
};
return (null);
}
}
}//package steve
Section 59
//FWAd_AS3 (steve.FWAd_AS3)
package steve {
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.system.*;
public class FWAd_AS3 extends Sprite {
public var loadingBar_bar:Sprite;
public var _FWAd:Object;
public var loadingBar:Sprite;
private var timeoutId:int;// = -1
public static const loadFrameworkTimeoutTime:int = 8;
public static const swfFolder:String = (("http://" + swfDomain) + "/");
public static const loadFrameworkTimes:int = 2;
public static const ifLoadFrameworkErrorCanPlayGame:Boolean = true;
public static const frameworkSWFPath:String = (swfFolder + "Framework.swf");
public static const swfDomain:String = "flashcfg.youyouwin.com";
public static const newsSWFPath:String = (swfFolder + "News.swf");
public static const ifAdFailCanPlayGame:Boolean = true;
public static const ifAddCallBackErrorCanPlayGame:Boolean = false;
public static var xx:int;
public static var hei:int;
public static var loadFrameworkFailed:Boolean;
public static var _stage;
public static var id:String;
public static var xml:XML;
public static var lc_connName:String;
public static var onClickStartBtn:Function;
public static var yy:int;
public static var noShowLogo:Boolean;
public static var loadFrameworkSuccess:Boolean;
public static var frameworkLoader:Loader;
public static var loadGameCompleted:Boolean;
public static var AD_TYPE_CONTAINER:String = "container";
public static var AD_TYPE_LOADING:String = "loading";
public static var noShowForbidden:Boolean;
public static var hasLoadOnce:Boolean;
public static var canNotShowAd:Boolean;
public static var checkNewsFirstInitIntervalId:int = -1;
public static var newsLoader:Loader;
public static var frameworkInitFinished:Boolean;
public static var _root;
public static var newsValues:Object = {x:0, y:0};
public static var wid:int;
public static var news_lc:LocalConnection;
public static var ifIsLoadingAdShowStartBtn:Boolean;
public static var restLoadFrameworkTimes:int;
public static var onLoadXML:Function;
public static var lc:LocalConnection;
public static var lc_sendName:String;
public static var adType:String = AD_TYPE_LOADING;
public function FWAd_AS3(_arg1:Object){
xx = _arg1.x;
yy = _arg1.y;
wid = _arg1.wid;
hei = _arg1.hei;
id = _arg1.id;
adType = _arg1.adType;
ifIsLoadingAdShowStartBtn = _arg1.ifIsLoadingAdShowStartBtn;
noShowLogo = _arg1.noShowLogo;
noShowForbidden = _arg1.noShowForbidden;
if (_arg1.onClickCloseBtn){
onClickStartBtn = _arg1.onClickCloseBtn;
} else {
onClickStartBtn = _arg1.onClickStartBtn;
};
_FWAd = FWAd_AS3;
this.addEventListener(Event.ADDED_TO_STAGE, added);
}
private function added(_arg1:Event):void{
var event = _arg1;
this.removeEventListener(Event.ADDED_TO_STAGE, added);
this.addEventListener(Event.REMOVED_FROM_STAGE, removed);
Security.allowDomain(swfDomain);
Security.allowInsecureDomain(swfDomain);
try {
fscommand("showMenu", "false");
} catch(e:Error) {
};
_root = stage.getChildAt(0);
_stage = stage;
_root.contextMenu = new ContextMenu();
_root.contextMenu.hideBuiltInItems();
try {
fscommand("trapallkeys", "true");
} catch(e:Error) {
};
loadGameCompleted = (_root.loaderInfo.bytesLoaded == _root.loaderInfo.bytesTotal);
if (frameworkLoader){
frameworkInitFinished = true;
checkLoadGameCompleteAndTryStart();
if (frameworkInitFinished){
lc.client = this;
lc.send(lc_sendName, "that2this", "reset");
};
} else {
frameworkLoader = new Loader();
frameworkLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadFrameworkComplete);
frameworkLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadFrameworkError);
restLoadFrameworkTimes = loadFrameworkTimes;
loadFramework();
};
this.addChild(frameworkLoader);
var loadingBar_hei:Number = 8;
var loadingBar_x:Number = 10;
var loadingBar_wid:Number = (wid - (2 * loadingBar_x));
loadingBar = new Sprite();
loadingBar.x = loadingBar_x;
loadingBar.y = ((hei - loadingBar_hei) - 6);
this.addChild(loadingBar);
var loadingBar_bottom:Sprite = new Sprite();
loadingBar.addChild(loadingBar_bottom);
loadingBar_bar = new Sprite();
loadingBar.addChild(loadingBar_bar);
var loadingBar_line:Sprite = new Sprite();
loadingBar.addChild(loadingBar_line);
var g:Graphics = loadingBar_bottom.graphics;
g.clear();
g.beginFill(0x333333);
g.drawRect(0, 0, loadingBar_wid, loadingBar_hei);
g.endFill();
g = loadingBar_bar.graphics;
g.clear();
g.beginGradientFill("linear", [0xFFFFFF, 16750950], [1, 1], [63, 0xFF], new Matrix(0.006, 0, 0, 1, 0, 0));
loadingBar_bar.rotation = 90;
g.drawRect(0, -(loadingBar_wid), loadingBar_hei, loadingBar_wid);
g.endFill();
g = loadingBar_line.graphics;
g.clear();
g.lineStyle(1, 0x666666);
g.drawRect(0, 0, loadingBar_wid, loadingBar_hei);
g.endFill();
loadingBar_bar.width = 1;
loadingBar_bar.scaleX = 1;
switch (adType){
case AD_TYPE_LOADING:
break;
default:
loadingBar.visible = false;
break;
};
if (loadGameCompleted){
loadingBar.visible = false;
} else {
_root.loaderInfo.addEventListener(ProgressEvent.PROGRESS, loadGameProgress);
_root.loaderInfo.addEventListener(Event.COMPLETE, loadGameComplete);
};
}
public function that2this(... _args):void{
var result:*;
var args = _args;
switch (args[0]){
case "initFinished":
frameworkInitFinished = true;
lc.send(lc_sendName, "that2this", "confirmInitFinished", getFWAdValuesByNameArr(args.slice(1)));
break;
case "AsmMachine.run()":
try {
result = Runner.runStr16(this, args[2]);
lc.send(lc_sendName, "that2this", "AsmMachine.run()", args[1], "success", result);
} catch(e:Error) {
lc.send(lc_sendName, "that2this", "AsmMachine.run()", args[1], "error", e.toString());
};
break;
case "clickStartBtn":
clickStartBtn();
break;
case "canNotShowAd":
case "noId":
canNotShowAd = true;
checkLoadGameCompleteAndTryStart();
break;
case "xml":
try {
xml = new XML(args[1]);
} catch(e:Error) {
trace(("e=" + e));
};
if (onLoadXML != null){
onLoadXML();
};
break;
};
}
private function getFWAdValuesByNameArr(_arg1:Array):Object{
var _local3:String;
var _local2:Object = new Object();
for each (_local3 in _arg1) {
_local2[_local3] = FWAd_AS3[_local3];
};
return (_local2);
}
private function clickStartBtn():void{
if (onClickStartBtn != null){
onClickStartBtn();
onClickStartBtn = null;
};
if (this.parent){
this.parent.removeChild(this);
};
this.visible = false;
this.x = -10000;
}
private function loadGameProgress(_arg1:ProgressEvent):void{
var _local2:Number;
switch (adType){
case AD_TYPE_LOADING:
_local2 = (_arg1.bytesLoaded / _arg1.bytesTotal);
loadingBar_bar.scaleX = 1;
loadingBar_bar.scaleY = _local2;
break;
default:
_root.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loadGameProgress);
break;
};
}
private function removed(_arg1:Event):void{
this.removeEventListener(Event.REMOVED_FROM_STAGE, removed);
_root.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loadGameProgress);
_root.loaderInfo.removeEventListener(Event.COMPLETE, loadGameComplete);
onClickStartBtn = null;
if (frameworkInitFinished){
lc.send(lc_sendName, "that2this", "removed");
lc.client = new Object();
};
}
private function loadFrameworkError(_arg1:IOErrorEvent):void{
var event = _arg1;
trace(("剩余尝试加载次数:" + restLoadFrameworkTimes));
clearTimeout(timeoutId);
if (--restLoadFrameworkTimes < 0){
loadFrameworkFailed = true;
checkLoadGameCompleteAndTryStart();
} else {
try {
frameworkLoader.close();
} catch(e:Error) {
};
loadFramework();
};
}
private function loadFrameworkComplete(_arg1:Event):void{
this.addEventListener(Event.ENTER_FRAME, checkFrameworkFirstInit);
}
private function checkFrameworkFirstInit(_arg1:Event){
var movie:AVM1Movie;
var event = _arg1;
try {
movie = (frameworkLoader.content as AVM1Movie);
} catch(e:Error) {
return;
};
var ran:int = Math.round((movie.getBounds(movie).x / 10));
if (ran < -1000){
this.removeEventListener(Event.ENTER_FRAME, checkFrameworkFirstInit);
lc_connName = ("_FWAd" + ran);
lc_sendName = ("_Framework" + ran);
lc = new LocalConnection();
lc.allowDomain("*");
lc.addEventListener(StatusEvent.STATUS, lc_onStatus);
lc.connect(lc_connName);
lc.client = this;
loadFrameworkSuccess = true;
clearTimeout(timeoutId);
checkLoadGameCompleteAndTryStart();
};
}
private function checkLoadGameCompleteAndTryStart():void{
if (loadGameCompleted){
if (loadFrameworkFailed){
trace("加载 framework 失败");
if (((ifLoadFrameworkErrorCanPlayGame) || (checkIsOurDomain()))){
trace("自动跳到游戏");
clickStartBtn();
} else {
trace("不自动跳到游戏");
};
} else {
if (canNotShowAd){
if (checkIsOurDomain()){
clickStartBtn();
};
};
};
};
}
private function loadFrameworkTimeout():void{
trace("loadFrameworkTimeout");
loadFrameworkError(null);
}
private function loadGameComplete(_arg1:Event):void{
loadGameCompleted = true;
loadingBar.visible = false;
checkLoadGameCompleteAndTryStart();
if (frameworkInitFinished){
lc.send(lc_sendName, "that2this", "loadGameCompleted");
};
}
private function loadFramework():void{
frameworkLoader.load(new URLRequest(frameworkSWFPath));
clearTimeout(timeoutId);
timeoutId = setTimeout(loadFrameworkTimeout, (loadFrameworkTimeoutTime * 1000));
}
private function lc_onStatus(_arg1:StatusEvent):void{
switch (_arg1.level){
case "error":
trace(("lc onStatus 出错 event=" + _arg1));
break;
};
}
public function closeAd():void{
clickStartBtn();
}
private function checkIsOurDomain():Boolean{
var _local1:String;
if (_root.loaderInfo){
_local1 = _root.loaderInfo.url.toLowerCase();
return ((((((((_local1.indexOf(".youyouwin.com/") > 0)) || ((_local1.indexOf(".7k7k.com/") > 0)))) || ((_local1.indexOf(".flash8.net/") > 0)))) || ((_local1.indexOf("file:///") == 0))));
};
return (true);
}
public static function showNews(_arg1:Object=null):void{
var _local2:String;
clearInterval(checkNewsFirstInitIntervalId);
newsValues.wid = wid;
for (_local2 in _arg1) {
newsValues[_local2] = _arg1[_local2];
};
if (newsValues.id){
} else {
newsValues.id = (id + "_news");
};
var _local3:Sprite = ((newsValues.container) || (_root));
if (_local3){
newsLoader = new Loader();
_local3.addChild(newsLoader);
newsLoader.x = newsValues.x;
newsLoader.y = newsValues.y;
newsLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadNewsComplete);
newsLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadNewsError);
newsLoader.load(new URLRequest(newsSWFPath));
} else {
trace("未指定容器,请改成例如: FWAd_AS3.showNews({container:root}");
};
news_lc = new LocalConnection();
news_lc.addEventListener(StatusEvent.STATUS, news_lc_status);
}
public static function checkNewsFirstInit():void{
var movie:AVM1Movie;
try {
movie = (newsLoader.content as AVM1Movie);
} catch(e:Error) {
return;
};
var ran:int = Math.round((movie.getBounds(movie).x / 10));
if (ran < -1000){
clearInterval(checkNewsFirstInitIntervalId);
news_lc.send(("_News" + ran), "that2this", "newsValues", newsValues);
};
}
public static function showAd(_arg1:Object=null):void{
var _local3:String;
var _local4:Sprite;
var _local2:Object = {x:xx, y:yy, wid:wid, hei:hei, id:id, adType:AD_TYPE_CONTAINER};
for (_local3 in _arg1) {
_local2[_local3] = _arg1[_local3];
};
_local4 = ((_local2.container) || (_root));
if (_local4){
if (_local2.adType == AD_TYPE_LOADING){
if (hasLoadOnce){
trace("缓冲广告不允许重复初始化");
return;
};
hasLoadOnce = true;
};
} else {
trace("未指定容器,请改成例如: FWAd_AS3.showAd({container:root}");
return;
};
_local4.addChild(new FWAd_AS3(_local2));
}
public static function loadNewsError(_arg1:IOErrorEvent):void{
}
public static function loadNewsComplete(_arg1:Event):void{
clearInterval(checkNewsFirstInitIntervalId);
checkNewsFirstInitIntervalId = setInterval(checkNewsFirstInit, 100);
}
public static function news_lc_status(... _args):void{
}
public static function getParam(_arg1:String):String{
if (xml){
return (String(xml.attribute(_arg1)));
};
trace("xml未加载完毕, 或xml加载失败");
return (null);
}
}
}//package steve
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
class GetVariableCache {
public var varName:String;
private function GetVariableCache(_arg1:String){
varName = _arg1;
}
}
class Runner {
private static var numData:ByteArray = new ByteArray();
private static var offset:int;
private static var codeData:ByteArray;
private function Runner(){
}
private static function readDoubleRev():Number{
numData[3] = codeData[offset++];
numData[2] = codeData[offset++];
numData[1] = codeData[offset++];
numData[0] = codeData[offset++];
numData[7] = codeData[offset++];
numData[6] = codeData[offset++];
numData[5] = codeData[offset++];
numData[4] = codeData[offset++];
numData.position = 0;
return (numData.readDouble());
}
public static function run(_arg1, _arg2:ByteArray){
var _local9:int;
var _local10:String;
var _local11:int;
var _local12:int;
var _local13:String;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:*;
var _local18:int;
var _local19:String;
var _local20:String;
var _local21:int;
var _local22:Class;
var _local23:*;
var _local24:int;
var _local25:int;
var _local26:int;
var _local27:int;
codeData = _arg2;
if (codeData.length > 0){
} else {
return;
};
codeData.uncompress();
var _local3:Array = new Array();
var _local4:int = codeData.readShort();
var _local5:Array = codeData.readObject();
var _local6:Array = codeData.readObject();
if (_local5){
_local9 = _local5.length;
while (--_local9 >= 0) {
_local10 = _local5[_local9];
if (_local10 === null){
} else {
switch (_local10){
case "this":
case "'this'":
_local5[_local9] = _arg1;
break;
case "arguments":
case "'arguments'":
throw (new Error("暂不支持 arguments"));
case "super":
case "'super'":
throw (new Error("暂不支持 super"));
case "_root":
_local5[_local9] = _arg1.root;
break;
case "_parent":
_local5[_local9] = _arg1.parent;
break;
case "_global":
throw (new Error("暂不支持 _global"));
};
};
};
} else {
_local5 = new Array();
};
var _local7:Array = new Array();
offset = codeData.position;
var _local8:int = codeData.length;
while (offset < _local8) {
_local26 = codeData[offset++];
if (_local26 >= 128){
var _temp1 = codeData[offset++];
_local25 = (_temp1 | (codeData[offset++] << 8));
} else {
_local25 = 0;
};
switch (_local26){
case 0:
break;
case 4:
if ((_arg1 is MovieClip)){
_arg1.nextFrame();
};
break;
case 5:
if ((_arg1 is MovieClip)){
_arg1.prevFrame();
};
break;
case 6:
if ((_arg1 is MovieClip)){
_arg1.play();
};
break;
case 7:
if ((_arg1 is MovieClip)){
_arg1.stop();
};
break;
case 11:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 - _local17);
_local3.push(_local15);
break;
case 12:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 * _local17);
_local3.push(_local15);
break;
case 13:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 / _local17);
_local3.push(_local15);
break;
case 16:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = ((_local16) && (_local17));
_local3.push(_local15);
break;
case 17:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = ((_local16) || (_local17));
_local3.push(_local15);
break;
case 18:
_local15 = _local3.pop();
_local15 = !(_local15);
_local3.push(_local15);
break;
case 19:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 == _local17);
_local3.push(_local15);
break;
case 23:
_local3.pop();
break;
case 24:
_local15 = _local3.pop();
_local15 = int(_local15);
_local3.push(_local15);
break;
case 28:
cacheVariable(_local3);
break;
case 29:
throw (new Error("不支持 setVariable"));
case 38:
_local15 = _local3.pop();
trace(_local15);
break;
case 48:
_local15 = _local3.pop();
_local15 = int(_local15);
if (_local15 <= 0){
_local15 = 0;
} else {
_local15 = int((Math.random() * _local15));
};
_local3.push(_local15);
break;
case 50:
_local15 = _local3.pop();
_local15 = _local15.charCodeAt(0);
_local3.push(_local15);
break;
case 51:
_local15 = _local3.pop();
_local15 = String.fromCharCode(_local15);
_local3.push(_local15);
break;
case 52:
_local15 = getTimer();
_local3.push(_local15);
break;
case 61:
_local20 = getFNameAndArgs(_local3, _local7);
_local15 = _arg1[_local20].apply(_arg1, _local7);
_local3.push(_local15);
break;
case 62:
_local15 = _local3.pop();
return (_local15);
case 63:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 % _local17);
_local3.push(_local15);
break;
case 64:
_local20 = getFNameAndArgs(_local3, _local7);
_local15 = newClass(_local20, _local7);
_local3.push(_local15);
break;
case 66:
_local21 = _local3.pop();
_local15 = new Array();
while (--_local21 >= 0) {
_local15.push(_local3.pop());
};
_local3.push(_local15);
break;
case 67:
_local21 = _local3.pop();
_local15 = new Object();
while (--_local21 >= 0) {
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15[_local16] = _local17;
};
_local3.push(_local15);
break;
case 68:
_local15 = _local3.pop();
_local15 = typeof(_local15);
_local3.push(_local15);
break;
case 71:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 + _local17);
_local3.push(_local15);
break;
case 72:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 < _local17);
_local3.push(_local15);
break;
case 73:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 == _local17);
_local3.push(_local15);
break;
case 74:
_local15 = _local3.pop();
_local15 = Number(_local15);
_local3.push(_local15);
break;
case 75:
_local15 = _local3.pop();
_local15 = String(_local15);
_local3.push(_local15);
break;
case 76:
_local15 = _local3.pop();
_local3.push(_local15);
_local3.push(_local15);
break;
case 77:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local3.push(_local17);
_local3.push(_local16);
break;
case 78:
cacheMember(_local3);
break;
case 79:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = _local3.pop();
_local15[_local16] = _local17;
break;
case 80:
_local15 = _local3.pop();
_local15++;
_local3.push(_local15);
break;
case 81:
_local15 = _local3.pop();
_local15--;
_local3.push(_local15);
break;
case 82:
_local20 = _local3.pop();
_local23 = _local3.pop();
_local21 = _local3.pop();
_local15 = new Array();
while (--_local21 >= 0) {
_local15.push(_local3.pop());
};
_local15 = _local23[_local20].apply(_local23, _local15);
_local3.push(_local15);
break;
case 83:
_local13 = cacheMember(_local3);
_local3.pop();
_local3.push(_local13);
_local20 = getFNameAndArgs(_local3, _local7);
_local15 = newClass(_local20, _local7);
_local3.push(_local15);
break;
case 84:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 is _local17);
_local3.push(_local15);
break;
case 85:
_local14 = _local3.pop();
_local3.push(null);
for (_local13 in _local14) {
_local3.push(_local13);
};
break;
case 96:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 & _local17);
_local3.push(_local15);
break;
case 97:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 | _local17);
_local3.push(_local15);
break;
case 98:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 ^ _local17);
_local3.push(_local15);
break;
case 99:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 << _local17);
_local3.push(_local15);
break;
case 100:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 >> _local17);
_local3.push(_local15);
break;
case 101:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 >>> _local17);
_local3.push(_local15);
break;
case 102:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 === _local17);
_local3.push(_local15);
break;
case 103:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 > _local17);
_local3.push(_local15);
break;
case 129:
if ((_arg1 is MovieClip)){
var _temp2 = codeData[offset++];
_arg1.gotoAndStop(((_temp2 | (codeData[offset++] << 8)) + 1));
} else {
offset = (offset + 2);
};
break;
case 131:
_local16 = getStr();
_local17 = getStr();
if (_local16.indexOf("FSCommand:") == 0){
_local16 = _local16.substr(10);
fscommand(_local16, _local17);
} else {
if (_local17.indexOf("_level") == 0){
} else {
navigateToURL(new URLRequest(_local16), _local17);
};
};
break;
case 135:
_local18 = codeData[offset++];
_local15 = _local3[(_local3.length - 1)];
_local5[_local18] = _local15;
break;
case 150:
_local27 = (offset + _local25);
while (offset < _local27) {
switch (codeData[offset++]){
case 0:
_local3.push(getStr());
break;
case 1:
_local3.push(readFloatRev());
break;
case 2:
_local3.push(null);
break;
case 3:
_local3.push(undefined);
break;
case 4:
_local3.push(_local5[codeData[offset++]]);
break;
case 5:
_local3.push((codeData[offset++]) ? true : false);
break;
case 6:
_local3.push(readDoubleRev());
break;
case 7:
var _temp3 = codeData[offset++];
var _temp4 = (_temp3 | (codeData[offset++] << 8));
var _temp5 = (_temp4 | (codeData[offset++] << 16));
_local3.push((_temp5 | (codeData[offset++] << 24)));
break;
case 8:
_local3.push(_local6[codeData[offset++]]);
break;
case 9:
var _temp6 = codeData[offset++];
_local3.push(_local6[(_temp6 | (codeData[offset++] << 8))]);
break;
default:
throw (new Error("未处理的 push type"));
};
};
break;
case 153:
var _temp7 = codeData[offset++];
_local24 = (_temp7 | (codeData[offset++] << 8));
if ((_local24 >>> 15)){
_local24 = (_local24 | 4294901760);
};
offset = (offset + _local24);
break;
case 157:
_local15 = _local3.pop();
if (_local15){
var _temp8 = codeData[offset++];
_local24 = (_temp8 | (codeData[offset++] << 8));
if ((_local24 >>> 15)){
_local24 = (_local24 | 4294901760);
};
offset = (offset + _local24);
} else {
offset = (offset + 2);
};
break;
default:
throw (new Error(("暂不支持的 op: " + _local26)));
};
};
return (null);
}
private static function varName2Obj(_arg1:String){
var varName = _arg1;
try {
return (getDefinitionByName(varName));
} catch(e:Error) {
};
try {
return (getDefinitionByName(("flash.display." + varName)));
} catch(e:Error) {
};
try {
return (getDefinitionByName(("flash.text." + varName)));
} catch(e:Error) {
};
return (new GetVariableCache(varName));
}
public static function runStr16(_arg1, _arg2:String){
var _local3:Array = _arg2.split(" ");
var _local4:ByteArray = new ByteArray();
var _local5:int;
for each (_arg2 in _local3) {
var _temp1 = _local5;
_local5 = (_local5 + 1);
var _local8 = _temp1;
_local4[_local8] = int(("0x" + _arg2));
};
return (run(_arg1, _local4));
}
private static function newClass(_arg1:String, _arg2:Array){
var _local3:Class = (varName2Obj(_arg1) as Class);
switch (_arg2.length){
case 0:
return (new (_local3));
case 1:
return (new _local3(_arg2[0]));
case 2:
return (new _local3(_arg2[0], _arg2[1]));
case 3:
return (new _local3(_arg2[0], _arg2[1], _arg2[2]));
case 4:
return (new _local3(_arg2[0], _arg2[1], _arg2[2], _arg2[3]));
case 5:
return (new _local3(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4]));
case 6:
return (new _local3(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4], _arg2[5]));
case 7:
return (new _local3(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4], _arg2[5], _arg2[6]));
case 8:
return (new _local3(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4], _arg2[5], _arg2[6], _arg2[7]));
case 9:
return (new _local3(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4], _arg2[5], _arg2[6], _arg2[7], _arg2[8]));
case 10:
return (new _local3(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4], _arg2[5], _arg2[6], _arg2[7], _arg2[8], _arg2[9]));
default:
throw (new Error(("暂不支持的参数个数: " + _arg2.length)));
};
}
private static function getFNameAndArgs(_arg1:Array, _arg2:Array, _arg3:Boolean=true):String{
var _local4:String;
_arg2.splice(0, _arg2.length);
if (_arg3){
_local4 = _arg1.pop();
};
var _local5:int = _arg1.pop();
while (--_local5 >= 0) {
_arg2.push(_arg1.pop());
};
return (_local4);
}
private static function getStr():String{
var _local1:int;
if (codeData[offset]){
_local1 = 1;
do {
var _temp1 = _local1;
_local1 = (_local1 + 1);
} while (codeData[(offset + _temp1)]);
codeData.position = offset;
offset = (offset + _local1);
return (codeData.readUTFBytes(_local1));
};
offset++;
return ("");
}
private static function cacheMember(_arg1:Array):String{
var varName:String;
var value:*;
var stack = _arg1;
varName = stack.pop();
var obj:Object = stack.pop();
if ((obj is GetVariableCache)){
varName = (((obj as GetVariableCache).varName + ".") + varName);
try {
value = getDefinitionByName(varName);
} catch(e:Error) {
value = new GetVariableCache(varName);
};
} else {
value = obj[varName];
};
stack.push(value);
return (varName);
}
private static function readFloatRev():Number{
numData[3] = codeData[offset++];
numData[2] = codeData[offset++];
numData[1] = codeData[offset++];
numData[0] = codeData[offset++];
numData.position = 0;
return (numData.readFloat());
}
private static function cacheVariable(_arg1:Array):String{
var _local2:String = _arg1.pop();
var _local3:* = varName2Obj(_local2);
_arg1.push(_local3);
return (_local2);
}
}
Section 60
//FWAd_AS3_b (steve.FWAd_AS3_b)
package steve {
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.system.*;
public class FWAd_AS3_b extends Sprite {
public var loadingBar_bar:Sprite;
public var _FWAd:Object;
public var loadingBar:Sprite;
private var timeoutId:int;// = -1
public static const loadFrameworkTimeoutTime:int = 8;
public static const swfFolder:String = (("http://" + swfDomain) + "/");
public static const loadFrameworkTimes:int = 2;
public static const ifLoadFrameworkErrorCanPlayGame:Boolean = true;
public static const frameworkSWFPath:String = (swfFolder + "Framework.swf");
public static const swfDomain:String = "flashcfg.youyouwin.com";
public static const newsSWFPath:String = (swfFolder + "News.swf");
public static const ifAdFailCanPlayGame:Boolean = true;
public static const ifAddCallBackErrorCanPlayGame:Boolean = false;
public static var xx:int;
public static var hei:int;
public static var loadFrameworkFailed:Boolean;
public static var _stage;
public static var id:String;
public static var xml:XML;
public static var lc_connName:String;
public static var onClickStartBtn:Function;
public static var yy:int;
public static var noShowLogo:Boolean;
public static var loadFrameworkSuccess:Boolean;
public static var frameworkLoader:Loader;
public static var loadGameCompleted:Boolean;
public static var AD_TYPE_CONTAINER:String = "container";
public static var AD_TYPE_LOADING:String = "loading";
public static var noShowForbidden:Boolean;
public static var hasLoadOnce:Boolean;
public static var canNotShowAd:Boolean;
public static var checkNewsFirstInitIntervalId:int = -1;
public static var newsLoader:Loader;
public static var frameworkInitFinished:Boolean;
public static var _root;
public static var newsValues:Object = {x:0, y:0};
public static var wid:int;
public static var news_lc:LocalConnection;
public static var ifIsLoadingAdShowStartBtn:Boolean;
public static var restLoadFrameworkTimes:int;
public static var onLoadXML:Function;
public static var lc:LocalConnection;
public static var lc_sendName:String;
public static var adType:String = AD_TYPE_LOADING;
public function FWAd_AS3_b(_arg1:Object){
xx = _arg1.x;
yy = _arg1.y;
wid = _arg1.wid;
hei = _arg1.hei;
id = _arg1.id;
adType = _arg1.adType;
ifIsLoadingAdShowStartBtn = _arg1.ifIsLoadingAdShowStartBtn;
noShowLogo = _arg1.noShowLogo;
noShowForbidden = _arg1.noShowForbidden;
if (_arg1.onClickCloseBtn){
onClickStartBtn = _arg1.onClickCloseBtn;
} else {
onClickStartBtn = _arg1.onClickStartBtn;
};
_FWAd = FWAd_AS3_b;
this.addEventListener(Event.ADDED_TO_STAGE, added);
}
private function added(_arg1:Event):void{
var event = _arg1;
this.removeEventListener(Event.ADDED_TO_STAGE, added);
this.addEventListener(Event.REMOVED_FROM_STAGE, removed);
Security.allowDomain(swfDomain);
Security.allowInsecureDomain(swfDomain);
try {
fscommand("showMenu", "false");
} catch(e:Error) {
};
_root = stage.getChildAt(0);
_stage = stage;
_root.contextMenu = new ContextMenu();
_root.contextMenu.hideBuiltInItems();
try {
fscommand("trapallkeys", "true");
} catch(e:Error) {
};
loadGameCompleted = (_root.loaderInfo.bytesLoaded == _root.loaderInfo.bytesTotal);
if (frameworkLoader){
frameworkInitFinished = true;
checkLoadGameCompleteAndTryStart();
if (frameworkInitFinished){
lc.client = this;
lc.send(lc_sendName, "that2this", "reset");
};
} else {
frameworkLoader = new Loader();
frameworkLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadFrameworkComplete);
frameworkLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadFrameworkError);
restLoadFrameworkTimes = loadFrameworkTimes;
loadFramework();
};
this.addChild(frameworkLoader);
var loadingBar_hei:Number = 8;
var loadingBar_x:Number = 10;
var loadingBar_wid:Number = (wid - (2 * loadingBar_x));
loadingBar = new Sprite();
loadingBar.x = loadingBar_x;
loadingBar.y = ((hei - loadingBar_hei) - 6);
this.addChild(loadingBar);
var loadingBar_bottom:Sprite = new Sprite();
loadingBar.addChild(loadingBar_bottom);
loadingBar_bar = new Sprite();
loadingBar.addChild(loadingBar_bar);
var loadingBar_line:Sprite = new Sprite();
loadingBar.addChild(loadingBar_line);
var g:Graphics = loadingBar_bottom.graphics;
g.clear();
g.beginFill(0x333333);
g.drawRect(0, 0, loadingBar_wid, loadingBar_hei);
g.endFill();
g = loadingBar_bar.graphics;
g.clear();
g.beginGradientFill("linear", [0xFFFFFF, 16750950], [1, 1], [63, 0xFF], new Matrix(0.006, 0, 0, 1, 0, 0));
loadingBar_bar.rotation = 90;
g.drawRect(0, -(loadingBar_wid), loadingBar_hei, loadingBar_wid);
g.endFill();
g = loadingBar_line.graphics;
g.clear();
g.lineStyle(1, 0x666666);
g.drawRect(0, 0, loadingBar_wid, loadingBar_hei);
g.endFill();
loadingBar_bar.width = 1;
loadingBar_bar.scaleX = 1;
switch (adType){
case AD_TYPE_LOADING:
break;
default:
loadingBar.visible = false;
break;
};
if (loadGameCompleted){
loadingBar.visible = false;
} else {
_root.loaderInfo.addEventListener(ProgressEvent.PROGRESS, loadGameProgress);
_root.loaderInfo.addEventListener(Event.COMPLETE, loadGameComplete);
};
}
public function that2this(... _args):void{
var result:*;
var args = _args;
switch (args[0]){
case "initFinished":
frameworkInitFinished = true;
lc.send(lc_sendName, "that2this", "confirmInitFinished", getFWAdValuesByNameArr(args.slice(1)));
break;
case "AsmMachine.run()":
try {
result = Runner.runStr16(this, args[2]);
lc.send(lc_sendName, "that2this", "AsmMachine.run()", args[1], "success", result);
} catch(e:Error) {
lc.send(lc_sendName, "that2this", "AsmMachine.run()", args[1], "error", e.toString());
};
break;
case "clickStartBtn":
clickStartBtn();
break;
case "canNotShowAd":
case "noId":
canNotShowAd = true;
checkLoadGameCompleteAndTryStart();
break;
case "xml":
try {
xml = new XML(args[1]);
} catch(e:Error) {
trace(("e=" + e));
};
if (onLoadXML != null){
onLoadXML();
};
break;
};
}
private function getFWAdValuesByNameArr(_arg1:Array):Object{
var _local3:String;
var _local2:Object = new Object();
for each (_local3 in _arg1) {
_local2[_local3] = FWAd_AS3_b[_local3];
};
return (_local2);
}
private function clickStartBtn():void{
if (onClickStartBtn != null){
onClickStartBtn();
onClickStartBtn = null;
};
if (this.parent){
this.parent.removeChild(this);
};
this.visible = false;
this.x = -10000;
}
private function loadGameProgress(_arg1:ProgressEvent):void{
var _local2:Number;
switch (adType){
case AD_TYPE_LOADING:
_local2 = (_arg1.bytesLoaded / _arg1.bytesTotal);
loadingBar_bar.scaleX = 1;
loadingBar_bar.scaleY = _local2;
break;
default:
_root.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loadGameProgress);
break;
};
}
private function removed(_arg1:Event):void{
this.removeEventListener(Event.REMOVED_FROM_STAGE, removed);
_root.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loadGameProgress);
_root.loaderInfo.removeEventListener(Event.COMPLETE, loadGameComplete);
onClickStartBtn = null;
if (frameworkInitFinished){
lc.send(lc_sendName, "that2this", "removed");
lc.client = new Object();
};
}
private function loadFrameworkError(_arg1:IOErrorEvent):void{
var event = _arg1;
trace(("剩余尝试加载次数:" + restLoadFrameworkTimes));
clearTimeout(timeoutId);
if (--restLoadFrameworkTimes < 0){
loadFrameworkFailed = true;
checkLoadGameCompleteAndTryStart();
} else {
try {
frameworkLoader.close();
} catch(e:Error) {
};
loadFramework();
};
}
private function loadFrameworkComplete(_arg1:Event):void{
this.addEventListener(Event.ENTER_FRAME, checkFrameworkFirstInit);
}
private function checkFrameworkFirstInit(_arg1:Event){
var movie:AVM1Movie;
var event = _arg1;
try {
movie = (frameworkLoader.content as AVM1Movie);
} catch(e:Error) {
return;
};
var ran:int = Math.round((movie.getBounds(movie).x / 10));
if (ran < -1000){
this.removeEventListener(Event.ENTER_FRAME, checkFrameworkFirstInit);
lc_connName = ("_FWAd" + ran);
lc_sendName = ("_Framework" + ran);
lc = new LocalConnection();
lc.allowDomain("*");
lc.addEventListener(StatusEvent.STATUS, lc_onStatus);
lc.connect(lc_connName);
lc.client = this;
loadFrameworkSuccess = true;
clearTimeout(timeoutId);
checkLoadGameCompleteAndTryStart();
};
}
private function checkLoadGameCompleteAndTryStart():void{
if (loadGameCompleted){
if (loadFrameworkFailed){
trace("加载 framework 失败");
if (((ifLoadFrameworkErrorCanPlayGame) || (checkIsOurDomain()))){
trace("自动跳到游戏");
clickStartBtn();
} else {
trace("不自动跳到游戏");
};
} else {
if (canNotShowAd){
if (checkIsOurDomain()){
clickStartBtn();
};
};
};
};
}
private function loadFrameworkTimeout():void{
trace("loadFrameworkTimeout");
loadFrameworkError(null);
}
private function loadGameComplete(_arg1:Event):void{
loadGameCompleted = true;
loadingBar.visible = false;
checkLoadGameCompleteAndTryStart();
if (frameworkInitFinished){
lc.send(lc_sendName, "that2this", "loadGameCompleted");
};
}
private function loadFramework():void{
frameworkLoader.load(new URLRequest(frameworkSWFPath));
clearTimeout(timeoutId);
timeoutId = setTimeout(loadFrameworkTimeout, (loadFrameworkTimeoutTime * 1000));
}
private function lc_onStatus(_arg1:StatusEvent):void{
switch (_arg1.level){
case "error":
trace(("lc onStatus 出错 event=" + _arg1));
break;
};
}
public function closeAd():void{
clickStartBtn();
}
private function checkIsOurDomain():Boolean{
var _local1:String;
if (_root.loaderInfo){
_local1 = _root.loaderInfo.url.toLowerCase();
return ((((((((_local1.indexOf(".youyouwin.com/") > 0)) || ((_local1.indexOf(".7k7k.com/") > 0)))) || ((_local1.indexOf(".flash8.net/") > 0)))) || ((_local1.indexOf("file:///") == 0))));
};
return (true);
}
public static function showNews(_arg1:Object=null):void{
var _local2:String;
clearInterval(checkNewsFirstInitIntervalId);
newsValues.wid = wid;
for (_local2 in _arg1) {
newsValues[_local2] = _arg1[_local2];
};
if (newsValues.id){
} else {
newsValues.id = (id + "_news");
};
var _local3:Sprite = ((newsValues.container) || (_root));
if (_local3){
newsLoader = new Loader();
_local3.addChild(newsLoader);
newsLoader.x = newsValues.x;
newsLoader.y = newsValues.y;
newsLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadNewsComplete);
newsLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadNewsError);
newsLoader.load(new URLRequest(newsSWFPath));
} else {
trace("未指定容器,请改成例如: FWAd_AS3_b.showNews({container:root}");
};
news_lc = new LocalConnection();
news_lc.addEventListener(StatusEvent.STATUS, news_lc_status);
}
public static function checkNewsFirstInit():void{
var movie:AVM1Movie;
try {
movie = (newsLoader.content as AVM1Movie);
} catch(e:Error) {
return;
};
var ran:int = Math.round((movie.getBounds(movie).x / 10));
if (ran < -1000){
clearInterval(checkNewsFirstInitIntervalId);
news_lc.send(("_News" + ran), "that2this", "newsValues", newsValues);
};
}
public static function showAd(_arg1:Object=null):void{
var _local3:String;
var _local4:Sprite;
var _local2:Object = {x:xx, y:yy, wid:wid, hei:hei, id:id, adType:AD_TYPE_CONTAINER};
for (_local3 in _arg1) {
_local2[_local3] = _arg1[_local3];
};
_local4 = ((_local2.container) || (_root));
if (_local4){
if (_local2.adType == AD_TYPE_LOADING){
if (hasLoadOnce){
trace("缓冲广告不允许重复初始化");
return;
};
hasLoadOnce = true;
};
} else {
trace("未指定容器,请改成例如: FWAd_AS3_b.showAd({container:root}");
return;
};
_local4.addChild(new FWAd_AS3_b(_local2));
}
public static function loadNewsError(_arg1:IOErrorEvent):void{
}
public static function loadNewsComplete(_arg1:Event):void{
clearInterval(checkNewsFirstInitIntervalId);
checkNewsFirstInitIntervalId = setInterval(checkNewsFirstInit, 100);
}
public static function news_lc_status(... _args):void{
}
public static function getParam(_arg1:String):String{
if (xml){
return (String(xml.attribute(_arg1)));
};
trace("xml未加载完毕, 或xml加载失败");
return (null);
}
}
}//package steve
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
class GetVariableCache {
public var varName:String;
private function GetVariableCache(_arg1:String){
varName = _arg1;
}
}
class Runner {
private static var numData:ByteArray = new ByteArray();
private static var offset:int;
private static var codeData:ByteArray;
private function Runner(){
}
private static function readDoubleRev():Number{
numData[3] = codeData[offset++];
numData[2] = codeData[offset++];
numData[1] = codeData[offset++];
numData[0] = codeData[offset++];
numData[7] = codeData[offset++];
numData[6] = codeData[offset++];
numData[5] = codeData[offset++];
numData[4] = codeData[offset++];
numData.position = 0;
return (numData.readDouble());
}
public static function run(_arg1, _arg2:ByteArray){
var _local9:int;
var _local10:String;
var _local11:int;
var _local12:int;
var _local13:String;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:*;
var _local18:int;
var _local19:String;
var _local20:String;
var _local21:int;
var _local22:Class;
var _local23:*;
var _local24:int;
var _local25:int;
var _local26:int;
var _local27:int;
codeData = _arg2;
if (codeData.length > 0){
} else {
return;
};
codeData.uncompress();
var _local3:Array = new Array();
var _local4:int = codeData.readShort();
var _local5:Array = codeData.readObject();
var _local6:Array = codeData.readObject();
if (_local5){
_local9 = _local5.length;
while (--_local9 >= 0) {
_local10 = _local5[_local9];
if (_local10 === null){
} else {
switch (_local10){
case "this":
case "'this'":
_local5[_local9] = _arg1;
break;
case "arguments":
case "'arguments'":
throw (new Error("暂不支持 arguments"));
case "super":
case "'super'":
throw (new Error("暂不支持 super"));
case "_root":
_local5[_local9] = _arg1.root;
break;
case "_parent":
_local5[_local9] = _arg1.parent;
break;
case "_global":
throw (new Error("暂不支持 _global"));
};
};
};
} else {
_local5 = new Array();
};
var _local7:Array = new Array();
offset = codeData.position;
var _local8:int = codeData.length;
while (offset < _local8) {
_local26 = codeData[offset++];
if (_local26 >= 128){
var _temp1 = codeData[offset++];
_local25 = (_temp1 | (codeData[offset++] << 8));
} else {
_local25 = 0;
};
switch (_local26){
case 0:
break;
case 4:
if ((_arg1 is MovieClip)){
_arg1.nextFrame();
};
break;
case 5:
if ((_arg1 is MovieClip)){
_arg1.prevFrame();
};
break;
case 6:
if ((_arg1 is MovieClip)){
_arg1.play();
};
break;
case 7:
if ((_arg1 is MovieClip)){
_arg1.stop();
};
break;
case 11:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 - _local17);
_local3.push(_local15);
break;
case 12:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 * _local17);
_local3.push(_local15);
break;
case 13:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 / _local17);
_local3.push(_local15);
break;
case 16:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = ((_local16) && (_local17));
_local3.push(_local15);
break;
case 17:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = ((_local16) || (_local17));
_local3.push(_local15);
break;
case 18:
_local15 = _local3.pop();
_local15 = !(_local15);
_local3.push(_local15);
break;
case 19:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 == _local17);
_local3.push(_local15);
break;
case 23:
_local3.pop();
break;
case 24:
_local15 = _local3.pop();
_local15 = int(_local15);
_local3.push(_local15);
break;
case 28:
cacheVariable(_local3);
break;
case 29:
throw (new Error("不支持 setVariable"));
case 38:
_local15 = _local3.pop();
trace(_local15);
break;
case 48:
_local15 = _local3.pop();
_local15 = int(_local15);
if (_local15 <= 0){
_local15 = 0;
} else {
_local15 = int((Math.random() * _local15));
};
_local3.push(_local15);
break;
case 50:
_local15 = _local3.pop();
_local15 = _local15.charCodeAt(0);
_local3.push(_local15);
break;
case 51:
_local15 = _local3.pop();
_local15 = String.fromCharCode(_local15);
_local3.push(_local15);
break;
case 52:
_local15 = getTimer();
_local3.push(_local15);
break;
case 61:
_local20 = getFNameAndArgs(_local3, _local7);
_local15 = _arg1[_local20].apply(_arg1, _local7);
_local3.push(_local15);
break;
case 62:
_local15 = _local3.pop();
return (_local15);
case 63:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 % _local17);
_local3.push(_local15);
break;
case 64:
_local20 = getFNameAndArgs(_local3, _local7);
_local15 = newClass(_local20, _local7);
_local3.push(_local15);
break;
case 66:
_local21 = _local3.pop();
_local15 = new Array();
while (--_local21 >= 0) {
_local15.push(_local3.pop());
};
_local3.push(_local15);
break;
case 67:
_local21 = _local3.pop();
_local15 = new Object();
while (--_local21 >= 0) {
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15[_local16] = _local17;
};
_local3.push(_local15);
break;
case 68:
_local15 = _local3.pop();
_local15 = typeof(_local15);
_local3.push(_local15);
break;
case 71:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 + _local17);
_local3.push(_local15);
break;
case 72:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 < _local17);
_local3.push(_local15);
break;
case 73:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 == _local17);
_local3.push(_local15);
break;
case 74:
_local15 = _local3.pop();
_local15 = Number(_local15);
_local3.push(_local15);
break;
case 75:
_local15 = _local3.pop();
_local15 = String(_local15);
_local3.push(_local15);
break;
case 76:
_local15 = _local3.pop();
_local3.push(_local15);
_local3.push(_local15);
break;
case 77:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local3.push(_local17);
_local3.push(_local16);
break;
case 78:
cacheMember(_local3);
break;
case 79:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = _local3.pop();
_local15[_local16] = _local17;
break;
case 80:
_local15 = _local3.pop();
_local15++;
_local3.push(_local15);
break;
case 81:
_local15 = _local3.pop();
_local15--;
_local3.push(_local15);
break;
case 82:
_local20 = _local3.pop();
_local23 = _local3.pop();
_local21 = _local3.pop();
_local15 = new Array();
while (--_local21 >= 0) {
_local15.push(_local3.pop());
};
_local15 = _local23[_local20].apply(_local23, _local15);
_local3.push(_local15);
break;
case 83:
_local13 = cacheMember(_local3);
_local3.pop();
_local3.push(_local13);
_local20 = getFNameAndArgs(_local3, _local7);
_local15 = newClass(_local20, _local7);
_local3.push(_local15);
break;
case 84:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 is _local17);
_local3.push(_local15);
break;
case 85:
_local14 = _local3.pop();
_local3.push(null);
for (_local13 in _local14) {
_local3.push(_local13);
};
break;
case 96:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 & _local17);
_local3.push(_local15);
break;
case 97:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 | _local17);
_local3.push(_local15);
break;
case 98:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 ^ _local17);
_local3.push(_local15);
break;
case 99:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 << _local17);
_local3.push(_local15);
break;
case 100:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 >> _local17);
_local3.push(_local15);
break;
case 101:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 >>> _local17);
_local3.push(_local15);
break;
case 102:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 === _local17);
_local3.push(_local15);
break;
case 103:
_local17 = _local3.pop();
_local16 = _local3.pop();
_local15 = (_local16 > _local17);
_local3.push(_local15);
break;
case 129:
if ((_arg1 is MovieClip)){
var _temp2 = codeData[offset++];
_arg1.gotoAndStop(((_temp2 | (codeData[offset++] << 8)) + 1));
} else {
offset = (offset + 2);
};
break;
case 131:
_local16 = getStr();
_local17 = getStr();
if (_local16.indexOf("FSCommand:") == 0){
_local16 = _local16.substr(10);
fscommand(_local16, _local17);
} else {
if (_local17.indexOf("_level") == 0){
} else {
navigateToURL(new URLRequest(_local16), _local17);
};
};
break;
case 135:
_local18 = codeData[offset++];
_local15 = _local3[(_local3.length - 1)];
_local5[_local18] = _local15;
break;
case 150:
_local27 = (offset + _local25);
while (offset < _local27) {
switch (codeData[offset++]){
case 0:
_local3.push(getStr());
break;
case 1:
_local3.push(readFloatRev());
break;
case 2:
_local3.push(null);
break;
case 3:
_local3.push(undefined);
break;
case 4:
_local3.push(_local5[codeData[offset++]]);
break;
case 5:
_local3.push((codeData[offset++]) ? true : false);
break;
case 6:
_local3.push(readDoubleRev());
break;
case 7:
var _temp3 = codeData[offset++];
var _temp4 = (_temp3 | (codeData[offset++] << 8));
var _temp5 = (_temp4 | (codeData[offset++] << 16));
_local3.push((_temp5 | (codeData[offset++] << 24)));
break;
case 8:
_local3.push(_local6[codeData[offset++]]);
break;
case 9:
var _temp6 = codeData[offset++];
_local3.push(_local6[(_temp6 | (codeData[offset++] << 8))]);
break;
default:
throw (new Error("未处理的 push type"));
};
};
break;
case 153:
var _temp7 = codeData[offset++];
_local24 = (_temp7 | (codeData[offset++] << 8));
if ((_local24 >>> 15)){
_local24 = (_local24 | 4294901760);
};
offset = (offset + _local24);
break;
case 157:
_local15 = _local3.pop();
if (_local15){
var _temp8 = codeData[offset++];
_local24 = (_temp8 | (codeData[offset++] << 8));
if ((_local24 >>> 15)){
_local24 = (_local24 | 4294901760);
};
offset = (offset + _local24);
} else {
offset = (offset + 2);
};
break;
default:
throw (new Error(("暂不支持的 op: " + _local26)));
};
};
return (null);
}
private static function varName2Obj(_arg1:String){
var varName = _arg1;
try {
return (getDefinitionByName(varName));
} catch(e:Error) {
};
try {
return (getDefinitionByName(("flash.display." + varName)));
} catch(e:Error) {
};
try {
return (getDefinitionByName(("flash.text." + varName)));
} catch(e:Error) {
};
return (new GetVariableCache(varName));
}
public static function runStr16(_arg1, _arg2:String){
var _local3:Array = _arg2.split(" ");
var _local4:ByteArray = new ByteArray();
var _local5:int;
for each (_arg2 in _local3) {
var _temp1 = _local5;
_local5 = (_local5 + 1);
var _local8 = _temp1;
_local4[_local8] = int(("0x" + _arg2));
};
return (run(_arg1, _local4));
}
private static function newClass(_arg1:String, _arg2:Array){
var _local3:Class = (varName2Obj(_arg1) as Class);
switch (_arg2.length){
case 0:
return (new (_local3));
case 1:
return (new _local3(_arg2[0]));
case 2:
return (new _local3(_arg2[0], _arg2[1]));
case 3:
return (new _local3(_arg2[0], _arg2[1], _arg2[2]));
case 4:
return (new _local3(_arg2[0], _arg2[1], _arg2[2], _arg2[3]));
case 5:
return (new _local3(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4]));
case 6:
return (new _local3(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4], _arg2[5]));
case 7:
return (new _local3(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4], _arg2[5], _arg2[6]));
case 8:
return (new _local3(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4], _arg2[5], _arg2[6], _arg2[7]));
case 9:
return (new _local3(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4], _arg2[5], _arg2[6], _arg2[7], _arg2[8]));
case 10:
return (new _local3(_arg2[0], _arg2[1], _arg2[2], _arg2[3], _arg2[4], _arg2[5], _arg2[6], _arg2[7], _arg2[8], _arg2[9]));
default:
throw (new Error(("暂不支持的参数个数: " + _arg2.length)));
};
}
private static function getFNameAndArgs(_arg1:Array, _arg2:Array, _arg3:Boolean=true):String{
var _local4:String;
_arg2.splice(0, _arg2.length);
if (_arg3){
_local4 = _arg1.pop();
};
var _local5:int = _arg1.pop();
while (--_local5 >= 0) {
_arg2.push(_arg1.pop());
};
return (_local4);
}
private static function getStr():String{
var _local1:int;
if (codeData[offset]){
_local1 = 1;
do {
var _temp1 = _local1;
_local1 = (_local1 + 1);
} while (codeData[(offset + _temp1)]);
codeData.position = offset;
offset = (offset + _local1);
return (codeData.readUTFBytes(_local1));
};
offset++;
return ("");
}
private static function cacheMember(_arg1:Array):String{
var varName:String;
var value:*;
var stack = _arg1;
varName = stack.pop();
var obj:Object = stack.pop();
if ((obj is GetVariableCache)){
varName = (((obj as GetVariableCache).varName + ".") + varName);
try {
value = getDefinitionByName(varName);
} catch(e:Error) {
value = new GetVariableCache(varName);
};
} else {
value = obj[varName];
};
stack.push(value);
return (varName);
}
private static function readFloatRev():Number{
numData[3] = codeData[offset++];
numData[2] = codeData[offset++];
numData[1] = codeData[offset++];
numData[0] = codeData[offset++];
numData.position = 0;
return (numData.readFloat());
}
private static function cacheVariable(_arg1:Array):String{
var _local2:String = _arg1.pop();
var _local3:* = varName2Obj(_local2);
_arg1.push(_local3);
return (_local2);
}
}
Section 61
//Portals (steve.Portals)
package steve {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class Portals extends MovieClip {
private var mInitCalledFlag:Boolean;// = false
public var box:MovieClip;
public var mPortalsInfo:PortalsInfo;
public var logo:MovieClip;
public static const y8 = 8;
public static const mochi = 12;
public static const poszkole = 13;
public static const jeddahbikers = 3;
public static const _7k7k = 5;
public static const dressuppink = 10;
public static const _123peppy = 14;
public static const kibagames = 15;
public static const jsoftj = 4;
public static const dailygames = 9;
public static const mindjolt = 11;
public static const jogosdemeninas = 1;
public static const hawaalive = 2;
public static const didigames = 6;
public static const youyouwin = 7;
public function Portals(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15);
}
function frame11(){
stop();
Init();
OnFrameChanged();
}
function frame12(){
stop();
Init();
OnFrameChanged();
}
function frame13(){
stop();
Init();
OnFrameChanged();
}
function frame15(){
stop();
Init();
OnFrameChanged();
}
function frame10(){
stop();
Init();
OnFrameChanged();
}
function frame14(){
stop();
Init();
OnFrameChanged();
}
private function OnLogoClick(_arg1:MouseEvent):void{
navigateToURL(new URLRequest(("http://" + mPortalsInfo.mPortals[cobrand.Global.mPortal].url)), "blank");
}
function frame1(){
stop();
Init();
OnFrameChanged();
}
function frame2(){
stop();
Init();
OnFrameChanged();
}
public function OnFrameChanged(){
stop();
if (((((((((((!((cobrand.Global.mPortal == youyouwin))) && (!((cobrand.Global.mPortal == dressuppink))))) && (!((cobrand.Global.mPortal == mochi))))) && (!((cobrand.Global.mPortal == mindjolt))))) && (!((cobrand.Global.mPortal == _123peppy))))) && (!((cobrand.Global.mPortal == poszkole))))){
logo.useHandCursor = true;
logo.buttonMode = true;
logo.addEventListener(MouseEvent.CLICK, OnLogoClick, false, 0, true);
};
}
function frame4(){
stop();
Init();
OnFrameChanged();
}
function frame6(){
stop();
Init();
}
function frame7(){
stop();
Init();
OnFrameChanged();
}
function frame9(){
stop();
Init();
OnFrameChanged();
}
function frame3(){
stop();
Init();
OnFrameChanged();
}
function frame5(){
stop();
Init();
OnFrameChanged();
}
public function Init(){
if (box){
if (box.parent){
box.parent.removeChild(box);
};
};
if (this.currentFrame != cobrand.Global.mPortal){
trace(((("sapi curFrame : " + this.currentFrame) + " - portal : ") + cobrand.Global.mPortal));
this.gotoAndStop(cobrand.Global.mPortal);
};
if (mInitCalledFlag){
return;
};
mInitCalledFlag = true;
stop();
trace(("portal : " + cobrand.Global.mPortal));
mPortalsInfo = new PortalsInfo();
var _local1:int;
while (_local1 < mPortalsInfo.mPortals.length) {
_local1++;
};
}
function frame8(){
stop();
Init();
OnFrameChanged();
}
}
}//package steve
Section 62
//PortalsInfo (steve.PortalsInfo)
package steve {
public class PortalsInfo {
public var mPortals:Array;
public function PortalsInfo(){
mPortals = [];
var _local1:Object = new Object();
mPortals.push({url:"google.com"});
mPortals.push({url:"jogosdemeninas.net"});
mPortals.push({url:"hawaalive.com"});
mPortals.push({url:"jeddahbikers.com"});
mPortals.push({url:"girls-games.jsoftj.com"});
mPortals.push({url:"7k7k.com"});
mPortals.push({url:"didigames.com"});
mPortals.push({url:"youyouwin.com"});
mPortals.push({url:"y8.com"});
mPortals.push({url:"dailygames.com"});
mPortals.push({url:"dressuppink.com"});
mPortals.push({url:"mindjolt.com"});
mPortals.push({url:"mochiads.com"});
mPortals.push({url:"poszkole.pl"});
mPortals.push({url:"123peppy.com"});
mPortals.push({url:"kibagames.com"});
}
}
}//package steve
Section 63
//CBannedWin (CBannedWin)
package {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
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);
}
public function GotoSapi(_arg1:MouseEvent){
var _local2:URLRequest = new URLRequest("http://www.lazybanana.com");
navigateToURL(_local2);
}
function frame1(){
mBtn.addEventListener(MouseEvent.MOUSE_DOWN, GotoSapi);
}
}
}//package
Section 64
//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 Update(_arg1:Event){
}
public function RemoveDispatcher(){
Main.GetInstance().removeEventListener(mEventType, Update);
}
}
}//package
Section 65
//CBenar (CBenar)
package {
import flash.media.*;
public dynamic class CBenar extends Sound {
}
}//package
Section 66
//CCredit (CCredit)
package {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class CCredit extends MovieClip {
public var mFilter:Array;
public var mClose:MovieClip;
public var mTitle:MovieClip;
public var mLogo:MovieClip;
public function CCredit(){
addFrameScript(0, frame1);
}
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 = [];
}
public function onMouseOver(_arg1:MouseEvent){
var _local2:GlowFilter = 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];
}
}
}//package
Section 67
//CGame (CGame)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
public class CGame extends CBaseMovieClip {
public var menit:int;
public var bg:MovieClip;
public var gameover:int;
public var tekan:int;
public var painter:CPelukis;
public var setan:CSetan;
public var bg_mc:MovieClip;
public var efek3:MovieClip;
public var timer:int;
public var faktor_canvas:Number;
public var ui:MovieClip;
public var canvas:MovieClip;
public var timer_timebar:int;
public var detik:int;
public var pause:Boolean;
public var faktor_kiss:Number;
private static var CGameGlobal:CGame;
public function CGame(){
super("update");
CGameGlobal = this;
Main.GetInstance().di_game = true;
init_button();
init_game();
}
public function couple_ketemon(){
set_game_over(-1);
Main.GetInstance().mOptionBar.PlaySFX("CScream");
}
private function init_game():void{
pause = false;
gameover = 0;
tekan = 0;
timer = 20;
menit = (Data.game[(Main.GetInstance().level - 1)].time / 60);
detik = (Data.game[(Main.GetInstance().level - 1)].time - (60 * menit));
timer_timebar = 0;
cetak_timer_game();
ui.countbar.isi_bar.x = (0 - ui.countbar.isi_bar.width);
faktor_kiss = (ui.countbar.isi_bar.width / (Data.game[(Main.GetInstance().level - 1)].kiss_time * 40));
init_canvas();
setan.init();
painter.init();
faktor_canvas = (240 / (Data.game[(Main.GetInstance().level - 1)].time * 40));
canvas.mask_canvas.y = -170;
}
private function onMouseOver(_arg1:MouseEvent):void{
if ((((pause == false)) && ((gameover == 0)))){
Tweener.addTween(_arg1.currentTarget, {scaleX:1.1, scaleY:1.1, time:0.1, transition:"linear"});
};
}
private function gameMouseUp(_arg1:MouseEvent):void{
if ((((pause == false)) && ((gameover == 0)))){
tekan = 0;
setan.set_kondisi(1);
setan.timer_kiss_cok = 0;
canvas.asap.gotoAndStop(1);
};
}
private function init_button():void{
bg_mc.mouseEnabled = true;
bg_mc.alpha = 1;
canvas.mouseChildren = false;
canvas.mouseEnabled = false;
ui.pause_b.mouseEnabled = true;
ui.pause_b.mouseChildren = false;
ui.pause_b.useHandCursor = true;
ui.pause_b.buttonMode = true;
ui.pause_b.addEventListener(MouseEvent.MOUSE_DOWN, SPMouseDown, false, 0, true);
ui.pause_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
ui.pause_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
ui.help_b.mouseEnabled = true;
ui.help_b.mouseChildren = false;
ui.help_b.useHandCursor = true;
ui.help_b.buttonMode = true;
ui.help_b.addEventListener(MouseEvent.MOUSE_DOWN, SPMouseDown, false, 0, true);
ui.help_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
ui.help_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
ui.sound_b.gotoAndStop((Main.GetInstance().sound_hanny + 1));
ui.sound_b.mouseEnabled = true;
ui.sound_b.mouseChildren = false;
ui.sound_b.useHandCursor = true;
ui.sound_b.buttonMode = true;
ui.sound_b.addEventListener(MouseEvent.MOUSE_DOWN, SPMouseDown, false, 0, true);
ui.sound_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
ui.sound_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
ui.menu_b.mouseEnabled = true;
ui.menu_b.mouseChildren = false;
ui.menu_b.useHandCursor = true;
ui.menu_b.buttonMode = true;
ui.menu_b.addEventListener(MouseEvent.MOUSE_DOWN, SPMouseDown, false, 0, true);
ui.menu_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
ui.menu_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
bg.bg.gotoAndStop(Main.GetInstance().level);
bg.addEventListener(MouseEvent.MOUSE_DOWN, gameMouseDown, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, gameMouseUp, false, 0, true);
}
private function gameMouseDown(_arg1:MouseEvent):void{
if ((((pause == false)) && ((gameover == 0)))){
tekan = 1;
setan.timer_kiss_cok = 0;
};
}
private function SPMouseDown(_arg1:MouseEvent):void{
var _local2:String;
if ((((pause == false)) && ((gameover == 0)))){
_local2 = _arg1.currentTarget.name;
if (_arg1.currentTarget.name == "pause_b"){
Main.GetInstance().mOptionBar.PlaySFX("CTombol");
pause = true;
Main.GetInstance().InitPause();
} else {
if (_arg1.currentTarget.name == "help_b"){
Main.GetInstance().mOptionBar.PlaySFX("CTombol");
pause = true;
Main.GetInstance().InitTutorial(Main.GetInstance().index_tutorial);
} else {
if (_arg1.currentTarget.name == "menu_b"){
Main.GetInstance().mOptionBar.PlaySFX("CTombol");
pause = true;
timer = 20;
} else {
if (_local2.substr(0, 7) == "sound_b"){
if (Main.GetInstance().sound_hanny == 0){
Main.GetInstance().sound_hanny = 1;
} else {
if (Main.GetInstance().sound_hanny == 1){
Main.GetInstance().sound_hanny = 0;
};
};
ui.sound_b.gotoAndStop((Main.GetInstance().sound_hanny + 1));
Main.GetInstance().mOptionBar.ToggleSFX();
Main.GetInstance().mOptionBar.ToggleMusic();
Main.GetInstance().mOptionBar.PlaySFX("CTombol");
};
};
};
};
};
}
public function set_game_over(_arg1:int):void{
gameover = _arg1;
timer = 80;
canvas.asap.gotoAndStop(1);
canvas.mask_canvas.y = 70;
if (_arg1 == 1){
canvas.rusak.visible = true;
} else {
if (_arg1 == -1){
canvas.bagus.visible = true;
};
};
}
public function mulai_game(){
pause = false;
}
override public function Update(_arg1:Event){
if ((((pause == false)) && ((gameover == 0)))){
if (timer == 0){
set_timer_game();
canvas.mask_canvas.y = (canvas.mask_canvas.y + faktor_canvas);
trace(("canvasY=" + canvas.mask_canvas.y));
} else {
if (timer > 0){
timer--;
bg_mc.alpha = (bg_mc.alpha - (1 / 20));
if (timer == 0){
bg_mc.alpha = 0;
bg_mc.mouseEnabled = false;
mulai_game();
};
};
};
} else {
if (pause == true){
if (timer > 0){
timer--;
bg_mc.alpha = (bg_mc.alpha + (1 / 20));
if (timer == 0){
bg_mc.alpha = 1;
remove_children_game();
Main.GetInstance().KillWindow("Game");
Main.GetInstance().InitMainMenu();
};
} else {
if (timer < 0){
timer++;
if (timer == 0){
tekan = 0;
pause = false;
setan.init();
painter.init();
};
};
};
} else {
if (gameover != 0){
if (timer > 0){
timer--;
if (timer == 40){
} else {
if (timer == 0){
timer = -20;
bg_mc.mouseEnabled = true;
};
};
} else {
if (timer < 0){
timer++;
if (timer == 0){
if (gameover == -1){
remove_children_game();
Main.GetInstance().KillWindow("Game");
Main.GetInstance().InitGame_Over();
} else {
if (gameover == 1){
Main.GetInstance().InitNext_Level();
};
};
};
};
};
};
};
};
}
public function init_canvas(){
canvas.asap.gotoAndStop(1);
canvas.rusak.visible = false;
canvas.rusak.gotoAndStop(Main.GetInstance().level);
canvas.bagus.visible = true;
canvas.bagus.gotoAndStop(Main.GetInstance().level);
}
private function cetak_timer_game():void{
var _local1 = "";
if (menit < 10){
_local1 = (_local1 + ("0" + menit));
} else {
_local1 = (_local1 + menit);
};
_local1 = (_local1 + " : ");
if (detik < 10){
_local1 = (_local1 + ("0" + detik));
} else {
_local1 = (_local1 + detik);
};
ui.timer_txt.text = _local1;
}
private function onMouseOut(_arg1:MouseEvent):void{
if ((((pause == false)) && ((gameover == 0)))){
Tweener.addTween(_arg1.currentTarget, {scaleX:0.9, scaleY:0.9, time:0.1, transition:"linear"});
};
}
private function set_timer_game():void{
timer_timebar++;
if (timer_timebar == 40){
timer_timebar = 0;
detik--;
if (detik < 0){
if (menit > 0){
detik = 59;
menit--;
} else {
detik = 0;
menit = 0;
set_game_over(-1);
};
};
cetak_timer_game();
};
}
public function remove_children_game(){
Main.GetInstance().di_game = false;
setan.remove_this();
painter.remove_this();
}
public static function GetInstance():CGame{
return (CGameGlobal);
}
}
}//package
Section 68
//CGame_Over (CGame_Over)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
public class CGame_Over extends CBaseMovieClip {
public var timer:int;
public var retry_b:MovieClip;
public var hanny:String;
public var bg_mc:MovieClip;
public var more_b:MovieClip;
public var select_b:MovieClip;
public function CGame_Over(){
super("update");
bg_mc.alpha = 1;
bg_mc.mouseEnabled = true;
timer = 20;
retry_b.gotoAndStop(1);
retry_b.mouseEnabled = true;
retry_b.mouseChildren = false;
retry_b.useHandCursor = true;
retry_b.buttonMode = true;
retry_b.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown, false, 0, true);
retry_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
retry_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
select_b.gotoAndStop(1);
select_b.mouseEnabled = true;
select_b.mouseChildren = false;
select_b.useHandCursor = true;
select_b.buttonMode = true;
select_b.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown, false, 0, true);
select_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
select_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
more_b.gotoAndStop(1);
more_b.mouseEnabled = true;
more_b.mouseChildren = false;
more_b.useHandCursor = true;
more_b.buttonMode = true;
more_b.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown, false, 0, true);
more_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
more_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
hanny = "";
}
private function onMouseDown(_arg1:Event):void{
Main.GetInstance().mOptionBar.PlaySFX("CTombol");
if (_arg1.currentTarget.name == "more_b"){
} else {
if (_arg1.currentTarget.name == "retry_b"){
hanny = _arg1.currentTarget.name;
timer = -20;
} else {
if (_arg1.currentTarget.name == "select_b"){
hanny = _arg1.currentTarget.name;
timer = -20;
} else {
if (_arg1.currentTarget.name == "more_b"){
Global.openWindow("http://www.dressuppink.com/index.php?action=branded");
};
};
};
};
}
override public function Update(_arg1:Event){
if (timer > 0){
timer--;
bg_mc.alpha = (bg_mc.alpha - (1 / 20));
if (timer == 0){
bg_mc.alpha = 0;
bg_mc.mouseEnabled = false;
};
} else {
if (timer < 0){
timer++;
bg_mc.alpha = (bg_mc.alpha + (1 / 20));
if (timer == 0){
bg_mc.alpha = 1;
if (hanny == "retry_b"){
Main.GetInstance().KillWindow("Game_Over");
Main.GetInstance().InitGame();
} else {
if (hanny == "select_b"){
Main.GetInstance().KillWindow("Game_Over");
Main.GetInstance().InitSelect();
} else {
if (hanny == "more_b"){
};
};
};
};
};
};
}
private function onMouseOut(_arg1:MouseEvent):void{
Tweener.addTween(_arg1.currentTarget, {scaleX:0.9, scaleY:0.9, time:0.1, transition:"linear"});
}
private function onMouseOver(_arg1:MouseEvent):void{
Tweener.addTween(_arg1.currentTarget, {scaleX:1.1, scaleY:1.1, time:0.1, transition:"linear"});
}
}
}//package
Section 69
//CMain_Sound (CMain_Sound)
package {
import flash.media.*;
public dynamic class CMain_Sound extends Sound {
}
}//package
Section 70
//CMainMenu (CMainMenu)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
public class CMainMenu extends CBaseMovieClip {
public var tutorial_b:MovieClip;
public var start_b:MovieClip;
public var hanny:String;
public var timer:int;
public var bg_mc:MovieClip;
public var more_b:MovieClip;
public function CMainMenu(){
super("update");
start_b.mouseChildren = false;
start_b.mouseEnabled = true;
start_b.useHandCursor = true;
start_b.buttonMode = true;
start_b.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown, false, 0, true);
start_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
start_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
more_b.mouseChildren = false;
more_b.mouseEnabled = true;
more_b.useHandCursor = true;
more_b.buttonMode = true;
more_b.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown, false, 0, true);
more_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
more_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
tutorial_b.mouseEnabled = true;
tutorial_b.mouseChildren = false;
tutorial_b.useHandCursor = true;
tutorial_b.buttonMode = true;
tutorial_b.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown, false, 0, true);
tutorial_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
tutorial_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
init_bg();
Main.GetInstance().set_default_awal_game();
}
private function onMouseDown(_arg1:MouseEvent):void{
hanny = _arg1.currentTarget.name;
if (_arg1.currentTarget.name == "start_b"){
Main.GetInstance().mOptionBar.PlaySFX("CTombol");
bg_mc.mouseEnabled = true;
timer = 20;
};
if (_arg1.currentTarget.name == "tutorial_b"){
Main.GetInstance().mOptionBar.PlaySFX("CTombol");
bg_mc.mouseEnabled = true;
timer = 20;
} else {
if (_arg1.currentTarget.name == "more_b"){
Global.openWindow("http://www.dressuppink.com/index.php?action=branded");
};
};
}
override public function Update(_arg1:Event){
if (timer > 0){
timer--;
bg_mc.alpha = (bg_mc.alpha + (1 / 20));
if (timer == 0){
bg_mc.alpha = 1;
Main.GetInstance().KillWindow("MainMenu");
if (hanny == "start_b"){
Main.GetInstance().InitSelect();
} else {
if (hanny == "tutorial_b"){
Main.GetInstance().InitTutorial(Main.GetInstance().index_tutorial);
};
};
};
} else {
if (timer < 0){
timer++;
bg_mc.alpha = (bg_mc.alpha - (1 / 20));
if (timer == 0){
bg_mc.alpha = 0;
bg_mc.mouseEnabled = false;
};
};
};
}
public function init_bg(){
bg_mc.alpha = 1;
bg_mc.mouseEnabled = true;
timer = -20;
}
private function onMouseOut(_arg1:MouseEvent):void{
Tweener.addTween(_arg1.currentTarget, {scaleX:0.9, scaleY:0.9, time:0.1, transition:"linear"});
}
private function onMouseOver(_arg1:MouseEvent):void{
Tweener.addTween(_arg1.currentTarget, {scaleX:1.1, scaleY:1.1, time:0.1, transition:"linear"});
}
}
}//package
Section 71
//CNext_Level (CNext_Level)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
public class CNext_Level extends CBaseMovieClip {
public var next_b:MovieClip;
public function CNext_Level(){
super("update");
next_b.mouseChildren = false;
next_b.mouseEnabled = true;
next_b.useHandCursor = true;
next_b.buttonMode = true;
next_b.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown, false, 0, true);
next_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
next_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
}
private function onMouseDown(_arg1:Event):void{
Main.GetInstance().mOptionBar.PlaySFX("CTombol");
if (_arg1.currentTarget.name == "more_b"){
} else {
if (_arg1.currentTarget.name == "next_b"){
CGame.GetInstance().remove_children_game();
Main.GetInstance().KillWindow("Game");
Main.GetInstance().KillWindow("Next_level");
if (Main.GetInstance().level < Data.game.length){
Main.GetInstance().level++;
Main.GetInstance().InitSelect();
} else {
Main.GetInstance().InitTamat();
};
} else {
if (_arg1.currentTarget.name == "menu_b"){
CGame.GetInstance().remove_children_game();
Main.GetInstance().KillWindow("Game");
Main.GetInstance().KillWindow("Next_Level");
Main.GetInstance().InitMainMenu();
};
};
};
}
private function onMouseOver(_arg1:MouseEvent):void{
Tweener.addTween(_arg1.currentTarget, {scaleX:1.1, scaleY:1.1, time:0.1, transition:"linear"});
}
private function onMouseOut(_arg1:MouseEvent):void{
Tweener.addTween(_arg1.currentTarget, {scaleX:0.9, scaleY:0.9, time:0.1, transition:"linear"});
}
}
}//package
Section 72
//COptionBar (COptionBar)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.media.*;
public class COptionBar extends MovieClip {
public var mMusic:MovieClip;
private var mSfxChannel:Array;
public var mQuality:MovieClip;
public var mSFX:MovieClip;
private var mBgm:Sound;
public var mPopUp:MovieClip;
private var mBgmFlag:Boolean;
private var mBgmChannel:SoundChannel;
private var mSfxFlag:Boolean;// = true
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;
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");
}
public function StopSFX(_arg1:int){
mSfxChannel[_arg1].stop();
}
private function MusicOut(_arg1:MouseEvent):void{
if (!mBgmFlag){
mMusic.gotoAndStop(2);
} else {
mMusic.gotoAndStop(1);
};
HidePopUp();
}
private function HidePopUp(){
mPopUp.alpha = 0;
}
public function PlaySFX(_arg1:String, _arg2:Number=1):int{
if (!mSfxFlag){
return;
};
var _local3:Class = (getDefinitionByName(_arg1) as Class);
var _local4:Sound = new (_local3);
var _local5:SoundTransform = new SoundTransform(_arg2, 0);
var _local6:SoundChannel = _local4.play(0, 1, _local5);
mSfxChannel.push(_local6);
return ((mSfxChannel.length - 1));
}
private function QualityOver(_arg1:MouseEvent):void{
mQuality.gotoAndStop(2);
ShowPopUp((("Quality: " + Main.GetInstance().stage.quality) + " (B)"));
}
private function SFXOver(_arg1:MouseEvent):void{
if (!mSfxFlag){
mSFX.gotoAndStop(4);
} else {
mSFX.gotoAndStop(3);
};
ShowPopUp("Toggle SFX (N)");
}
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);
};
}
public function ChangeBGMVol(_arg1:Number){
mBgmVol = _arg1;
mBgmChannel.soundTransform = new SoundTransform(mBgmVol, 0);
}
private function StartBGM(){
trace(("start bgm : " + mBgm));
if (!mBgm){
return;
};
mBgmFlag = true;
var _local1:SoundTransform = new SoundTransform(mBgmVol, 0);
mBgmChannel = mBgm.play(0, 999, _local1);
MusicOut(null);
}
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;
}
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);
};
}
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)"));
}
private function QualityOut(_arg1:MouseEvent):void{
mQuality.gotoAndStop(1);
HidePopUp();
}
private function MusicOver(_arg1:MouseEvent):void{
if (!mBgmFlag){
mMusic.gotoAndStop(4);
} else {
mMusic.gotoAndStop(3);
};
ShowPopUp("Toggle Music (M)");
}
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();
};
}
}
}//package
Section 73
//CPause (CPause)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
public class CPause extends CBaseMovieClip {
public var resume_b:MovieClip;
public function CPause(){
super("update");
resume_b.mouseChildren = false;
resume_b.mouseEnabled = true;
resume_b.useHandCursor = true;
resume_b.buttonMode = true;
resume_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
resume_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
resume_b.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
}
private function onMouseOver(_arg1:MouseEvent):void{
Tweener.addTween(_arg1.currentTarget, {scaleX:1.1, scaleY:1.1, time:0.1, transition:"linear"});
}
private function onMouseDown(_arg1:Event):void{
Main.GetInstance().mOptionBar.PlaySFX("CTombol");
if (_arg1.currentTarget.name == "more_b"){
} else {
if (_arg1.currentTarget.name == "resume_b"){
Main.GetInstance().KillWindow("Pause");
CGame.GetInstance().pause = false;
} else {
if (_arg1.currentTarget.name == "menu_b"){
CGame.GetInstance().remove_children_game();
Main.GetInstance().KillWindow("Game");
Main.GetInstance().KillWindow("Pause");
Main.GetInstance().InitMainMenu();
};
};
};
}
private function onMouseOut(_arg1:MouseEvent):void{
Tweener.addTween(_arg1.currentTarget, {scaleX:0.9, scaleY:0.9, time:0.1, transition:"linear"});
}
}
}//package
Section 74
//CPelukis (CPelukis)
package {
import flash.events.*;
import de.polygonal.math.*;
public class CPelukis extends CBaseMovieClip {
public var kondisi:int;
public var ngeliati:Boolean;
public var Aliat:Array;
public var Atimer_act:Array;
public var timer_act:int;
public var timer_liat:int;
public function CPelukis(){
Aliat = new Array();
Atimer_act = new Array();
super("update");
AddDispatcher();
Aliat = [1, 1, 0, 0, 1, 0, 0];
Atimer_act = [0, 80, 0, 60, 80, 0, 60];
}
public function terus_aksi(){
timer_act = 0;
random_act();
}
public function set_kondisi(_arg1:int):void{
kondisi = _arg1;
if ((((kondisi == 8)) || ((kondisi == 9)))){
} else {
if (Aliat[(kondisi - 1)] == 1){
ngeliati = true;
} else {
if (Aliat[(kondisi - 1)] == 0){
ngeliati = false;
};
};
if (Atimer_act[(kondisi - 1)] > 0){
timer_act = Atimer_act[(kondisi - 1)];
} else {
timer_act = PM_PRNG.nextIntRange(60, 180);
};
};
gotoAndStop(kondisi);
timer_liat = 0;
}
override public function Update(_arg1:Event){
var _local2:int;
if ((((CGame.GetInstance().pause == false)) && ((CGame.GetInstance().gameover == 0)))){
if (timer_act > 0){
timer_act--;
if (timer_act == 0){
if ((((kondisi == 2)) || ((kondisi == 5)))){
_local2 = (kondisi + 1);
set_act(_local2);
} else {
if ((((kondisi == 3)) || ((kondisi == 6)))){
_local2 = (kondisi + 1);
set_act(_local2);
} else {
set_act(0);
};
};
} else {
if (timer_act > 0){
if (ngeliati == true){
if (CGame.GetInstance().setan.klimax == true){
set_kondisi(8);
CGame.GetInstance().setan.set_kondisi(3);
};
};
};
};
};
};
}
public function reset():void{
while (this.numChildren > 0) {
removeChildAt((this.numChildren - 1));
};
}
public function set_act(_arg1:int):void{
var _local2:int;
var _local3:int;
if (_arg1 == 0){
_local2 = PM_PRNG.nextIntRange(1, 3);
if (_local2 == 1){
set_kondisi(1);
} else {
_local3 = PM_PRNG.nextIntRange(1, 2);
if (_local3 == 1){
set_kondisi(2);
} else {
if (_local3 == 2){
set_kondisi(5);
};
};
};
} else {
if (_arg1 > 0){
set_kondisi(_arg1);
};
};
}
public function remove_this():void{
RemoveDispatcher();
}
public function init():void{
mouseChildren = false;
mouseEnabled = false;
timer_act = 0;
timer_liat = 0;
set_kondisi(1);
}
}
}//package
Section 75
//CScream (CScream)
package {
import flash.media.*;
public dynamic class CScream extends Sound {
}
}//package
Section 76
//CSelect (CSelect)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
public class CSelect extends CBaseMovieClip {
public var menu_b:MovieClip;
public var l1:MovieClip;
public var l2:MovieClip;
public var l3:MovieClip;
public var l4:MovieClip;
public var hanny:String;
public var bg_mc:MovieClip;
public var timer:int;
public function CSelect(){
super("update");
var _local1 = 1;
while (_local1 <= 4) {
this[("l" + _local1)].gotoAndStop(1);
this[("l" + _local1)].mouseChildren = false;
this[("l" + _local1)].mouseEnabled = false;
this[("l" + _local1)].useHandCursor = true;
this[("l" + _local1)].buttonMode = true;
this[("l" + _local1)].addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown, false, 0, true);
this[("l" + _local1)].addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
this[("l" + _local1)].addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
_local1++;
};
_local1 = 1;
while (_local1 <= Main.GetInstance().level) {
this[("l" + _local1)].gotoAndStop(2);
this[("l" + _local1)].mouseChildren = false;
this[("l" + _local1)].mouseEnabled = true;
_local1++;
};
menu_b.mouseChildren = false;
menu_b.mouseEnabled = true;
menu_b.useHandCursor = true;
menu_b.buttonMode = true;
menu_b.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown, false, 0, true);
menu_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
menu_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
init_bg();
}
private function onMouseOut(_arg1:MouseEvent):void{
Tweener.addTween(_arg1.currentTarget, {scaleX:0.9, scaleY:0.9, time:0.1, transition:"linear"});
}
override public function Update(_arg1:Event){
var _local2:int;
if (timer > 0){
timer--;
bg_mc.alpha = (bg_mc.alpha + (1 / 20));
if (timer == 0){
bg_mc.alpha = 1;
Main.GetInstance().KillWindow("Select");
if (hanny == "menu_b"){
Main.GetInstance().InitMainMenu();
} else {
if (hanny.substr(0, 1) == "l"){
_local2 = hanny.substr(1, (hanny.length - 1));
Main.GetInstance().level = _local2;
Main.GetInstance().InitGame();
};
};
};
} else {
if (timer < 0){
timer++;
bg_mc.alpha = (bg_mc.alpha - (1 / 20));
if (timer == 0){
bg_mc.alpha = 0;
bg_mc.mouseEnabled = false;
};
};
};
}
public function onMouseDown(_arg1:MouseEvent):void{
hanny = _arg1.currentTarget.name;
if (hanny.substr(0, 1) == "l"){
Main.GetInstance().mOptionBar.PlaySFX("CTombol");
bg_mc.mouseEnabled = true;
timer = 20;
} else {
if (_arg1.currentTarget.name == "menu_b"){
Main.GetInstance().mOptionBar.PlaySFX("CTombol");
bg_mc.mouseEnabled = true;
timer = 20;
} else {
if (_arg1.currentTarget.name == "more_b"){
};
};
};
}
private function onMouseOver(_arg1:MouseEvent):void{
Tweener.addTween(_arg1.currentTarget, {scaleX:1.1, scaleY:1.1, time:0.1, transition:"linear"});
}
public function init_bg(){
bg_mc.alpha = 1;
bg_mc.mouseEnabled = true;
timer = -20;
}
}
}//package
Section 77
//CSetan (CSetan)
package {
import flash.events.*;
public class CSetan extends CBaseMovieClip {
public var timer_sound_sweep:int;
public var kondisi:int;
public var idx_kiss:int;
public var klimax:Boolean;
public var timer_kiss_cok:int;
public function CSetan(){
super("update");
AddDispatcher();
}
public function set_kondisi(_arg1:int):void{
var _local2:int;
if (kondisi != _arg1){
klimax = false;
kondisi = _arg1;
_local2 = 1;
while (_local2 <= 2) {
CGame.GetInstance().bg[("efek" + _local2)].visible = false;
CGame.GetInstance().bg[("efek" + _local2)].gotoAndStop(1);
_local2++;
};
CGame.GetInstance().efek3.visible = false;
CGame.GetInstance().efek3.gotoAndStop(1);
if (kondisi == 1){
play_sound_sweep(0);
} else {
if (kondisi == 2){
} else {
if (kondisi == 3){
CGame.GetInstance().couple_ketemon();
} else {
if (kondisi == 4){
};
};
};
};
gotoAndStop(kondisi);
};
}
override public function Update(_arg1:Event){
var _local2:int;
if ((((CGame.GetInstance().pause == false)) && ((CGame.GetInstance().gameover == 0)))){
if (CGame.GetInstance().tekan == 1){
if (kondisi != 2){
set_kondisi(2);
};
if (kondisi == 2){
if (timer_sound_sweep > 0){
timer_sound_sweep--;
if (timer_sound_sweep == 0){
play_sound_sweep(1);
};
};
timer_kiss_cok++;
if (timer_kiss_cok >= 80){
if (CGame.GetInstance().efek3.visible == false){
CGame.GetInstance().efek3.visible = true;
CGame.GetInstance().efek3.gotoAndPlay(1);
};
} else {
if (timer_kiss_cok >= 40){
_local2 = 2;
while (_local2 <= 2) {
if (CGame.GetInstance().bg[("efek" + _local2)].visible == false){
CGame.GetInstance().bg[("efek" + _local2)].visible = true;
CGame.GetInstance().bg[("efek" + _local2)].gotoAndPlay(1);
};
_local2++;
};
} else {
if (timer_kiss_cok >= 5){
if (klimax == false){
CGame.GetInstance().canvas.asap.gotoAndPlay(1);
klimax = true;
play_sound_sweep(1);
};
};
};
};
if (klimax == true){
CGame.GetInstance().ui.countbar.isi_bar.x = (CGame.GetInstance().ui.countbar.isi_bar.x + CGame.GetInstance().faktor_kiss);
if (CGame.GetInstance().ui.countbar.isi_bar.x >= 0){
CGame.GetInstance().ui.countbar.isi_bar.x = 0;
set_kondisi(4);
CGame.GetInstance().painter.set_kondisi(9);
CGame.GetInstance().set_game_over(1);
};
};
};
};
};
}
public function reset():void{
while (this.numChildren > 0) {
removeChildAt((this.numChildren - 1));
};
}
private function play_sound_sweep(_arg1:int):void{
if (_arg1 == 1){
timer_sound_sweep = 30;
Main.GetInstance().mOptionBar.PlaySFX("CSweep");
} else {
if (_arg1 == 0){
timer_sound_sweep = 0;
};
};
}
public function init():void{
mouseEnabled = false;
mouseChildren = false;
klimax = false;
set_kondisi(1);
}
public function remove_this():void{
RemoveDispatcher();
}
}
}//package
Section 78
//CSweep (CSweep)
package {
import flash.media.*;
public dynamic class CSweep extends Sound {
}
}//package
Section 79
//CTamat (CTamat)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
public class CTamat extends CBaseMovieClip {
public var menu_b:MovieClip;
public var timer:int;
var hanny:String;
public var bg_mc:MovieClip;
public var pause:Boolean;
public var play_again_b:MovieClip;
public function CTamat(){
super("update");
bg_mc.mouseEnabled = true;
bg_mc.alpha = 1;
timer = -20;
pause = true;
init_button();
}
private function init_button():void{
play_again_b.mouseChildren = false;
play_again_b.mouseEnabled = true;
play_again_b.useHandCursor = true;
play_again_b.buttonMode = true;
play_again_b.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown, false, 0, true);
play_again_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
play_again_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
menu_b.mouseChildren = false;
menu_b.mouseEnabled = true;
menu_b.useHandCursor = true;
menu_b.buttonMode = true;
menu_b.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown, false, 0, true);
menu_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
menu_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
hanny = "";
}
private function onMouseDown(_arg1:MouseEvent):void{
if (pause == false){
if (timer == 0){
Main.GetInstance().mOptionBar.PlaySFX("CTombol");
hanny = _arg1.currentTarget.name;
if (_arg1.currentTarget.name == "play_again_b"){
timer = 20;
bg_mc.mouseEnabled = true;
} else {
if (_arg1.currentTarget.name == "menu_b"){
timer = 20;
bg_mc.mouseEnabled = true;
} else {
if (_arg1.currentTarget.name == "more_b"){
Global.openWindow("http://www.dressuppink.com/index.php?action=branded");
};
};
};
};
};
}
override public function Update(_arg1:Event){
if (pause == false){
if (timer > 0){
timer--;
bg_mc.alpha = (bg_mc.alpha + (1 / 20));
if (timer == 0){
bg_mc.alpha = 1;
Main.GetInstance().KillWindow("Tamat");
if (hanny == "play_again_b"){
Main.GetInstance().set_default_awal_game();
Main.GetInstance().InitGame();
} else {
if (hanny == "menu_b"){
Main.GetInstance().InitMainMenu();
} else {
if (hanny == "more_b"){
};
};
};
};
};
} else {
if (pause == true){
if (timer > 0){
timer--;
if (timer == 0){
init_button();
pause = false;
};
} else {
if (timer < 0){
timer++;
bg_mc.alpha = (bg_mc.alpha - (1 / 20));
if (timer == 0){
bg_mc.alpha = 0;
bg_mc.mouseEnabled = false;
pause = false;
trace("jancok");
};
};
};
};
};
}
private function onMouseOut(_arg1:MouseEvent):void{
Tweener.addTween(_arg1.currentTarget, {scaleX:0.9, scaleY:0.9, time:0.1, transition:"linear"});
}
private function onMouseOver(_arg1:MouseEvent):void{
Tweener.addTween(_arg1.currentTarget, {scaleX:1.1, scaleY:1.1, time:0.1, transition:"linear"});
}
}
}//package
Section 80
//CTombol (CTombol)
package {
import flash.media.*;
public dynamic class CTombol extends Sound {
}
}//package
Section 81
//CTutorial1 (CTutorial1)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
public class CTutorial1 extends CBaseMovieClip {
public var bg:MovieClip;
public var ok_b:MovieClip;
public function CTutorial1(){
super("update");
ok_b.mouseEnabled = true;
ok_b.mouseChildren = false;
ok_b.useHandCursor = true;
ok_b.buttonMode = true;
ok_b.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown, false, 0, true);
ok_b.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true);
ok_b.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true);
}
private function onMouseOver(_arg1:MouseEvent):void{
Tweener.addTween(_arg1.currentTarget, {scaleX:1.1, scaleY:1.1, time:0.1, transition:"linear"});
}
private function onMouseDown(_arg1:MouseEvent):void{
Main.GetInstance().mOptionBar.PlaySFX("CTombol");
Main.GetInstance().KillWindow(("Tutorial" + Main.GetInstance().index_tutorial));
if (_arg1.currentTarget.name == "ok_b"){
if (Main.GetInstance().di_game == false){
Main.GetInstance().InitGame();
} else {
CGame.GetInstance().pause = false;
};
};
}
private function onMouseOut(_arg1:MouseEvent):void{
Tweener.addTween(_arg1.currentTarget, {scaleX:0.9, scaleY:0.9, time:0.1, transition:"linear"});
}
}
}//package
Section 82
//CY8Preloader (CY8Preloader)
package {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import steve.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class CY8Preloader extends MovieClip {
public var preloader:MovieClip;
public var playBtn:SimpleButton;
public function CY8Preloader(){
addFrameScript(0, frame1, 138, frame139, 150, frame151);
}
public function OnPlay(_arg1:MouseEvent){
cobrand.gotoMainMenuY8();
}
function frame1(){
}
function frame151(){
stop();
}
function frame139(){
playBtn.addEventListener(MouseEvent.CLICK, OnPlay);
}
}
}//package
Section 83
//Data (Data)
package {
public class Data {
public static var game = [{time:180, kiss_time:25}, {time:180, kiss_time:25}, {time:180, kiss_time:25}, {time:180, kiss_time:25}];
}
}//package
Section 84
//FPS (FPS)
package {
import flash.xml.*;
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class FPS extends MovieClip {
public var secondTime:Number;
public var prevSecondTime:Number;
public var frames:Number;
public var prevFrameTime:Number;
public var frameTime:Number;
public var iBar:MovieClip;
public var time:Number;
public var fps:String;
public var tf:TextField;
public function FPS(){
addFrameScript(0, frame1, 1, frame2);
}
function frame2(){
stop();
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
function frame1(){
prevFrameTime = getTimer();
prevSecondTime = getTimer();
frames = 0;
fps = "...";
}
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 85
//gals (gals)
package {
import flash.media.*;
public dynamic class gals extends Sound {
}
}//package
Section 86
//Global (Global)
package {
import flash.display.*;
import flash.geom.*;
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_HEIGHT = 450;
public static var STAGE_WIDTH = 600;
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 = _arg1.x1;
var _local4:Number = _arg1.y1;
var _local5:Number = _arg1.x2;
var _local6:Number = _arg1.y2;
var _local7:Number = _arg2.x1;
var _local8:Number = _arg2.y1;
var _local9:Number = _arg2.x2;
var _local10:Number = _arg2.y2;
var _local11:Number = Global.Slope(_local3, _local4, _local5, _local6);
var _local12:Number = Global.Slope(_local7, _local8, _local9, _local10);
return (Math.atan(((_local12 - _local11) / (1 + (_local11 * _local12)))));
}
public static function htmlColorToAS(_arg1:String):uint{
var _local2 = "0x";
var _local3 = 1;
while (_local3 < _arg1.length) {
_local2 = _local2.concat(_arg1.charAt(_local3));
_local3++;
};
return (uint(_local2));
}
public static function Slope(_arg1, _arg2, _arg3, _arg4):Number{
var _local5:Number = (_arg1 - _arg3);
var _local6:Number = (_arg2 - _arg4);
return ((_local6 / _local5));
}
public static function duplicateMovieClip(_arg1:MovieClip):MovieClip{
var _local4:Rectangle;
var _local2:Class = Object(_arg1).constructor;
var _local3:MovieClip = 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 = (_arg1 - _arg3);
var _local6:Number = (_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 opened:Boolean;
var msg:String;
var url = _arg1;
var target = _arg2;
var param3 = _arg3;
var ok:Boolean;
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 = "";
var _local3:String = _arg1;
var _local4:int;
var _local5:int = (_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);
}
public static function clone(_arg1:Object){
var _local2:ByteArray = new ByteArray();
_local2.writeObject(_arg1);
_local2.position = 0;
return (_local2.readObject());
}
}
}//package
Section 87
//Main (Main)
package {
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.utils.*;
import steve.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.system.*;
public dynamic class Main extends MovieClip {
private var mContextMenu:ContextMenu;
public var level:int;
public var mPause:CPause;
public var mGameWidthSteve:int;
public var mPreloader:MovieClip;
public var mBgmStartFlag:Boolean;// = false
private var mBgm:SoundChannel;
public var mState:int;
public var lbar:MovieClip;
public var index_tutorial:int;
public var mTutorial1:CTutorial1;
public var mBgmFlag:Boolean;// = true
public var mGame_Over:CGame_Over;
public var mFPSBar:MovieClip;
private var mMainMenu:CMainMenu;
public var mSelect:CSelect;
private var mSfx:SoundChannel;
public var mGameKeySteve:String;
public var lpc:TextField;
public var mSfxFlag:Boolean;// = true
public var mNext_Level:CNext_Level;
public var mTamat:CTamat;
public var di_game:Boolean;
public var mGameHeightSteve:int;
public var sound_hanny:int;
public var mOptionBar:COptionBar;
public var mBannedWin:CBannedWin;
public var mGameIdSteve:String;
public var jum_tutorial:int;// = 1
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;
super();
addFrameScript(0, frame1, 15, frame16);
level = 1;
sound_hanny = 1;
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;
}
private function isDomainNOTAllowed(_arg1:Array):Boolean{
var _local4:Number;
var _local2:LocalConnection = new LocalConnection();
var _local3:String = _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);
}
public function InitSelect(){
ShowWindow("Select");
mSelect.AddDispatcher();
mState = STATE_GAME;
}
private function RunStateGame(){
this.dispatchEvent(new Event("update"));
}
public function KillWindow(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=true){
var _local5:XML;
var _local6:String;
var _local4:String = ("m" + _arg1);
if (this[_local4]){
if (((this[_local4].parent) && (_arg3))){
this[_local4].parent.removeChild(this[_local4]);
};
if (_arg2){
_local5 = describeType(this[_local4]);
_local6 = _local5.method.@name.toXMLString();
if (_local6.indexOf("RemoveDispatcher") > -1){
this[_local4].RemoveDispatcher();
};
};
this[_local4] = null;
};
if (this[_local4] != null){
trace((("WARNING ### " + _arg1) + "Not null after Kill process"));
};
}
private function menuSelectHandler(_arg1:ContextMenuEvent){
}
public function InitMainMenu(){
ShowWindow("MainMenu");
mMainMenu.AddDispatcher();
mState = STATE_GAME;
}
public function InitTamat(){
ShowWindow("Tamat");
mTamat.AddDispatcher();
mState = STATE_GAME;
}
private function OnKeyFocusChange(_arg1:FocusEvent):void{
stage.focus = this.stage;
}
private function isDomainAllowed(_arg1:Array):Boolean{
var _local4:Number;
var _local2:LocalConnection = new LocalConnection();
var _local3:String = _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);
}
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;
};
};
}
public function InitTutorial(_arg1:int){
ShowWindow(("Tutorial" + _arg1));
this[("mTutorial" + _arg1)].AddDispatcher();
}
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));
};
}
private function InitOnce(){
InitMainMenu();
mOptionBar = new COptionBar(0, 0, "CMain_Sound", 1);
stage.addChild(mOptionBar);
mFPSBar = new FPS();
stage.addChild(mFPSBar);
mFPSBar.visible = false;
mOptionBar.visible = false;
if (this.hasEventListener(Event.ENTER_FRAME)){
this.removeEventListener(Event.ENTER_FRAME, OnEnterFrame);
};
this.addEventListener(Event.ENTER_FRAME, OnEnterFrame, false, 0, true);
}
function frame16(){
InitOnce();
}
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 CheckDomain(){
var _local3:*;
var _local1:Array = new Array("localhost");
var _local2:Array = 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 !!!");
};
}
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 InitGame(){
ShowWindow("Game");
mGame.AddDispatcher();
mState = STATE_GAME;
}
public function InitGame_Over(){
ShowWindow("Game_Over");
mGame_Over.AddDispatcher();
mState = STATE_GAME;
}
public function ShowWindow(_arg1:String){
var _local2:String = ("C" + _arg1);
var _local3:String = ("m" + _arg1);
var _local4:Class = (getDefinitionByName(_local2) as Class);
if (_local4){
KillWindow(_local3);
this[_local3] = new (_local4);
this.stage.addChild(this[_local3]);
};
}
public function set_default_awal_game(){
level = 1;
index_tutorial = 1;
di_game = false;
}
public function InitNext_Level(){
ShowWindow("Next_Level");
mNext_Level.AddDispatcher();
mState = STATE_GAME;
}
public function InitPause(){
ShowWindow("Pause");
}
function frame1(){
stop();
mGameWidthSteve = 800;
mGameHeightSteve = 600;
mGameIdSteve = "e2e87c5b9566150f";
mGameKeySteve = "495eef277cdc261b50874408c8812b7a";
cobrand.Init(Portals.dressuppink, this);
}
private function isPlayerAllowed(_arg1:Array):Boolean{
var _local2:String = Capabilities.playerType;
trace(("PlayerType : " + _local2));
var _local3:Number = 0;
while (_local3 < _arg1.length) {
if (_local2 == _arg1[_local3]){
return (true);
};
_local3++;
};
return (false);
}
public static function GetInstance():Main{
return (MainGlobal);
}
}
}//package
Section 88
//preloaderBGM (preloaderBGM)
package {
import flash.media.*;
public dynamic class preloaderBGM extends Sound {
}
}//package
Section 89
//preloaderSound (preloaderSound)
package {
import flash.media.*;
public dynamic class preloaderSound extends Sound {
}
}//package