STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228071
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2560 · P5120

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/69522235?noj=FRM69522235-29DC" width="1" height="1"></div>

SEGA ソニック ワールドアドベンチャー ギャラリー.swf

This is the info page for
Flash #195429

(Click the ID number above for more basic data on this flash file.)


Text
Endless Possibility - ヴォーカルテーマ

The World Adventure - オーケストラテーマ

ホワイト アイランド - 昼

アポトス - 昼

クレイ キャッスル - 昼

クレイ キャッスル - 夜

スパゴニア - 夜

オレンジ ルーフス - 昼

チュンナン - 夜

ホロスカ - 夜

シャマール - 昼

ジャングル ジョイライド - 夜

ウェアホッグ : バトルのテーマ

Endless Possibility  - Vocal Theme -
Performed by Jaret Reddick of Bowling For Soup

The World Adventure  - Orchestral Theme -

Windmill Isle - Day

Apotos - Day

Savannah Citadel - Day

Savannah Citadel - Night

Spagonia - Night

Rooftop Run - Day

Chun-nan - Night

Holoska - Night

Shamar - Day

Jungle Joyride - Night

Werehog Battle Theme

SOUND| サウンド

ActionScript [AS3]

Section 1
//ColorShortcuts (caurina.transitions.properties.ColorShortcuts) package caurina.transitions.properties { import flash.geom.*; import caurina.transitions.*; import flash.filters.*; public class ColorShortcuts { private static var LUMINANCE_B:Number = 0.072169; private static var LUMINANCE_G:Number = 0.71516; private static var LUMINANCE_R:Number = 0.212671; public function ColorShortcuts(){ trace("This is an static class and should not be instantiated."); } public static function _color_splitter(_arg1, _arg2:Array):Array{ var _local3:Array; _local3 = new Array(); if (_arg1 == null){ _local3.push({name:"_color_redMultiplier", value:1}); _local3.push({name:"_color_redOffset", value:0}); _local3.push({name:"_color_greenMultiplier", value:1}); _local3.push({name:"_color_greenOffset", value:0}); _local3.push({name:"_color_blueMultiplier", value:1}); _local3.push({name:"_color_blueOffset", value:0}); } else { _local3.push({name:"_color_redMultiplier", value:0}); _local3.push({name:"_color_redOffset", value:AuxFunctions.numberToR(_arg1)}); _local3.push({name:"_color_greenMultiplier", value:0}); _local3.push({name:"_color_greenOffset", value:AuxFunctions.numberToG(_arg1)}); _local3.push({name:"_color_blueMultiplier", value:0}); _local3.push({name:"_color_blueOffset", value:AuxFunctions.numberToB(_arg1)}); }; return (_local3); } public static function _contrast_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{ var _local5:Number; var _local6:Number; var _local7:ColorTransform; _local5 = (_arg2 + 1); _local6 = Math.round((_arg2 * -128)); _local7 = new ColorTransform(_local5, _local5, _local5, 1, _local6, _local6, _local6, 0); _arg1.transform.colorTransform = _local7; } public static function _brightness_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{ var _local4:Boolean; var _local5:ColorTransform; var _local6:Number; var _local7:Number; _local4 = _arg2[0]; _local5 = _arg1.transform.colorTransform; _local6 = (1 - (((_local5.redMultiplier + _local5.greenMultiplier) + _local5.blueMultiplier) / 3)); _local7 = (((_local5.redOffset + _local5.greenOffset) + _local5.blueOffset) / 3); if (_local4){ return (((_local7 > 0)) ? (_local7 / 0xFF) : -(_local6)); //unresolved jump }; return ((_local7 / 100)); } public static function _saturation_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{ var _local4:Array; var _local5:Boolean; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local4 = getObjectMatrix(_arg1); _local5 = _arg2[0]; _local6 = (_local5) ? (1 / 3) : LUMINANCE_R; _local7 = (_local5) ? (1 / 3) : LUMINANCE_G; _local8 = (_local5) ? (1 / 3) : LUMINANCE_B; _local9 = (((((_local4[0] - _local6) / (1 - _local6)) + ((_local4[6] - _local7) / (1 - _local7))) + ((_local4[12] - _local8) / (1 - _local8))) / 3); _local10 = (1 - (((((((_local4[1] / _local7) + (_local4[2] / _local8)) + (_local4[5] / _local6)) + (_local4[7] / _local8)) + (_local4[10] / _local6)) + (_local4[11] / _local7)) / 6)); return (((_local9 + _local10) / 2)); } public static function _oldColor_property_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{ return ((_arg1.transform.colorTransform[_arg2[0]] * 100)); } public static function _brightness_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{ var _local5:Boolean; var _local6:Number; var _local7:Number; var _local8:ColorTransform; _local5 = _arg3[0]; if (_local5){ _local6 = (1 - Math.abs(_arg2)); _local7 = ((_arg2 > 0)) ? Math.round((_arg2 * 0xFF)) : 0; } else { _local6 = 1; _local7 = Math.round((_arg2 * 100)); }; _local8 = new ColorTransform(_local6, _local6, _local6, 1, _local7, _local7, _local7, 0); _arg1.transform.colorTransform = _local8; } public static function _saturation_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{ var _local5:Boolean; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Array; _local5 = _arg3[0]; _local6 = (_local5) ? (1 / 3) : LUMINANCE_R; _local7 = (_local5) ? (1 / 3) : LUMINANCE_G; _local8 = (_local5) ? (1 / 3) : LUMINANCE_B; _local9 = _arg2; _local10 = (1 - _local9); _local11 = (_local6 * _local10); _local12 = (_local7 * _local10); _local13 = (_local8 * _local10); _local14 = [(_local11 + _local9), _local12, _local13, 0, 0, _local11, (_local12 + _local9), _local13, 0, 0, _local11, _local12, (_local13 + _local9), 0, 0, 0, 0, 0, 1, 0]; setObjectMatrix(_arg1, _local14); } private static function getObjectMatrix(_arg1:Object):Array{ var _local2:Number; _local2 = 0; while (_local2 < _arg1.filters.length) { if ((_arg1.filters[_local2] is ColorMatrixFilter)){ return (_arg1.filters[_local2].matrix.concat()); }; _local2++; }; return ([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]); } public static function getHueDistance(_arg1:Array, _arg2:Array):Number{ return (((Math.abs((_arg1[0] - _arg2[0])) + Math.abs((_arg1[1] - _arg2[1]))) + Math.abs((_arg1[2] - _arg2[2])))); } public static function _hue_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{ setObjectMatrix(_arg1, getHueMatrix(_arg2)); } public static function _hue_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{ var _local4:Array; var _local5:Array; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = getObjectMatrix(_arg1); _local5 = []; _local5[0] = {angle:-179.9, matrix:getHueMatrix(-179.9)}; _local5[1] = {angle:180, matrix:getHueMatrix(180)}; _local6 = 0; while (_local6 < _local5.length) { _local5[_local6].distance = getHueDistance(_local4, _local5[_local6].matrix); _local6++; }; _local7 = 15; _local6 = 0; while (_local6 < _local7) { if (_local5[0].distance < _local5[1].distance){ _local8 = 1; } else { _local8 = 0; }; _local5[_local8].angle = ((_local5[0].angle + _local5[1].angle) / 2); _local5[_local8].matrix = getHueMatrix(_local5[_local8].angle); _local5[_local8].distance = getHueDistance(_local4, _local5[_local8].matrix); _local6++; }; return (_local5[_local8].angle); } public static function getHueMatrix(_arg1:Number):Array{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Array; _local2 = ((_arg1 * Math.PI) / 180); _local3 = LUMINANCE_R; _local4 = LUMINANCE_G; _local5 = LUMINANCE_B; _local6 = Math.cos(_local2); _local7 = Math.sin(_local2); _local8 = [((_local3 + (_local6 * (1 - _local3))) + (_local7 * -(_local3))), ((_local4 + (_local6 * -(_local4))) + (_local7 * -(_local4))), ((_local5 + (_local6 * -(_local5))) + (_local7 * (1 - _local5))), 0, 0, ((_local3 + (_local6 * -(_local3))) + (_local7 * 0.143)), ((_local4 + (_local6 * (1 - _local4))) + (_local7 * 0.14)), ((_local5 + (_local6 * -(_local5))) + (_local7 * -0.283)), 0, 0, ((_local3 + (_local6 * -(_local3))) + (_local7 * -((1 - _local3)))), ((_local4 + (_local6 * -(_local4))) + (_local7 * _local4)), ((_local5 + (_local6 * (1 - _local5))) + (_local7 * _local5)), 0, 0, 0, 0, 0, 1, 0]; return (_local8); } public static function _color_property_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{ return (_arg1.transform.colorTransform[_arg2[0]]); } public static function init():void{ Tweener.registerSpecialProperty("_color_ra", _oldColor_property_get, _oldColor_property_set, ["redMultiplier"]); Tweener.registerSpecialProperty("_color_rb", _color_property_get, _color_property_set, ["redOffset"]); Tweener.registerSpecialProperty("_color_ga", _oldColor_property_get, _oldColor_property_set, ["greenMultiplier"]); Tweener.registerSpecialProperty("_color_gb", _color_property_get, _color_property_set, ["greenOffset"]); Tweener.registerSpecialProperty("_color_ba", _oldColor_property_get, _oldColor_property_set, ["blueMultiplier"]); Tweener.registerSpecialProperty("_color_bb", _color_property_get, _color_property_set, ["blueOffset"]); Tweener.registerSpecialProperty("_color_aa", _oldColor_property_get, _oldColor_property_set, ["alphaMultiplier"]); Tweener.registerSpecialProperty("_color_ab", _color_property_get, _color_property_set, ["alphaOffset"]); Tweener.registerSpecialProperty("_color_redMultiplier", _color_property_get, _color_property_set, ["redMultiplier"]); Tweener.registerSpecialProperty("_color_redOffset", _color_property_get, _color_property_set, ["redOffset"]); Tweener.registerSpecialProperty("_color_greenMultiplier", _color_property_get, _color_property_set, ["greenMultiplier"]); Tweener.registerSpecialProperty("_color_greenOffset", _color_property_get, _color_property_set, ["greenOffset"]); Tweener.registerSpecialProperty("_color_blueMultiplier", _color_property_get, _color_property_set, ["blueMultiplier"]); Tweener.registerSpecialProperty("_color_blueOffset", _color_property_get, _color_property_set, ["blueOffset"]); Tweener.registerSpecialProperty("_color_alphaMultiplier", _color_property_get, _color_property_set, ["alphaMultiplier"]); Tweener.registerSpecialProperty("_color_alphaOffset", _color_property_get, _color_property_set, ["alphaOffset"]); Tweener.registerSpecialPropertySplitter("_color", _color_splitter); Tweener.registerSpecialPropertySplitter("_colorTransform", _colorTransform_splitter); Tweener.registerSpecialProperty("_brightness", _brightness_get, _brightness_set, [false]); Tweener.registerSpecialProperty("_tintBrightness", _brightness_get, _brightness_set, [true]); Tweener.registerSpecialProperty("_contrast", _contrast_get, _contrast_set); Tweener.registerSpecialProperty("_hue", _hue_get, _hue_set); Tweener.registerSpecialProperty("_saturation", _saturation_get, _saturation_set, [false]); Tweener.registerSpecialProperty("_dumbSaturation", _saturation_get, _saturation_set, [true]); } private static function setObjectMatrix(_arg1:Object, _arg2:Array):void{ var _local3:Array; var _local4:Boolean; var _local5:Number; var _local6:ColorMatrixFilter; _local3 = _arg1.filters.concat(); _local4 = false; _local5 = 0; while (_local5 < _local3.length) { if ((_local3[_local5] is ColorMatrixFilter)){ _local3[_local5].matrix = _arg2.concat(); _local4 = true; }; _local5++; }; if (!_local4){ _local6 = new ColorMatrixFilter(_arg2); _local3[_local3.length] = _local6; }; _arg1.filters = _local3; } public static function _color_property_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{ var _local5:ColorTransform; _local5 = _arg1.transform.colorTransform; _local5[_arg3[0]] = _arg2; _arg1.transform.colorTransform = _local5; } public static function _oldColor_property_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{ var _local5:ColorTransform; _local5 = _arg1.transform.colorTransform; _local5[_arg3[0]] = (_arg2 / 100); _arg1.transform.colorTransform = _local5; } public static function _contrast_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{ var _local4:ColorTransform; var _local5:Number; var _local6:Number; _local4 = _arg1.transform.colorTransform; _local5 = ((((_local4.redMultiplier + _local4.greenMultiplier) + _local4.blueMultiplier) / 3) - 1); _local6 = ((((_local4.redOffset + _local4.greenOffset) + _local4.blueOffset) / 3) / -128); return (((_local5 + _local6) / 2)); } public static function _colorTransform_splitter(_arg1:Object, _arg2:Array):Array{ var _local3:Array; _local3 = new Array(); if (_arg1 == null){ _local3.push({name:"_color_redMultiplier", value:1}); _local3.push({name:"_color_redOffset", value:0}); _local3.push({name:"_color_greenMultiplier", value:1}); _local3.push({name:"_color_greenOffset", value:0}); _local3.push({name:"_color_blueMultiplier", value:1}); _local3.push({name:"_color_blueOffset", value:0}); } else { if (_arg1.ra != undefined){ _local3.push({name:"_color_ra", value:_arg1.ra}); }; if (_arg1.rb != undefined){ _local3.push({name:"_color_rb", value:_arg1.rb}); }; if (_arg1.ga != undefined){ _local3.push({name:"_color_ba", value:_arg1.ba}); }; if (_arg1.gb != undefined){ _local3.push({name:"_color_bb", value:_arg1.bb}); }; if (_arg1.ba != undefined){ _local3.push({name:"_color_ga", value:_arg1.ga}); }; if (_arg1.bb != undefined){ _local3.push({name:"_color_gb", value:_arg1.gb}); }; if (_arg1.aa != undefined){ _local3.push({name:"_color_aa", value:_arg1.aa}); }; if (_arg1.ab != undefined){ _local3.push({name:"_color_ab", value:_arg1.ab}); }; if (_arg1.redMultiplier != undefined){ _local3.push({name:"_color_redMultiplier", value:_arg1.redMultiplier}); }; if (_arg1.redOffset != undefined){ _local3.push({name:"_color_redOffset", value:_arg1.redOffset}); }; if (_arg1.blueMultiplier != undefined){ _local3.push({name:"_color_blueMultiplier", value:_arg1.blueMultiplier}); }; if (_arg1.blueOffset != undefined){ _local3.push({name:"_color_blueOffset", value:_arg1.blueOffset}); }; if (_arg1.greenMultiplier != undefined){ _local3.push({name:"_color_greenMultiplier", value:_arg1.greenMultiplier}); }; if (_arg1.greenOffset != undefined){ _local3.push({name:"_color_greenOffset", value:_arg1.greenOffset}); }; if (_arg1.alphaMultiplier != undefined){ _local3.push({name:"_color_alphaMultiplier", value:_arg1.alphaMultiplier}); }; if (_arg1.alphaOffset != undefined){ _local3.push({name:"_color_alphaOffset", value:_arg1.alphaOffset}); }; }; return (_local3); } } }//package caurina.transitions.properties
Section 2
//AuxFunctions (caurina.transitions.AuxFunctions) package caurina.transitions { public class AuxFunctions { public static function concatObjects(... _args):Object{ var _local2:Object; var _local3:Object; var _local4:int; var _local5:String; _local2 = {}; _local4 = 0; while (_local4 < _args.length) { _local3 = _args[_local4]; for (_local5 in _local3) { if (_local3[_local5] == null){ delete _local2[_local5]; } else { _local2[_local5] = _local3[_local5]; }; }; _local4++; }; return (_local2); } public static function numberToG(_arg1:Number):Number{ return (((_arg1 & 0xFF00) >> 8)); } public static function numberToR(_arg1:Number):Number{ return (((_arg1 & 0xFF0000) >> 16)); } public static function isInArray(_arg1:String, _arg2:Array):Boolean{ var _local3:uint; var _local4:uint; _local3 = _arg2.length; _local4 = 0; while (_local4 < _local3) { if (_arg2[_local4] == _arg1){ return (true); }; _local4++; }; return (false); } public static function getObjectLength(_arg1:Object):uint{ var _local2:uint; var _local3:String; _local2 = 0; for (_local3 in _arg1) { _local2++; }; return (_local2); } public static function numberToB(_arg1:Number):Number{ return ((_arg1 & 0xFF)); } } }//package caurina.transitions
Section 3
//Equations (caurina.transitions.Equations) package caurina.transitions { public class Equations { public function Equations(){ trace("Equations is a static class and should not be instantiated."); } public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); if (_arg1 < (1 / 2.75)){ return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2)); }; if (_arg1 < (2 / 2.75)){ _arg1 = (_arg1 - (1.5 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2)); }; if (_arg1 < (2.5 / 2.75)){ _arg1 = (_arg1 - (2.25 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2)); }; _arg1 = (_arg1 - (2.625 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2)); } public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; var _local7:Number; var _local8:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 == 2){ return ((_arg2 + _arg3)); }; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period; _local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; if (_arg1 < 1){ --_arg1; return (((-0.5 * ((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); }; --_arg1; return ((((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2)); } public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2)); }; return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2)); } public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ _local6 = (_local6 * 1.525); return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_local6 + 1) * _arg1) - _local6))) + _arg2)); }; _arg1 = (_arg1 - 2); _local6 = (_local6 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 2)) + _arg2)); } public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 1)) + _arg2)); } public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2)); } public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2)); } public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function init():void{ Tweener.registerTransition("easenone", easeNone); Tweener.registerTransition("linear", easeNone); Tweener.registerTransition("easeinquad", easeInQuad); Tweener.registerTransition("easeoutquad", easeOutQuad); Tweener.registerTransition("easeinoutquad", easeInOutQuad); Tweener.registerTransition("easeoutinquad", easeOutInQuad); Tweener.registerTransition("easeincubic", easeInCubic); Tweener.registerTransition("easeoutcubic", easeOutCubic); Tweener.registerTransition("easeinoutcubic", easeInOutCubic); Tweener.registerTransition("easeoutincubic", easeOutInCubic); Tweener.registerTransition("easeinquart", easeInQuart); Tweener.registerTransition("easeoutquart", easeOutQuart); Tweener.registerTransition("easeinoutquart", easeInOutQuart); Tweener.registerTransition("easeoutinquart", easeOutInQuart); Tweener.registerTransition("easeinquint", easeInQuint); Tweener.registerTransition("easeoutquint", easeOutQuint); Tweener.registerTransition("easeinoutquint", easeInOutQuint); Tweener.registerTransition("easeoutinquint", easeOutInQuint); Tweener.registerTransition("easeinsine", easeInSine); Tweener.registerTransition("easeoutsine", easeOutSine); Tweener.registerTransition("easeinoutsine", easeInOutSine); Tweener.registerTransition("easeoutinsine", easeOutInSine); Tweener.registerTransition("easeincirc", easeInCirc); Tweener.registerTransition("easeoutcirc", easeOutCirc); Tweener.registerTransition("easeinoutcirc", easeInOutCirc); Tweener.registerTransition("easeoutincirc", easeOutInCirc); Tweener.registerTransition("easeinexpo", easeInExpo); Tweener.registerTransition("easeoutexpo", easeOutExpo); Tweener.registerTransition("easeinoutexpo", easeInOutExpo); Tweener.registerTransition("easeoutinexpo", easeOutInExpo); Tweener.registerTransition("easeinelastic", easeInElastic); Tweener.registerTransition("easeoutelastic", easeOutElastic); Tweener.registerTransition("easeinoutelastic", easeInOutElastic); Tweener.registerTransition("easeoutinelastic", easeOutInElastic); Tweener.registerTransition("easeinback", easeInBack); Tweener.registerTransition("easeoutback", easeOutBack); Tweener.registerTransition("easeinoutback", easeInOutBack); Tweener.registerTransition("easeoutinback", easeOutInBack); Tweener.registerTransition("easeinbounce", easeInBounce); Tweener.registerTransition("easeoutbounce", easeOutBounce); Tweener.registerTransition("easeinoutbounce", easeInOutBounce); Tweener.registerTransition("easeoutinbounce", easeOutInBounce); } public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2)); } public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001))); } public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2)); } public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2)); } public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2)); } public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2)); } public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2)); } public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; var _local7:Number; var _local8:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; _local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; --_arg1; return ((-(((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); } public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2)); } public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); } public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 == 0){ return (_arg2); }; if (_arg1 == _arg4){ return ((_arg2 + _arg3)); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005))); }; --_arg1; return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2)); } public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; var _local7:Number; var _local8:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; _local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; return (((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2)); } public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2)); } public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } } }//package caurina.transitions
Section 4
//PropertyInfoObj (caurina.transitions.PropertyInfoObj) package caurina.transitions { public class PropertyInfoObj { public var originalValueComplete:Object; public var modifierParameters:Array; public var isSpecialProperty:Boolean; public var hasModifier:Boolean; public var valueComplete:Number; public var extra:Object; public var valueStart:Number; public var modifierFunction:Function; public var arrayIndex:Number; public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Object, _arg4:Number, _arg5:Object, _arg6:Boolean, _arg7:Function, _arg8:Array){ valueStart = _arg1; valueComplete = _arg2; originalValueComplete = _arg3; arrayIndex = _arg4; extra = _arg5; isSpecialProperty = _arg6; hasModifier = Boolean(_arg7); modifierFunction = _arg7; modifierParameters = _arg8; } public function toString():String{ var _local1:String; _local1 = "\n[PropertyInfoObj "; _local1 = (_local1 + ("valueStart:" + String(valueStart))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("valueComplete:" + String(valueComplete))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("originalValueComplete:" + String(originalValueComplete))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("arrayIndex:" + String(arrayIndex))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("extra:" + String(extra))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("isSpecialProperty:" + String(isSpecialProperty))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("hasModifier:" + String(hasModifier))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierFunction:" + String(modifierFunction))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierParameters:" + String(modifierParameters))); _local1 = (_local1 + "]\n"); return (_local1); } public function clone():PropertyInfoObj{ var _local1:PropertyInfoObj; _local1 = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters); return (_local1); } } }//package caurina.transitions
Section 5
//SpecialProperty (caurina.transitions.SpecialProperty) package caurina.transitions { public class SpecialProperty { public var parameters:Array; public var preProcess:Function; public var setValue:Function; public var getValue:Function; public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null, _arg4:Function=null){ getValue = _arg1; setValue = _arg2; parameters = _arg3; preProcess = _arg4; } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + "[SpecialProperty "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("setValue:" + String(setValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("preProcess:" + String(preProcess))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 6
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier) package caurina.transitions { public class SpecialPropertyModifier { public var getValue:Function; public var modifyValues:Function; public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){ modifyValues = _arg1; getValue = _arg2; } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + "[SpecialPropertyModifier "); _local1 = (_local1 + ("modifyValues:" + String(modifyValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 7
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter) package caurina.transitions { public class SpecialPropertySplitter { public var parameters:Array; public var splitValues:Function; public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){ splitValues = _arg1; parameters = _arg2; } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + "[SpecialPropertySplitter "); _local1 = (_local1 + ("splitValues:" + String(splitValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 8
//Tweener (caurina.transitions.Tweener) package caurina.transitions { import flash.events.*; import flash.display.*; import flash.utils.*; public class Tweener { private static var _timeScale:Number = 1; private static var _currentTimeFrame:Number; private static var _specialPropertySplitterList:Object; private static var _engineExists:Boolean = false; private static var _specialPropertyModifierList:Object; private static var _currentTime:Number; private static var _tweenList:Array; private static var _specialPropertyList:Object; private static var _transitionList:Object; private static var _inited:Boolean = false; private static var __tweener_controller__:MovieClip; public function Tweener(){ trace("Tweener is a static class and should not be instantiated."); } public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{ var _local4:SpecialPropertyModifier; if (!_inited){ init(); }; _local4 = new SpecialPropertyModifier(_arg2, _arg3); _specialPropertyModifierList[_arg1] = _local4; } public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{ var _local6:SpecialProperty; if (!_inited){ init(); }; _local6 = new SpecialProperty(_arg2, _arg3, _arg4, _arg5); _specialPropertyList[_arg1] = _local6; } public static function init(... _args):void{ _inited = true; _transitionList = new Object(); Equations.init(); _specialPropertyList = new Object(); _specialPropertyModifierList = new Object(); _specialPropertySplitterList = new Object(); } private static function updateTweens():Boolean{ var _local1:int; if (_tweenList.length == 0){ return (false); }; _local1 = 0; while (_local1 < _tweenList.length) { if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){ if (!updateTweenByIndex(_local1)){ removeTweenByIndex(_local1); }; if (_tweenList[_local1] == null){ removeTweenByIndex(_local1, true); _local1--; }; }; _local1++; }; return (true); } public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local3:Number; var _local4:Array; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Function; var _local9:TweenListObj; var _local10:Number; var _local11:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local4 = _arg1.concat(); } else { _local4 = [_arg1]; }; _local5 = _arg2; if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; _local6 = (isNaN(_local5.time)) ? 0 : _local5.time; _local7 = (isNaN(_local5.delay)) ? 0 : _local5.delay; if (typeof(_local5.transition) == "string"){ _local11 = _local5.transition.toLowerCase(); _local8 = _transitionList[_local11]; } else { _local8 = _local5.transition; }; if (!Boolean(_local8)){ _local8 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local4.length) { if (_local5.useFrames == true){ _local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams); } else { _local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams); }; _local9.properties = null; _local9.onStart = _local5.onStart; _local9.onUpdate = _local5.onUpdate; _local9.onComplete = _local5.onComplete; _local9.onOverwrite = _local5.onOverwrite; _local9.onStartParams = _local5.onStartParams; _local9.onUpdateParams = _local5.onUpdateParams; _local9.onCompleteParams = _local5.onCompleteParams; _local9.onOverwriteParams = _local5.onOverwriteParams; _local9.onStartScope = _local5.onStartScope; _local9.onUpdateScope = _local5.onUpdateScope; _local9.onCompleteScope = _local5.onCompleteScope; _local9.onOverwriteScope = _local5.onOverwriteScope; _local9.onErrorScope = _local5.onErrorScope; _local9.isCaller = true; _local9.count = _local5.count; _local9.waitFrames = _local5.waitFrames; _tweenList.push(_local9); if ((((_local6 == 0)) && ((_local7 == 0)))){ _local10 = (_tweenList.length - 1); updateTweenByIndex(_local10); removeTweenByIndex(_local10); }; _local3++; }; return (true); } public static function pauseAllTweens():Boolean{ var _local1:Boolean; var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local1 = false; _local2 = 0; while (_local2 < _tweenList.length) { pauseTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function removeTweens(_arg1:Object, ... _args):Boolean{ var _local3:Array; var _local4:uint; _local3 = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(removeTweenByIndex, _arg1, _local3)); } public static function splitTweens(_arg1:Number, _arg2:Array):uint{ var _local3:TweenListObj; var _local4:TweenListObj; var _local5:uint; var _local6:String; var _local7:Boolean; _local3 = _tweenList[_arg1]; _local4 = _local3.clone(false); _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2[_local5]; if (Boolean(_local3.properties[_local6])){ _local3.properties[_local6] = undefined; delete _local3.properties[_local6]; }; _local5++; }; for (_local6 in _local4.properties) { _local7 = false; _local5 = 0; while (_local5 < _arg2.length) { if (_arg2[_local5] == _local6){ _local7 = true; break; }; _local5++; }; if (!_local7){ _local4.properties[_local6] = undefined; delete _local4.properties[_local6]; }; }; _tweenList.push(_local4); return ((_tweenList.length - 1)); } public static function updateFrame():void{ _currentTimeFrame++; } public static function resumeTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj; var _local3:Number; _local2 = _tweenList[_arg1]; if ((((_local2 == null)) || (!(_local2.isPaused)))){ return (false); }; _local3 = getCurrentTweeningTime(_local2); _local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused)); _local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused)); _local2.timePaused = undefined; _local2.isPaused = false; return (true); } public static function getVersion():String{ return ("AS3 1.31.71"); } public static function onEnterFrame(_arg1:Event):void{ var _local2:Boolean; updateTime(); updateFrame(); _local2 = false; _local2 = updateTweens(); if (!_local2){ stopEngine(); }; } public static function updateTime():void{ _currentTime = getTimer(); } private static function updateTweenByIndex(_arg1:Number):Boolean{ var tTweening:TweenListObj; var isOver:Boolean; var mustUpdate:Boolean; var nv:Number; var t:Number; var b:Number; var c:Number; var d:Number; var pName:String; var eventScope:Object; var tScope:Object; var cTime:Number; var tProperty:Object; var pv:Number; var i = _arg1; tTweening = _tweenList[i]; if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){ return (false); }; isOver = false; cTime = getCurrentTweeningTime(tTweening); if (cTime >= tTweening.timeStart){ tScope = tTweening.scope; if (tTweening.isCaller){ do { t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1)); b = tTweening.timeStart; c = (tTweening.timeComplete - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d); } while (!(cTime >= nv)); } else { mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates))); if (cTime >= tTweening.timeComplete){ isOver = true; mustUpdate = true; }; if (!tTweening.hasStarted){ if (Boolean(tTweening.onStart)){ eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope; try { tTweening.onStart.apply(eventScope, tTweening.onStartParams); } catch(e:Error) { handleError(tTweening, e, "onStart"); }; }; for (pName in tTweening.properties) { if (tTweening.properties[pName].isSpecialProperty){ if (Boolean(_specialPropertyList[pName].preProcess)){ tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra); }; pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { pv = tScope[pName]; }; tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv; }; mustUpdate = true; tTweening.hasStarted = true; }; if (mustUpdate){ for (pName in tTweening.properties) { tProperty = tTweening.properties[pName]; if (isOver){ nv = tProperty.valueComplete; } else { if (tProperty.hasModifier){ t = (cTime - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams); nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters); } else { t = (cTime - tTweening.timeStart); b = tProperty.valueStart; c = (tProperty.valueComplete - tProperty.valueStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d, tTweening.transitionParams); }; }; if (tTweening.rounded){ nv = Math.round(nv); }; if (tProperty.isSpecialProperty){ _specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { tScope[pName] = nv; }; }; tTweening.updatesSkipped = 0; if (Boolean(tTweening.onUpdate)){ eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope; try { tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams); } catch(e:Error) { handleError(tTweening, e, "onUpdate"); }; }; } else { tTweening.updatesSkipped++; }; }; if (((isOver) && (Boolean(tTweening.onComplete)))){ eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope; try { tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams); } catch(e:Error) { handleError(tTweening, e, "onComplete"); }; }; return (!(isOver)); }; return (true); } public static function setTimeScale(_arg1:Number):void{ var _local2:Number; var _local3:Number; if (isNaN(_arg1)){ _arg1 = 1; }; if (_arg1 < 1E-5){ _arg1 = 1E-5; }; if (_arg1 != _timeScale){ if (_tweenList != null){ _local2 = 0; while (_local2 < _tweenList.length) { _local3 = getCurrentTweeningTime(_tweenList[_local2]); _tweenList[_local2].timeStart = (_local3 - (((_local3 - _tweenList[_local2].timeStart) * _timeScale) / _arg1)); _tweenList[_local2].timeComplete = (_local3 - (((_local3 - _tweenList[_local2].timeComplete) * _timeScale) / _arg1)); if (_tweenList[_local2].timePaused != undefined){ _tweenList[_local2].timePaused = (_local3 - (((_local3 - _tweenList[_local2].timePaused) * _timeScale) / _arg1)); }; _local2++; }; }; _timeScale = _arg1; }; } public static function resumeAllTweens():Boolean{ var _local1:Boolean; var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local1 = false; _local2 = 0; while (_local2 < _tweenList.length) { resumeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{ var eventScope:Object; var pTweening = _arg1; var pError = _arg2; var pCallBackName = _arg3; if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){ eventScope = (Boolean(pTweening.onErrorScope)) ? pTweening.onErrorScope : pTweening.scope; try { pTweening.onError.apply(eventScope, [pTweening.scope, pError]); } catch(metaError:Error) { printError(((((String(pTweening.scope) + " raised an error while executing the 'onError' handler. Original error:\n ") + pError.getStackTrace()) + "\nonError error: ") + metaError.getStackTrace())); }; } else { if (!Boolean(pTweening.onError)){ printError(((((String(pTweening.scope) + " raised an error while executing the '") + pCallBackName) + "'handler. \n") + pError.getStackTrace())); }; }; } private static function startEngine():void{ _engineExists = true; _tweenList = new Array(); __tweener_controller__ = new MovieClip(); __tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); _currentTimeFrame = 0; updateTime(); } public static function removeAllTweens():Boolean{ var _local1:Boolean; var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local1 = false; _local2 = 0; while (_local2 < _tweenList.length) { removeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local3:Number; var _local4:Number; var _local5:String; var _local6:Array; var _local7:Object; var _local8:Number; var _local9:Number; var _local10:Array; var _local11:Object; var _local12:Object; var _local13:Function; var _local14:Object; var _local15:TweenListObj; var _local16:Number; var _local17:Array; var _local18:Array; var _local19:Array; var _local20:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local6 = _arg1.concat(); } else { _local6 = [_arg1]; }; _local7 = TweenListObj.makePropertiesChain(_arg2); if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; _local8 = (isNaN(_local7.time)) ? 0 : _local7.time; _local9 = (isNaN(_local7.delay)) ? 0 : _local7.delay; _local10 = new Array(); _local11 = {time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true}; _local12 = new Object(); for (_local5 in _local7) { if (!_local11[_local5]){ if (_specialPropertySplitterList[_local5]){ _local17 = _specialPropertySplitterList[_local5].splitValues(_local7[_local5], _specialPropertySplitterList[_local5].parameters); _local3 = 0; while (_local3 < _local17.length) { if (_specialPropertySplitterList[_local17[_local3].name]){ _local18 = _specialPropertySplitterList[_local17[_local3].name].splitValues(_local17[_local3].value, _specialPropertySplitterList[_local17[_local3].name].parameters); _local4 = 0; while (_local4 < _local18.length) { _local10[_local18[_local4].name] = {valueStart:undefined, valueComplete:_local18[_local4].value, arrayIndex:_local18[_local4].arrayIndex, isSpecialProperty:false}; _local4++; }; } else { _local10[_local17[_local3].name] = {valueStart:undefined, valueComplete:_local17[_local3].value, arrayIndex:_local17[_local3].arrayIndex, isSpecialProperty:false}; }; _local3++; }; } else { if (_specialPropertyModifierList[_local5] != undefined){ _local19 = _specialPropertyModifierList[_local5].modifyValues(_local7[_local5]); _local3 = 0; while (_local3 < _local19.length) { _local12[_local19[_local3].name] = {modifierParameters:_local19[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local5].getValue}; _local3++; }; } else { _local10[_local5] = {valueStart:undefined, valueComplete:_local7[_local5]}; }; }; }; }; for (_local5 in _local10) { if (_specialPropertyList[_local5] != undefined){ _local10[_local5].isSpecialProperty = true; } else { if (_local6[0][_local5] == undefined){ printError((((("The property '" + _local5) + "' doesn't seem to be a normal object property of ") + String(_local6[0])) + " or a registered special property.")); }; }; }; for (_local5 in _local12) { if (_local10[_local5] != undefined){ _local10[_local5].modifierParameters = _local12[_local5].modifierParameters; _local10[_local5].modifierFunction = _local12[_local5].modifierFunction; }; }; if (typeof(_local7.transition) == "string"){ _local20 = _local7.transition.toLowerCase(); _local13 = _transitionList[_local20]; } else { _local13 = _local7.transition; }; if (!Boolean(_local13)){ _local13 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local6.length) { _local14 = new Object(); for (_local5 in _local10) { _local14[_local5] = new PropertyInfoObj(_local10[_local5].valueStart, _local10[_local5].valueComplete, _local10[_local5].valueComplete, _local10[_local5].arrayIndex, {}, _local10[_local5].isSpecialProperty, _local10[_local5].modifierFunction, _local10[_local5].modifierParameters); }; if (_local7.useFrames == true){ _local15 = new TweenListObj(_local6[_local3], (_currentTimeFrame + (_local9 / _timeScale)), (_currentTimeFrame + ((_local9 + _local8) / _timeScale)), true, _local13, _local7.transitionParams); } else { _local15 = new TweenListObj(_local6[_local3], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), false, _local13, _local7.transitionParams); }; _local15.properties = _local14; _local15.onStart = _local7.onStart; _local15.onUpdate = _local7.onUpdate; _local15.onComplete = _local7.onComplete; _local15.onOverwrite = _local7.onOverwrite; _local15.onError = _local7.onError; _local15.onStartParams = _local7.onStartParams; _local15.onUpdateParams = _local7.onUpdateParams; _local15.onCompleteParams = _local7.onCompleteParams; _local15.onOverwriteParams = _local7.onOverwriteParams; _local15.onStartScope = _local7.onStartScope; _local15.onUpdateScope = _local7.onUpdateScope; _local15.onCompleteScope = _local7.onCompleteScope; _local15.onOverwriteScope = _local7.onOverwriteScope; _local15.onErrorScope = _local7.onErrorScope; _local15.rounded = _local7.rounded; _local15.skipUpdates = _local7.skipUpdates; removeTweensByTime(_local15.scope, _local15.properties, _local15.timeStart, _local15.timeComplete); _tweenList.push(_local15); if ((((_local8 == 0)) && ((_local9 == 0)))){ _local16 = (_tweenList.length - 1); updateTweenByIndex(_local16); removeTweenByIndex(_local16); }; _local3++; }; return (true); } public static function registerTransition(_arg1:String, _arg2:Function):void{ if (!_inited){ init(); }; _transitionList[_arg1] = _arg2; } public static function printError(_arg1:String):void{ trace(("## [Tweener] Error: " + _arg1)); } private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{ var _local4:Boolean; var _local5:uint; var _local6:Array; var _local7:uint; var _local8:uint; var _local9:uint; _local4 = false; if (!Boolean(_tweenList)){ return (false); }; _local5 = 0; while (_local5 < _tweenList.length) { if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){ if (_arg3.length == 0){ _arg1(_local5); _local4 = true; } else { _local6 = new Array(); _local7 = 0; while (_local7 < _arg3.length) { if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){ _local6.push(_arg3[_local7]); }; _local7++; }; if (_local6.length > 0){ _local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties); if (_local8 == _local6.length){ _arg1(_local5); _local4 = true; } else { _local9 = splitTweens(_local5, _local6); _arg1(_local9); _local4 = true; }; }; }; }; _local5++; }; return (_local4); } public static function getTweens(_arg1:Object):Array{ var _local2:uint; var _local3:String; var _local4:Array; if (!Boolean(_tweenList)){ return ([]); }; _local4 = new Array(); _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ for (_local3 in _tweenList[_local2].properties) { _local4.push(_local3); }; }; _local2++; }; return (_local4); } public static function isTweening(_arg1:Object):Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ return (true); }; _local2++; }; return (false); } public static function pauseTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj; _local2 = _tweenList[_arg1]; if ((((_local2 == null)) || (_local2.isPaused))){ return (false); }; _local2.timePaused = getCurrentTweeningTime(_local2); _local2.isPaused = true; return (true); } public static function getCurrentTweeningTime(_arg1:Object):Number{ return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime); } public static function getTweenCount(_arg1:Object):Number{ var _local2:uint; var _local3:Number; if (!Boolean(_tweenList)){ return (0); }; _local3 = 0; _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ _local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties)); }; _local2++; }; return (_local3); } private static function stopEngine():void{ _engineExists = false; _tweenList = null; _currentTime = 0; _currentTimeFrame = 0; __tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); __tweener_controller__ = null; } public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{ var removed:Boolean; var removedLocally:Boolean; var i:uint; var tl:uint; var pName:String; var eventScope:Object; var p_scope = _arg1; var p_properties = _arg2; var p_timeStart = _arg3; var p_timeComplete = _arg4; removed = false; tl = _tweenList.length; i = 0; while (i < tl) { if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){ if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){ removedLocally = false; for (pName in _tweenList[i].properties) { if (Boolean(p_properties[pName])){ if (Boolean(_tweenList[i].onOverwrite)){ eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope; try { _tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams); } catch(e:Error) { handleError(_tweenList[i], e, "onOverwrite"); }; }; _tweenList[i].properties[pName] = undefined; delete _tweenList[i].properties[pName]; removedLocally = true; removed = true; }; }; if (removedLocally){ if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){ removeTweenByIndex(i); }; }; }; }; i = (i + 1); }; return (removed); } public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{ var _local4:SpecialPropertySplitter; if (!_inited){ init(); }; _local4 = new SpecialPropertySplitter(_arg2, _arg3); _specialPropertySplitterList[_arg1] = _local4; } public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{ _tweenList[_arg1] = null; if (_arg2){ _tweenList.splice(_arg1, 1); }; return (true); } public static function resumeTweens(_arg1:Object, ... _args):Boolean{ var _local3:Array; var _local4:uint; _local3 = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(resumeTweenByIndex, _arg1, _local3)); } public static function pauseTweens(_arg1:Object, ... _args):Boolean{ var _local3:Array; var _local4:uint; _local3 = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(pauseTweenByIndex, _arg1, _local3)); } } }//package caurina.transitions
Section 9
//TweenListObj (caurina.transitions.TweenListObj) package caurina.transitions { public class TweenListObj { public var onUpdate:Function; public var useFrames:Boolean; public var hasStarted:Boolean; public var onOverwriteParams:Array; public var timeStart:Number; public var count:Number; public var timeComplete:Number; public var onStartParams:Array; public var onUpdateScope:Object; public var rounded:Boolean; public var onUpdateParams:Array; public var properties:Object; public var onComplete:Function; public var transitionParams:Object; public var updatesSkipped:Number; public var onStart:Function; public var onOverwriteScope:Object; public var skipUpdates:Number; public var onStartScope:Object; public var scope:Object; public var transition:Function; public var timePaused:Number; public var onCompleteParams:Array; public var timesCalled:Number; public var isCaller:Boolean; public var onError:Function; public var onErrorScope:Object; public var onOverwrite:Function; public var isPaused:Boolean; public var waitFrames:Boolean; public var onCompleteScope:Object; public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function, _arg6:Object){ scope = _arg1; timeStart = _arg2; timeComplete = _arg3; useFrames = _arg4; transition = _arg5; transitionParams = _arg6; properties = new Object(); isPaused = false; timePaused = undefined; isCaller = false; updatesSkipped = 0; timesCalled = 0; skipUpdates = 0; hasStarted = false; } public function clone(_arg1:Boolean):TweenListObj{ var _local2:TweenListObj; var _local3:String; _local2 = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams); _local2.properties = new Array(); for (_local3 in properties) { _local2.properties[_local3] = properties[_local3].clone(); }; _local2.skipUpdates = skipUpdates; _local2.updatesSkipped = updatesSkipped; if (!_arg1){ _local2.onStart = onStart; _local2.onUpdate = onUpdate; _local2.onComplete = onComplete; _local2.onOverwrite = onOverwrite; _local2.onError = onError; _local2.onStartParams = onStartParams; _local2.onUpdateParams = onUpdateParams; _local2.onCompleteParams = onCompleteParams; _local2.onOverwriteParams = onOverwriteParams; _local2.onStartScope = onStartScope; _local2.onUpdateScope = onUpdateScope; _local2.onCompleteScope = onCompleteScope; _local2.onOverwriteScope = onOverwriteScope; _local2.onErrorScope = onErrorScope; }; _local2.rounded = rounded; _local2.isPaused = isPaused; _local2.timePaused = timePaused; _local2.isCaller = isCaller; _local2.count = count; _local2.timesCalled = timesCalled; _local2.waitFrames = waitFrames; _local2.hasStarted = hasStarted; return (_local2); } public function toString():String{ var _local1:String; var _local2:Boolean; var _local3:String; _local1 = "\n[TweenListObj "; _local1 = (_local1 + ("scope:" + String(scope))); _local1 = (_local1 + ", properties:"); _local2 = true; for (_local3 in properties) { if (!_local2){ _local1 = (_local1 + ","); }; _local1 = (_local1 + ("[name:" + properties[_local3].name)); _local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart)); _local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete)); _local1 = (_local1 + "]"); _local2 = false; }; _local1 = (_local1 + (", timeStart:" + String(timeStart))); _local1 = (_local1 + (", timeComplete:" + String(timeComplete))); _local1 = (_local1 + (", useFrames:" + String(useFrames))); _local1 = (_local1 + (", transition:" + String(transition))); _local1 = (_local1 + (", transitionParams:" + String(transitionParams))); if (skipUpdates){ _local1 = (_local1 + (", skipUpdates:" + String(skipUpdates))); }; if (updatesSkipped){ _local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped))); }; if (Boolean(onStart)){ _local1 = (_local1 + (", onStart:" + String(onStart))); }; if (Boolean(onUpdate)){ _local1 = (_local1 + (", onUpdate:" + String(onUpdate))); }; if (Boolean(onComplete)){ _local1 = (_local1 + (", onComplete:" + String(onComplete))); }; if (Boolean(onOverwrite)){ _local1 = (_local1 + (", onOverwrite:" + String(onOverwrite))); }; if (Boolean(onError)){ _local1 = (_local1 + (", onError:" + String(onError))); }; if (onStartParams){ _local1 = (_local1 + (", onStartParams:" + String(onStartParams))); }; if (onUpdateParams){ _local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams))); }; if (onCompleteParams){ _local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams))); }; if (onOverwriteParams){ _local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams))); }; if (onStartScope){ _local1 = (_local1 + (", onStartScope:" + String(onStartScope))); }; if (onUpdateScope){ _local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope))); }; if (onCompleteScope){ _local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope))); }; if (onOverwriteScope){ _local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope))); }; if (onErrorScope){ _local1 = (_local1 + (", onErrorScope:" + String(onErrorScope))); }; if (rounded){ _local1 = (_local1 + (", rounded:" + String(rounded))); }; if (isPaused){ _local1 = (_local1 + (", isPaused:" + String(isPaused))); }; if (timePaused){ _local1 = (_local1 + (", timePaused:" + String(timePaused))); }; if (isCaller){ _local1 = (_local1 + (", isCaller:" + String(isCaller))); }; if (count){ _local1 = (_local1 + (", count:" + String(count))); }; if (timesCalled){ _local1 = (_local1 + (", timesCalled:" + String(timesCalled))); }; if (waitFrames){ _local1 = (_local1 + (", waitFrames:" + String(waitFrames))); }; if (hasStarted){ _local1 = (_local1 + (", hasStarted:" + String(hasStarted))); }; _local1 = (_local1 + "]\n"); return (_local1); } public static function makePropertiesChain(_arg1:Object):Object{ var _local2:Object; var _local3:Object; var _local4:Object; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Number; _local2 = _arg1.base; if (_local2){ _local3 = {}; if ((_local2 is Array)){ _local4 = []; _local8 = 0; while (_local8 < _local2.length) { _local4.push(_local2[_local8]); _local8++; }; } else { _local4 = [_local2]; }; _local4.push(_arg1); _local6 = _local4.length; _local7 = 0; while (_local7 < _local6) { if (_local4[_local7]["base"]){ _local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]); } else { _local5 = _local4[_local7]; }; _local3 = AuxFunctions.concatObjects(_local3, _local5); _local7++; }; if (_local3["base"]){ delete _local3["base"]; }; return (_local3); //unresolved jump }; return (_arg1); } } }//package caurina.transitions
Section 10
//SWFAddress (com.asual.swfaddress.SWFAddress) package com.asual.swfaddress { import flash.net.*; import flash.events.*; import flash.utils.*; import flash.external.*; import flash.system.*; public class SWFAddress { public static var onInit:Function; private static var _initializer:Boolean = _initialize(); private static var _interval:Number; private static var _availability:Boolean = ExternalInterface.available; private static var _dispatcher:EventDispatcher = new EventDispatcher(); private static var _strict:Boolean = true; private static var _value:String = ""; public static var onChange:Function; private static var _init:Boolean = false; private static function _strictCheck(_arg1:String, _arg2:Boolean):String{ if (SWFAddress.getStrict()){ if (_arg2){ if (_arg1.substr(0, 1) != "/"){ _arg1 = ("/" + _arg1); }; } else { if (_arg1 == ""){ _arg1 = "/"; }; }; }; return (_arg1); } public static function getTracker():String{ return ((_availability) ? (ExternalInterface.call("SWFAddress.getTracker") as String) : ""); } public static function hasEventListener(_arg1:String):Boolean{ return (_dispatcher.hasEventListener(_arg1)); } private static function _check():void{ if ((((((typeof(SWFAddress["onInit"]) == "function")) || (_dispatcher.hasEventListener("init")))) && (!(_init)))){ SWFAddress._setValueInit(_getValue()); SWFAddress._init = true; }; if ((((typeof(SWFAddress["onChange"]) == "function")) || (_dispatcher.hasEventListener("change")))){ clearInterval(_interval); SWFAddress._init = true; SWFAddress._setValueInit(_getValue()); }; } private static function _setValue(_arg1:String):void{ if ((((_arg1 == "undefined")) || ((_arg1 == null)))){ _arg1 = ""; }; if ((((SWFAddress._value == _arg1)) && (SWFAddress._init))){ return; }; SWFAddress._value = _arg1; if (!_init){ SWFAddress._init = true; if ((((typeof(SWFAddress["onInit"]) == "function")) || (_dispatcher.hasEventListener("init")))){ _dispatchEvent(SWFAddressEvent.INIT); }; }; _dispatchEvent(SWFAddressEvent.CHANGE); } public static function getParameterNames():Array{ var _local1:String; var _local2:Number; var _local3:Array; var _local4:Array; var _local5:Number; _local1 = SWFAddress.getValue(); _local2 = _local1.indexOf("?"); _local3 = new Array(); if (_local2 != -1){ _local1 = _local1.substr((_local2 + 1)); if (((!((_local1 == ""))) && (!((_local1.indexOf("=") == -1))))){ _local4 = _local1.split("&"); _local5 = 0; while (_local5 < _local4.length) { _local3.push(_local4[_local5].split("=")[0]); _local5++; }; }; }; return (_local3); } public static function setTitle(_arg1:String):void{ if (_availability){ ExternalInterface.call("SWFAddress.setTitle", _arg1); }; } private static function _getValue():String{ var _local1:String; var _local2:String; _local2 = null; if (_availability){ _local1 = (ExternalInterface.call("SWFAddress.getValue") as String); _local2 = (ExternalInterface.call("SWFAddress.getId") as String); }; if ((((_local2 == null)) || (!(_availability)))){ _local1 = SWFAddress._value; } else { if ((((_local1 == "undefined")) || ((_local1 == null)))){ _local1 = ""; }; }; return (_strictCheck(((_local1) || ("")), false)); } public static function getPath():String{ var _local1:String; _local1 = SWFAddress.getValue(); if (_local1.indexOf("?") != -1){ return (_local1.split("?")[0]); }; return (_local1); } public static function resetStatus():void{ if (_availability){ ExternalInterface.call("SWFAddress.resetStatus"); }; } public static function getBaseURL():String{ var _local1:String; _local1 = null; if (_availability){ _local1 = String(ExternalInterface.call("SWFAddress.getBaseURL")); }; return (((((_local1 == null)) || (!(_availability)))) ? "" : _local1); } public static function getTitle():String{ var _local1:String; _local1 = (_availability) ? (ExternalInterface.call("SWFAddress.getTitle") as String) : ""; if ((((_local1 == "undefined")) || ((_local1 == null)))){ _local1 = ""; }; return (_local1); } public static function href(_arg1:String, _arg2:String="_self"):void{ if (((_availability) && ((Capabilities.playerType == "ActiveX")))){ ExternalInterface.call("SWFAddress.href", _arg1, _arg2); return; }; navigateToURL(new URLRequest(_arg1), _arg2); } public static function popup(_arg1:String, _arg2:String="popup", _arg3:String="", _arg4:String=""):void{ if (((_availability) && ((Capabilities.playerType == "ActiveX")))){ ExternalInterface.call("SWFAddress.popup", _arg1, _arg2, _arg3, _arg4); return; }; navigateToURL(new URLRequest(((((((("javascript:popup=window.open(\"" + _arg1) + "\",\"") + _arg2) + "\",") + _arg3) + ");") + _arg4)), "_self"); } private static function _initialize():Boolean{ if (_availability){ ExternalInterface.addCallback("getSWFAddressValue", function ():String{ return (_value); }); ExternalInterface.addCallback("setSWFAddressValue", _setValue); }; _interval = setInterval(_check, 10); return (true); } public static function setValue(_arg1:String):void{ if ((((_arg1 == "undefined")) || ((_arg1 == null)))){ _arg1 = ""; }; _arg1 = _strictCheck(_arg1, true); if (SWFAddress._value == _arg1){ return; }; SWFAddress._value = _arg1; if (((_availability) && (SWFAddress._init))){ ExternalInterface.call("SWFAddress.setValue", _arg1); }; _dispatchEvent(SWFAddressEvent.CHANGE); } public static function getValue():String{ return (_strictCheck(((_value) || ("")), false)); } private static function _setValueInit(_arg1:String):void{ SWFAddress._value = _arg1; if (!_init){ _dispatchEvent(SWFAddressEvent.INIT); } else { _dispatchEvent(SWFAddressEvent.CHANGE); }; } public static function getStrict():Boolean{ var _local1:String; _local1 = null; if (_availability){ _local1 = (ExternalInterface.call("SWFAddress.getStrict") as String); }; return (((_local1)==null) ? _strict : (_local1 == "true")); } public static function dispatchEvent(_arg1:Event):Boolean{ return (_dispatcher.dispatchEvent(_arg1)); } private static function _dispatchEvent(_arg1:String):void{ if (_dispatcher.hasEventListener(_arg1)){ _dispatcher.dispatchEvent(new SWFAddressEvent(_arg1)); }; _arg1 = (_arg1.substr(0, 1).toUpperCase() + _arg1.substring(1)); if (typeof(SWFAddress[("on" + _arg1)]) == "function"){ var _local2 = SWFAddress; _local2[("on" + _arg1)](); }; } public static function getQueryString():String{ var _local1:String; var _local2:Number; _local1 = SWFAddress.getValue(); _local2 = _local1.indexOf("?"); if (((!((_local2 == -1))) && ((_local2 < _local1.length)))){ return (_local1.substr((_local2 + 1))); }; return (""); } public static function forward():void{ if (_availability){ ExternalInterface.call("SWFAddress.forward"); }; } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2, false); } public static function setStrict(_arg1:Boolean):void{ if (_availability){ ExternalInterface.call("SWFAddress.setStrict", _arg1); }; _strict = _arg1; } public static function setHistory(_arg1:Boolean):void{ if (_availability){ ExternalInterface.call("SWFAddress.setHistory", _arg1); }; } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2, false, 0, false); } public static function getHistory():Boolean{ return ((_availability) ? (ExternalInterface.call("SWFAddress.getHistory") as Boolean) : false); } public static function back():void{ if (_availability){ ExternalInterface.call("SWFAddress.back"); }; } public static function getStatus():String{ var _local1:String; _local1 = (_availability) ? (ExternalInterface.call("SWFAddress.getStatus") as String) : ""; if ((((_local1 == "undefined")) || ((_local1 == null)))){ _local1 = ""; }; return (_local1); } public static function getParameter(_arg1:String):String{ var _local2:String; var _local3:Number; var _local4:Array; var _local5:Array; var _local6:Number; _local2 = SWFAddress.getValue(); _local3 = _local2.indexOf("?"); if (_local3 != -1){ _local2 = _local2.substr((_local3 + 1)); _local4 = _local2.split("&"); _local6 = _local4.length; while (_local6--) { _local5 = _local4[_local6].split("="); if (_local5[0] == _arg1){ return (_local5[1]); }; }; }; return (""); } public static function go(_arg1:Number):void{ if (_availability){ ExternalInterface.call("SWFAddress.go", _arg1); }; } public static function setStatus(_arg1:String):void{ if (_availability){ ExternalInterface.call("SWFAddress.setStatus", _arg1); }; } public static function getPathNames():Array{ var _local1:String; var _local2:Array; _local1 = SWFAddress.getPath(); _local2 = _local1.split("/"); if (_local1.substr(0, 1) == "/"){ _local2.splice(0, 1); }; if (_local1.substr((_local1.length - 1), 1) == "/"){ _local2.splice((_local2.length - 1), 1); }; return (_local2); } public static function setTracker(_arg1:String):void{ if (_availability){ ExternalInterface.call("SWFAddress.setTracker", _arg1); }; } } }//package com.asual.swfaddress
Section 11
//SWFAddressEvent (com.asual.swfaddress.SWFAddressEvent) package com.asual.swfaddress { import flash.events.*; public class SWFAddressEvent extends Event { private var _path:String; private var _parameters:Object; private var _pathNames:Array; private var _value:String; private var _parametersNames:Array; public static const INIT:String = "init"; public static const CHANGE:String = "change"; public function SWFAddressEvent(_arg1:String){ var _local2:int; super(_arg1, false, false); _value = SWFAddress.getValue(); _path = SWFAddress.getPath(); _pathNames = SWFAddress.getPathNames(); _parameters = new Object(); _parametersNames = SWFAddress.getParameterNames(); _local2 = 0; while (_local2 < _parametersNames.length) { _parameters[_parametersNames[_local2]] = SWFAddress.getParameter(_parametersNames[_local2]); _local2++; }; } public function get parametersNames():Array{ return (_parametersNames); } override public function get target():Object{ return (SWFAddress); } override public function clone():Event{ return (new SWFAddressEvent(type)); } public function get pathNames():Array{ return (_pathNames); } public function get path():String{ return (_path); } public function get value():String{ return (_value); } public function get parameters():Object{ return (_parameters); } override public function get type():String{ return (super.type); } } }//package com.asual.swfaddress
Section 12
//Regular (fl.transitions.easing.Regular) package fl.transitions.easing { public class Regular { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } } }//package fl.transitions.easing
Section 13
//Tween (fl.transitions.Tween) package fl.transitions { import flash.events.*; import flash.display.*; import flash.utils.*; public class Tween extends EventDispatcher { private var _position:Number;// = NAN public var prevTime:Number;// = NAN public var prevPos:Number;// = NAN public var isPlaying:Boolean;// = false public var begin:Number;// = NAN private var _fps:Number;// = NAN private var _time:Number;// = NAN public var change:Number;// = NAN private var _finish:Number;// = NAN public var looping:Boolean;// = false private var _intervalID:uint;// = 0 public var func:Function; private var _timer:Timer;// = null private var _startTime:Number;// = NAN public var prop:String;// = "" private var _duration:Number;// = NAN public var obj:Object;// = null public var useSeconds:Boolean;// = false protected static var _mc:MovieClip = new MovieClip(); public function Tween(_arg1:Object, _arg2:String, _arg3:Function, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){ isPlaying = false; obj = null; prop = ""; func = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); }; begin = NaN; change = NaN; useSeconds = false; prevTime = NaN; prevPos = NaN; looping = false; _duration = NaN; _time = NaN; _fps = NaN; _position = NaN; _startTime = NaN; _intervalID = 0; _finish = NaN; _timer = null; super(); if (!arguments.length){ return; }; this.obj = _arg1; this.prop = _arg2; this.begin = _arg4; this.position = _arg4; this.duration = _arg6; this.useSeconds = _arg7; if ((_arg3 is Function)){ this.func = _arg3; }; this.finish = _arg5; this._timer = new Timer(100); this.start(); } public function continueTo(_arg1:Number, _arg2:Number):void{ this.begin = this.position; this.finish = _arg1; if (!isNaN(_arg2)){ this.duration = _arg2; }; this.start(); } public function stop():void{ this.stopEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position)); } private function fixTime():void{ if (this.useSeconds){ this._startTime = (getTimer() - (this._time * 1000)); }; } public function set FPS(_arg1:Number):void{ var _local2:Boolean; _local2 = this.isPlaying; this.stopEnterFrame(); this._fps = _arg1; if (_local2){ this.startEnterFrame(); }; } public function get finish():Number{ return ((this.begin + this.change)); } public function get duration():Number{ return (this._duration); } protected function startEnterFrame():void{ var _local1:Number; if (isNaN(this._fps)){ _mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true); } else { _local1 = (1000 / this._fps); this._timer.delay = _local1; this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true); this._timer.start(); }; this.isPlaying = true; } public function set time(_arg1:Number):void{ this.prevTime = this._time; if (_arg1 > this.duration){ if (this.looping){ this.rewind((_arg1 - this._duration)); this.update(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position)); } else { if (this.useSeconds){ this._time = this._duration; this.update(); }; this.stop(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position)); }; } else { if (_arg1 < 0){ this.rewind(); this.update(); } else { this._time = _arg1; this.update(); }; }; } protected function stopEnterFrame():void{ if (isNaN(this._fps)){ _mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); } else { this._timer.stop(); }; this.isPlaying = false; } public function getPosition(_arg1:Number=NaN):Number{ if (isNaN(_arg1)){ _arg1 = this._time; }; return (this.func(_arg1, this.begin, this.change, this._duration)); } public function set finish(_arg1:Number):void{ this.change = (_arg1 - this.begin); } public function set duration(_arg1:Number):void{ this._duration = ((_arg1)<=0) ? Infinity : _arg1; } public function setPosition(_arg1:Number):void{ this.prevPos = this._position; if (this.prop.length){ this.obj[this.prop] = (this._position = _arg1); }; this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position)); } public function resume():void{ this.fixTime(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position)); } public function fforward():void{ this.time = this._duration; this.fixTime(); } protected function onEnterFrame(_arg1:Event):void{ this.nextFrame(); } public function get position():Number{ return (this.getPosition(this._time)); } public function yoyo():void{ this.continueTo(this.begin, this.time); } public function nextFrame():void{ if (this.useSeconds){ this.time = ((getTimer() - this._startTime) / 1000); } else { this.time = (this._time + 1); }; } protected function timerHandler(_arg1:TimerEvent):void{ this.nextFrame(); _arg1.updateAfterEvent(); } public function get FPS():Number{ return (this._fps); } public function rewind(_arg1:Number=0):void{ this._time = _arg1; this.fixTime(); this.update(); } public function set position(_arg1:Number):void{ this.setPosition(_arg1); } public function get time():Number{ return (this._time); } private function update():void{ this.setPosition(this.getPosition(this._time)); } public function start():void{ this.rewind(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position)); } public function prevFrame():void{ if (!this.useSeconds){ this.time = (this._time - 1); }; } } }//package fl.transitions
Section 14
//TweenEvent (fl.transitions.TweenEvent) package fl.transitions { import flash.events.*; public class TweenEvent extends Event { public var time:Number;// = NAN public var position:Number;// = NAN public static const MOTION_START:String = "motionStart"; public static const MOTION_STOP:String = "motionStop"; public static const MOTION_LOOP:String = "motionLoop"; public static const MOTION_CHANGE:String = "motionChange"; public static const MOTION_FINISH:String = "motionFinish"; public static const MOTION_RESUME:String = "motionResume"; public function TweenEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false){ time = NaN; position = NaN; super(_arg1, _arg4, _arg5); this.time = _arg2; this.position = _arg3; } override public function clone():Event{ return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable)); } } }//package fl.transitions
Section 15
//AutoLayoutEvent (fl.video.AutoLayoutEvent) package fl.video { import flash.events.*; import flash.geom.*; public class AutoLayoutEvent extends LayoutEvent implements IVPEvent { private var _vp:uint; public static const AUTO_LAYOUT:String = "autoLayout"; public function AutoLayoutEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Rectangle=null, _arg5:Rectangle=null, _arg6:uint=0){ super(_arg1, _arg2, _arg3, _arg4, _arg5); _vp = _arg6; } override public function clone():Event{ return (new AutoLayoutEvent(type, bubbles, cancelable, Rectangle(oldBounds.clone()), Rectangle(oldRegistrationBounds.clone()), vp)); } public function set vp(_arg1:uint):void{ _vp = _arg1; } public function get vp():uint{ return (_vp); } } }//package fl.video
Section 16
//ConnectClient (fl.video.ConnectClient) package fl.video { import flash.net.*; public class ConnectClient { public var connIndex:uint; public var nc:NetConnection; public var pending:Boolean; public var owner:NCManager; public function ConnectClient(_arg1:NCManager, _arg2:NetConnection, _arg3:uint=0){ this.owner = _arg1; this.nc = _arg2; this.connIndex = _arg3; this.pending = false; } public function onBWCheck(... _args):Number{ return (++owner._payload); } public function onBWDone(... _args):void{ var _local2:Number; if (_args.length > 0){ _local2 = _args[0]; }; owner.onConnected(nc, _local2); } public function close():void{ } } }//package fl.video
Section 17
//ControlData (fl.video.ControlData) package fl.video { import flash.display.*; public class ControlData { public var state_mc:Array; public var origWidth:Number; public var handle_mc:Sprite; public var state:uint; public var leftMargin:Number; public var fullness_mc:DisplayObject; public var isDragging:Boolean; public var currentState_mc:DisplayObject; public var percentage:Number; public var owner:DisplayObject; public var origX:Number; public var origY:Number; public var bottomMargin:Number; public var disabled_mc:DisplayObject; public var enabled:Boolean; public var hit_mc:Sprite; public var origHeight:Number; public var index:int; public var mask_mc:DisplayObject; public var avatar:DisplayObject; public var fill_mc:DisplayObject; public var topMargin:Number; public var uiMgr:UIManager; public var progress_mc:DisplayObject; public var rightMargin:Number; public var ctrl:DisplayObject; public var origScaleX:Number; public var origScaleY:Number; public function ControlData(_arg1:UIManager, _arg2:DisplayObject, _arg3:DisplayObject, _arg4:int){ var uiMgr = _arg1; var ctrl = _arg2; var owner = _arg3; var index = _arg4; super(); this.uiMgr = uiMgr; this.index = index; this.ctrl = ctrl; this.owner = owner; try { ctrl["uiMgr"] = uiMgr; } catch(re:ReferenceError) { }; } } }//package fl.video
Section 18
//CuePointManager (fl.video.CuePointManager) package fl.video { public class CuePointManager { flvplayback_internal var _disabledCuePointsByNameOnly:Object; flvplayback_internal var navCuePoints:Array; flvplayback_internal var allCuePoints:Array; flvplayback_internal var _disabledCuePoints:Array; flvplayback_internal var _asCuePointTolerance:Number; flvplayback_internal var _linearSearchTolerance:Number; flvplayback_internal var _asCuePointIndex:int; flvplayback_internal var asCuePoints:Array; flvplayback_internal var flvCuePoints:Array; flvplayback_internal var _metadataLoaded:Boolean; flvplayback_internal var _id:uint; private var _owner:FLVPlayback; flvplayback_internal var eventCuePoints:Array; public static const SHORT_VERSION:String = "2.1"; public static const VERSION:String = "2.1.0.14"; flvplayback_internal static const DEFAULT_LINEAR_SEARCH_TOLERANCE:Number = 50; flvplayback_internal static var cuePointsReplace:Array = ["&quot;", "\"", "&#39;", "'", "&#44;", ",", "&amp;", "&"]; public function CuePointManager(_arg1:FLVPlayback, _arg2:uint){ _owner = _arg1; _id = _arg2; reset(); _asCuePointTolerance = (_owner.getVideoPlayer(_id).playheadUpdateInterval / 2000); _linearSearchTolerance = DEFAULT_LINEAR_SEARCH_TOLERANCE; } flvplayback_internal function getCuePoint(_arg1:Array, _arg2:Boolean, _arg3):Object{ var _local4:Object; var _local5:int; switch (typeof(_arg3)){ case "string": _local4 = {name:_arg3}; break; case "number": _local4 = {time:_arg3}; break; case "object": _local4 = _arg3; break; }; _local5 = getCuePointIndex(_arg1, _arg2, _local4.time, _local4.name); if (_local5 < 0){ return (null); }; _local4 = deepCopyObject(_arg1[_local5]); _local4.array = _arg1; _local4.index = _local5; return (_local4); } public function resetASCuePointIndex(_arg1:Number):void{ var _local2:int; if ((((_arg1 <= 0)) || ((asCuePoints == null)))){ _asCuePointIndex = 0; return; }; _local2 = getCuePointIndex(asCuePoints, true, _arg1); _asCuePointIndex = ((asCuePoints[_local2].time)<_arg1) ? (_local2 + 1) : _local2; } public function set playheadUpdateInterval(_arg1:Number):void{ _asCuePointTolerance = (_arg1 / 2000); } flvplayback_internal function addOrDisable(_arg1:Boolean, _arg2:Object):void{ if (_arg1){ if (_arg2.type == CuePointType.ACTIONSCRIPT){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "Cannot disable actionscript cue points")); }; setFLVCuePointEnabled(false, _arg2); } else { if (_arg2.type == CuePointType.ACTIONSCRIPT){ addASCuePoint(_arg2); }; }; } public function processFLVCuePoints(_arg1:Array):void{ var _local2:int; var _local3:Number; var _local4:Object; var _local5:Array; var _local6:Number; var _local7:int; _metadataLoaded = true; if ((((_arg1 == null)) || ((_arg1.length < 1)))){ flvCuePoints = null; navCuePoints = null; eventCuePoints = null; return; }; flvCuePoints = _arg1; navCuePoints = new Array(); eventCuePoints = new Array(); _local3 = -1; _local5 = _disabledCuePoints; _local6 = 0; _disabledCuePoints = new Array(); _local7 = 0; while ((_local4 = flvCuePoints[_local7++]) != undefined) { if ((((_local3 > 0)) && ((_local3 >= _local4.time)))){ flvCuePoints = null; navCuePoints = null; eventCuePoints = null; _disabledCuePoints = new Array(); _disabledCuePointsByNameOnly = new Object(); throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, ("Unsorted cuePoint found after time: " + _local3))); }; _local3 = _local4.time; while ((((_local6 < _local5.length)) && ((cuePointCompare(_local5[_local6].time, null, _local4) < 0)))) { _local6++; }; if (((!((_disabledCuePointsByNameOnly[_local4.name] == undefined))) || ((((_local6 < _local5.length)) && ((cuePointCompare(_local5[_local6].time, _local5[_local6].name, _local4) == 0)))))){ _disabledCuePoints.push({time:_local4.time, name:_local4.name}); }; if (_local4.type == CuePointType.NAVIGATION){ navCuePoints.push(_local4); } else { if (_local4.type == CuePointType.EVENT){ eventCuePoints.push(_local4); }; }; if ((((allCuePoints == null)) || ((allCuePoints.length < 1)))){ allCuePoints = new Array(); allCuePoints.push(_local4); } else { _local2 = getCuePointIndex(allCuePoints, true, _local4.time); _local2 = ((allCuePoints[_local2].time)>_local4.time) ? 0 : (_local2 + 1); allCuePoints.splice(_local2, 0, _local4); }; }; _disabledCuePointsByNameOnly = new Object(); } public function addASCuePoint(_arg1, _arg2:String=null, _arg3:Object=null):Object{ var _local4:Object; var _local5:Boolean; var _local6:Boolean; var _local7:int; var _local8:Number; var _local9:Object; var _local10:int; if (typeof(_arg1) == "object"){ _local4 = deepCopyObject(_arg1); } else { _local4 = {time:_arg1, name:_arg2, parameters:deepCopyObject(_arg3)}; }; if (_local4.parameters == null){ delete _local4.parameters; }; _local5 = ((isNaN(_local4.time)) || ((_local4.time < 0))); if (_local5){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "time must be number")); }; _local6 = (_local4.name == null); if (_local6){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "name cannot be undefined or null")); }; _local4.type = CuePointType.ACTIONSCRIPT; if ((((asCuePoints == null)) || ((asCuePoints.length < 1)))){ _local7 = 0; asCuePoints = new Array(); asCuePoints.push(_local4); } else { _local7 = getCuePointIndex(asCuePoints, true, _local4.time); _local7 = ((asCuePoints[_local7].time)>_local4.time) ? 0 : (_local7 + 1); asCuePoints.splice(_local7, 0, _local4); }; if ((((allCuePoints == null)) || ((allCuePoints.length < 1)))){ allCuePoints = new Array(); allCuePoints.push(_local4); } else { _local10 = getCuePointIndex(allCuePoints, true, _local4.time); _local10 = ((allCuePoints[_local10].time)>_local4.time) ? 0 : (_local10 + 1); allCuePoints.splice(_local10, 0, _local4); }; _local8 = _owner.getVideoPlayer(_id).playheadTime; if (_local8 > 0){ if (_asCuePointIndex == _local7){ if (_local8 > asCuePoints[_local7].time){ _asCuePointIndex++; }; } else { if (_asCuePointIndex > _local7){ _asCuePointIndex++; }; }; } else { _asCuePointIndex = 0; }; _local9 = deepCopyObject(asCuePoints[_local7]); _local9.array = asCuePoints; _local9.index = _local7; return (_local9); } public function get metadataLoaded():Boolean{ return (_metadataLoaded); } public function reset():void{ _metadataLoaded = false; allCuePoints = null; asCuePoints = null; _disabledCuePoints = new Array(); _disabledCuePointsByNameOnly = new Object(); flvCuePoints = null; navCuePoints = null; eventCuePoints = null; _asCuePointIndex = 0; } public function removeCuePoints(_arg1:Array, _arg2:Object):Number{ var _local3:int; var _local4:Object; var _local5:int; _local5 = 0; _local3 = getCuePointIndex(_arg1, true, -1, _arg2.name); while (_local3 >= 0) { _local4 = _arg1[_local3]; _arg1.splice(_local3, 1); _local3--; _local5++; _local3 = getNextCuePointIndexWithName(_local4.name, _arg1, _local3); }; return (_local5); } flvplayback_internal function unescape(_arg1:String):String{ var _local2:String; var _local3:int; _local2 = _arg1; _local3 = 0; while (_local3 < cuePointsReplace.length) { var _temp1 = _local3; _local3 = (_local3 + 1); var _temp2 = _local3; _local3 = (_local3 + 1); _local2 = _local2.replace(cuePointsReplace[_temp1], cuePointsReplace[_temp2]); }; return (_local2); } public function setFLVCuePointEnabled(_arg1:Boolean, _arg2):int{ var _local3:Object; var _local4:Boolean; var _local5:Boolean; var _local6:uint; var _local7:int; var _local8:int; var _local9:Object; switch (typeof(_arg2)){ case "string": _local3 = {name:_arg2}; break; case "number": _local3 = {time:_arg2}; break; case "object": _local3 = _arg2; break; }; _local4 = ((isNaN(_local3.time)) || ((_local3.time < 0))); _local5 = (_local3.name == null); if (((_local4) && (_local5))){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "time must be number and/or name must not be undefined or null")); }; _local6 = 0; if (_local4){ if (!_metadataLoaded){ if (_disabledCuePointsByNameOnly[_local3.name] == undefined){ if (!_arg1){ _disabledCuePointsByNameOnly[_local3.name] = new Array(); }; } else { if (_arg1){ delete _disabledCuePointsByNameOnly[_local3.name]; }; return (-1); }; removeCuePoints(_disabledCuePoints, _local3); return (-1); }; if (_arg1){ _local6 = removeCuePoints(_disabledCuePoints, _local3); } else { _local7 = getCuePointIndex(flvCuePoints, true, -1, _local3.name); while (_local7 >= 0) { _local9 = flvCuePoints[_local7]; _local8 = getCuePointIndex(_disabledCuePoints, true, _local9.time); if ((((_local8 < 0)) || (!((_disabledCuePoints[_local8].time == _local9.time))))){ _disabledCuePoints = insertCuePoint(_local8, _disabledCuePoints, {name:_local9.name, time:_local9.time}); _local6 = (_local6 + 1); }; _local7 = getNextCuePointIndexWithName(_local9.name, flvCuePoints, _local7); }; }; return (_local6); }; _local7 = getCuePointIndex(_disabledCuePoints, false, _local3.time, _local3.name); if (_local7 < 0){ if (_arg1){ if (!_metadataLoaded){ _local7 = getCuePointIndex(_disabledCuePoints, false, _local3.time); if (_local7 < 0){ _local8 = getCuePointIndex(_disabledCuePointsByNameOnly[_local3.name], true, _local3.time); if (cuePointCompare(_local3.time, null, _disabledCuePointsByNameOnly[_local3.name]) != 0){ _disabledCuePointsByNameOnly[_local3.name] = insertCuePoint(_local8, _disabledCuePointsByNameOnly[_local3.name], _local3); }; } else { _disabledCuePoints.splice(_local7, 1); }; }; return ((_metadataLoaded) ? 0 : -1); }; } else { if (_arg1){ _disabledCuePoints.splice(_local7, 1); _local6 = 1; } else { _local6 = 0; }; return ((_metadataLoaded) ? _local6 : -1); }; if (_metadataLoaded){ _local7 = getCuePointIndex(flvCuePoints, false, _local3.time, _local3.name); if (_local7 < 0){ return (0); }; if (_local5){ _local3.name = flvCuePoints[_local7].name; }; }; _local8 = getCuePointIndex(_disabledCuePoints, true, _local3.time); _disabledCuePoints = insertCuePoint(_local8, _disabledCuePoints, _local3); _local6 = 1; return ((_metadataLoaded) ? _local6 : -1); } public function isFLVCuePointEnabled(_arg1):Boolean{ var _local2:Object; var _local3:Boolean; var _local4:Boolean; var _local5:int; if (!_metadataLoaded){ return (true); }; switch (typeof(_arg1)){ case "string": _local2 = {name:_arg1}; break; case "number": _local2 = {time:_arg1}; break; case "object": _local2 = _arg1; break; }; _local3 = ((isNaN(_local2.time)) || ((_local2.time < 0))); _local4 = (_local2.name == null); if (((_local3) && (_local4))){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "time must be number and/or name must not be undefined or null")); }; if (_local3){ _local5 = getCuePointIndex(flvCuePoints, true, -1, _local2.name); if (_local5 < 0){ return (true); }; while (_local5 >= 0) { if (getCuePointIndex(_disabledCuePoints, false, flvCuePoints[_local5].time, flvCuePoints[_local5].name) < 0){ return (true); }; _local5 = getNextCuePointIndexWithName(_local2.name, flvCuePoints, _local5); }; return (false); }; return ((getCuePointIndex(_disabledCuePoints, false, _local2.time, _local2.name) < 0)); } public function removeASCuePoint(_arg1):Object{ var _local2:Object; var _local3:int; if ((((asCuePoints == null)) || ((asCuePoints.length < 1)))){ return (null); }; switch (typeof(_arg1)){ case "string": _local2 = {name:_arg1}; break; case "number": _local2 = {time:_arg1}; break; case "object": _local2 = _arg1; break; }; _local3 = getCuePointIndex(asCuePoints, false, _local2.time, _local2.name); if (_local3 < 0){ return (null); }; _local2 = asCuePoints[_local3]; asCuePoints.splice(_local3, 1); _local3 = getCuePointIndex(allCuePoints, false, _local2.time, _local2.name); if (_local3 > 0){ allCuePoints.splice(_local3, 1); }; if (_owner.getVideoPlayer(_id).playheadTime > 0){ if (_asCuePointIndex > _local3){ _asCuePointIndex--; }; } else { _asCuePointIndex = 0; }; return (_local2); } public function get id():uint{ return (_id); } public function processCuePointsProperty(_arg1:Array):void{ var _local2:uint; var _local3:uint; var _local4:String; var _local5:String; var _local6:Object; var _local7:Boolean; var _local8:int; if ((((_arg1 == null)) || ((_arg1.length == 0)))){ return; }; _local2 = 0; _local8 = 0; while (_local8 < (_arg1.length - 1)) { switch (_local2){ case 6: addOrDisable(_local7, _local6); _local2 = 0; case 0: var _temp1 = _local8; _local8 = (_local8 + 1); if (_arg1[_temp1] != "t"){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format")); }; if (isNaN(_arg1[_local8])){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "time must be number")); }; _local6 = new Object(); _local6.time = (_arg1[_local8] / 1000); _local2++; break; case 1: var _temp2 = _local8; _local8 = (_local8 + 1); if (_arg1[_temp2] != "n"){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format")); }; if (_arg1[_local8] == undefined){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "name cannot be null or undefined")); }; _local6.name = unescape(_arg1[_local8]); _local2++; break; case 2: var _temp3 = _local8; _local8 = (_local8 + 1); if (_arg1[_temp3] != "t"){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format")); }; if (isNaN(_arg1[_local8])){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "type must be number")); }; switch (_arg1[_local8]){ case 0: _local6.type = CuePointType.EVENT; break; case 1: _local6.type = CuePointType.NAVIGATION; break; case 2: _local6.type = CuePointType.ACTIONSCRIPT; break; default: throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "type must be 0, 1 or 2")); }; _local2++; break; case 3: var _temp4 = _local8; _local8 = (_local8 + 1); if (_arg1[_temp4] != "d"){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format")); }; if (isNaN(_arg1[_local8])){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "disabled must be number")); }; _local7 = !((_arg1[_local8] == 0)); _local2++; break; case 4: var _temp5 = _local8; _local8 = (_local8 + 1); if (_arg1[_temp5] != "p"){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format")); }; if (isNaN(_arg1[_local8])){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "num params must be number")); }; _local3 = _arg1[_local8]; _local2++; if (_local3 == 0){ _local2++; } else { _local6.parameters = new Object(); }; break; case 5: var _temp6 = _local8; _local8 = (_local8 + 1); _local4 = _arg1[_temp6]; _local5 = _arg1[_local8]; if ((_local4 is String)){ _local4 = unescape(_local4); }; if ((_local5 is String)){ _local5 = unescape(_local5); }; _local6.parameters[_local4] = _local5; _local3--; if (_local3 == 0){ _local2++; }; break; }; _local8++; }; if (_local2 == 6){ addOrDisable(_local7, _local6); } else { throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "unexpected end of cuePoint param string")); }; } flvplayback_internal function getNextCuePointIndexWithName(_arg1:String, _arg2:Array, _arg3:int):int{ var _local4:int; if (_arg1 == null){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "name cannot be undefined or null")); }; if (_arg2 == null){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "cuePoint.array undefined")); }; if (((((isNaN(_arg3)) || ((_arg3 < -1)))) || ((_arg3 >= _arg2.length)))){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "cuePoint.index must be number between -1 and cuePoint.array.length")); }; _local4 = (_arg3 + 1); while (_local4 < _arg2.length) { if (_arg2[_local4].name == _arg1){ break; }; _local4++; }; if (_local4 < _arg2.length){ return (_local4); }; return (-1); } public function dispatchASCuePoints():void{ var _local1:Number; _local1 = _owner.getVideoPlayer(_id).playheadTime; if (((_owner.getVideoPlayer(_id).stateResponsive) && (!((asCuePoints == null))))){ while ((((_asCuePointIndex < asCuePoints.length)) && ((asCuePoints[_asCuePointIndex].time <= (_local1 + _asCuePointTolerance))))) { _owner.dispatchEvent(new MetadataEvent(MetadataEvent.CUE_POINT, false, false, deepCopyObject(asCuePoints[_asCuePointIndex++]), _id)); }; }; } flvplayback_internal function getNextCuePointWithName(_arg1:Object):Object{ var _local2:int; var _local3:Object; if (_arg1 == null){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "cuePoint parameter undefined")); }; if (((isNaN(_arg1.time)) || ((_arg1.time < 0)))){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "time must be number")); }; _local2 = getNextCuePointIndexWithName(_arg1.name, _arg1.array, _arg1.index); if (_local2 < 0){ return (null); }; _local3 = deepCopyObject(_arg1.array[_local2]); _local3.array = _arg1.array; _local3.index = _local2; return (_local3); } public function insertCuePoint(_arg1:int, _arg2:Array, _arg3:Object):Array{ if (_arg1 < 0){ _arg2 = new Array(); _arg2.push(_arg3); } else { if (_arg2[_arg1].time > _arg3.time){ _arg1 = 0; } else { _arg1++; }; _arg2.splice(_arg1, 0, _arg3); }; return (_arg2); } flvplayback_internal function getCuePointIndex(_arg1:Array, _arg2:Boolean, _arg3:Number=NaN, _arg4:String=null, _arg5:int=-1, _arg6:int=-1):int{ var _local7:Boolean; var _local8:Boolean; var _local9:int; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; var _local15:int; if ((((_arg1 == null)) || ((_arg1.length < 1)))){ return (-1); }; _local7 = ((isNaN(_arg3)) || ((_arg3 < 0))); _local8 = (_arg4 == null); if (((_local7) && (_local8))){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "time must be number and/or name must not be undefined or null")); }; if (_arg5 < 0){ _arg5 = 0; }; if (_arg6 < 0){ _arg6 = _arg1.length; }; if (((!(_local8)) && (((_arg2) || (_local7))))){ if (_local7){ _local12 = _arg5; } else { _local12 = getCuePointIndex(_arg1, _arg2, _arg3); }; _local13 = _local12; while (_local13 >= _arg5) { if (_arg1[_local13].name == _arg4){ break; }; _local13--; }; if (_local13 >= _arg5){ return (_local13); }; _local13 = (_local12 + 1); while (_local13 < _arg6) { if (_arg1[_local13].name == _arg4){ break; }; _local13++; }; if (_local13 < _arg6){ return (_local13); }; return (-1); }; if (_arg6 <= _linearSearchTolerance){ _local14 = (_arg5 + _arg6); _local15 = _arg5; while (_local15 < _local14) { _local9 = cuePointCompare(_arg3, _arg4, _arg1[_local15]); if (_local9 == 0){ return (_local15); }; if (_local9 < 0){ break; }; _local15++; }; if (_arg2){ if (_local15 > 0){ return ((_local15 - 1)); }; return (0); }; return (-1); }; _local10 = int((_arg6 / 2)); _local11 = (_arg5 + _local10); _local9 = cuePointCompare(_arg3, _arg4, _arg1[_local11]); if (_local9 < 0){ return (getCuePointIndex(_arg1, _arg2, _arg3, _arg4, _arg5, _local10)); }; if (_local9 > 0){ return (getCuePointIndex(_arg1, _arg2, _arg3, _arg4, (_local11 + 1), ((_local10 - 1) + (_arg6 % 2)))); }; return (_local11); } flvplayback_internal static function deepCopyObject(_arg1:Object, _arg2:uint=0):Object{ var _local3:Object; var _local4:*; if (_arg1 == null){ return (_arg1); }; _local3 = new Object(); for (_local4 in _arg1) { if ((((_arg2 == 0)) && ((((_local4 == "array")) || ((_local4 == "index")))))){ } else { if (typeof(_arg1[_local4]) == "object"){ _local3[_local4] = deepCopyObject(_arg1[_local4], (_arg2 + 1)); } else { _local3[_local4] = _arg1[_local4]; }; }; }; return (_local3); } flvplayback_internal static function cuePointCompare(_arg1:Number, _arg2:String, _arg3:Object):int{ var _local4:Number; var _local5:Number; _local4 = Math.round((_arg1 * 1000)); _local5 = Math.round((_arg3.time * 1000)); if (_local4 < _local5){ return (-1); }; if (_local4 > _local5){ return (1); }; if (_arg2 != null){ if (_arg2 == _arg3.name){ return (0); }; if (_arg2 < _arg3.name){ return (-1); }; return (1); }; return (0); } } }//package fl.video
Section 19
//CuePointType (fl.video.CuePointType) package fl.video { public final class CuePointType { public static const FLV:String = "flv"; public static const ALL:String = "all"; public static const ACTIONSCRIPT:String = "actionscript"; public static const EVENT:String = "event"; public static const NAVIGATION:String = "navigation"; } }//package fl.video
Section 20
//FLVPlayback (fl.video.FLVPlayback) package fl.video { import flash.net.*; import flash.events.*; import flash.display.*; import flash.geom.*; import flash.media.*; import flash.utils.*; public class FLVPlayback extends Sprite { private var _playheadUpdateInterval:Number; private var _align:String; flvplayback_internal var videoPlayerStateDict:Dictionary; flvplayback_internal var cuePointMgrs:Array; private var _volume:Number; private var _origHeight:Number; flvplayback_internal var videoPlayerStates:Array; private var _progressInterval:Number; private var _seekToPrevOffset:Number; private var _origWidth:Number; private var _scaleMode:String; flvplayback_internal var resizingNow:Boolean; flvplayback_internal var videoPlayers:Array; private var _bufferTime:Number; private var _aspectRatio:Boolean; private var _autoRewind:Boolean; flvplayback_internal var uiMgr:UIManager; private var previewImage_mc:Loader; private var _componentInspectorSetting:Boolean; flvplayback_internal var _firstStreamShown:Boolean; private var _visibleVP:uint; private var _idleTimeout:Number; private var _soundTransform:SoundTransform; public var boundingBox_mc:DisplayObject; flvplayback_internal var skinShowTimer:Timer; private var preview_mc:MovieClip; private var livePreviewHeight:Number; flvplayback_internal var _firstStreamReady:Boolean; private var _activeVP:uint; private var isLivePreview:Boolean; private var _topVP:uint; private var livePreviewWidth:Number; private var __forceNCMgr:NCManager; private var previewImageUrl:String; public static const SEEK_TO_PREV_OFFSET_DEFAULT:Number = 1; public static const SHORT_VERSION:String = "2.1"; flvplayback_internal static const skinShowTimerInterval:Number = 2000; public static const VERSION:String = "2.1.0.14"; flvplayback_internal static const DEFAULT_SKIN_SHOW_TIMER_INTERVAL:Number = 2000; public function FLVPlayback(){ var _local1:VideoPlayer; super(); mouseEnabled = false; isLivePreview = ((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent"))); _componentInspectorSetting = false; _origWidth = super.width; _origHeight = super.height; super.scaleX = 1; super.scaleY = 1; _local1 = new VideoPlayer(0, 0); _local1.setSize(_origWidth, _origHeight); videoPlayers = new Array(); videoPlayers[0] = _local1; _align = _local1.align; _autoRewind = _local1.autoRewind; _scaleMode = _local1.scaleMode; _bufferTime = _local1.bufferTime; _idleTimeout = _local1.idleTimeout; _playheadUpdateInterval = _local1.playheadUpdateInterval; _progressInterval = _local1.progressInterval; _soundTransform = _local1.soundTransform; _volume = _local1.volume; _seekToPrevOffset = SEEK_TO_PREV_OFFSET_DEFAULT; _firstStreamReady = false; _firstStreamShown = false; resizingNow = false; uiMgr = new UIManager(this); if (isLivePreview){ uiMgr.visible = true; }; _activeVP = 0; _visibleVP = 0; _topVP = 0; videoPlayerStates = new Array(); videoPlayerStateDict = new Dictionary(true); cuePointMgrs = new Array(); createVideoPlayer(0); boundingBox_mc.visible = false; removeChild(boundingBox_mc); boundingBox_mc = null; if (isLivePreview){ previewImageUrl = ""; createLivePreviewMovieClip(); setSize(_origWidth, _origHeight); }; } public function set fullScreenTakeOver(_arg1:Boolean):void{ uiMgr.fullScreenTakeOver = _arg1; } public function pause():void{ var _local1:VideoPlayerState; var _local2:VideoPlayer; if (!_firstStreamShown){ _local1 = videoPlayerStates[_activeVP]; queueCmd(_local1, QueuedCommand.PAUSE); } else { _local2 = videoPlayers[_activeVP]; _local2.pause(); }; } public function setScale(_arg1:Number, _arg2:Number):void{ var _local3:Rectangle; var _local4:Rectangle; var _local5:int; var _local6:VideoPlayer; _local3 = new Rectangle(x, y, width, height); _local4 = new Rectangle(registrationX, registrationY, registrationWidth, registrationHeight); resizingNow = true; _local5 = 0; while (_local5 < videoPlayers.length) { _local6 = videoPlayers[_local5]; if (_local6 !== null){ _local6.setSize((_origWidth * _arg1), (_origWidth * _arg2)); }; _local5++; }; resizingNow = false; dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local3, _local4)); } public function stop():void{ var _local1:VideoPlayerState; var _local2:VideoPlayer; if (!_firstStreamShown){ _local1 = videoPlayerStates[_activeVP]; queueCmd(_local1, QueuedCommand.STOP); } else { _local2 = videoPlayers[_activeVP]; _local2.stop(); }; } public function set align(_arg1:String):void{ var _local2:VideoPlayer; if (_activeVP == 0){ _align = _arg1; }; _local2 = videoPlayers[_activeVP]; _local2.align = _arg1; } public function getVideoPlayer(_arg1:Number):VideoPlayer{ return (videoPlayers[_arg1]); } public function get playheadTime():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.playheadTime); } public function get progressInterval():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.progressInterval); } public function set skinFadeTime(_arg1:int):void{ uiMgr.skinFadeTime = _arg1; } public function get seekToPrevOffset():Number{ return (_seekToPrevOffset); } public function set playheadTime(_arg1:Number):void{ seek(_arg1); } public function get source():String{ var _local1:VideoPlayerState; var _local2:VideoPlayer; _local1 = videoPlayerStates[_activeVP]; if (_local1.isWaiting){ return (_local1.url); }; _local2 = videoPlayers[_activeVP]; return (_local2.source); } public function get activeVideoPlayerIndex():uint{ return (_activeVP); } public function get skinFadeTime():int{ return (uiMgr.skinFadeTime); } public function set scaleMode(_arg1:String):void{ var _local2:VideoPlayer; if (_activeVP == 0){ _scaleMode = _arg1; }; _local2 = videoPlayers[_activeVP]; _local2.scaleMode = _arg1; } public function set bufferingBar(_arg1:Sprite):void{ uiMgr.setControl(UIManager.BUFFERING_BAR, _arg1); } public function get metadataLoaded():Boolean{ var _local1:CuePointManager; _local1 = cuePointMgrs[_activeVP]; return (_local1.metadataLoaded); } public function closeVideoPlayer(_arg1:uint):void{ var _local2:VideoPlayer; if (_arg1 == 0){ throw (new VideoError(VideoError.DELETE_DEFAULT_PLAYER)); }; if (videoPlayers[_arg1] == undefined){ return; }; _local2 = videoPlayers[_arg1]; if (_visibleVP == _arg1){ visibleVideoPlayerIndex = 0; }; if (_activeVP == _arg1){ activeVideoPlayerIndex = 0; }; removeChild(_local2); _local2.close(); delete videoPlayers[_arg1]; delete videoPlayerStates[_arg1]; delete videoPlayerStateDict[_local2]; } public function get scaleMode():String{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.scaleMode); } public function set progressInterval(_arg1:Number):void{ var _local2:VideoPlayer; if (_activeVP == 0){ _progressInterval = _arg1; }; _local2 = videoPlayers[_activeVP]; _local2.progressInterval = _arg1; } public function get playing():Boolean{ return ((state == VideoState.PLAYING)); } public function get totalTime():Number{ var _local1:VideoPlayerState; var _local2:VideoPlayer; if (isLivePreview){ return (1); }; _local1 = videoPlayerStates[_activeVP]; if (_local1.totalTimeSet){ return (_local1.totalTime); }; _local2 = videoPlayers[_activeVP]; return (_local2.totalTime); } public function get ncMgr():INCManager{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.ncMgr); } public function set volume(_arg1:Number):void{ var _local2:VideoPlayer; if (_volume == _arg1){ return; }; _volume = _arg1; if (!scrubbing){ _local2 = videoPlayers[_visibleVP]; _local2.volume = _volume; }; dispatchEvent(new SoundEvent(SoundEvent.SOUND_UPDATE, false, false, _local2.soundTransform)); } public function get skinAutoHide():Boolean{ return (uiMgr.skinAutoHide); } public function set source(_arg1:String):void{ var _local2:VideoPlayerState; var _local3:CuePointManager; if (isLivePreview){ return; }; if (_arg1 == null){ _arg1 = ""; }; if (_componentInspectorSetting){ _local2 = videoPlayerStates[_activeVP]; _local2.url = _arg1; if (_arg1.length > 0){ _local2.isWaiting = true; addEventListener(Event.ENTER_FRAME, doContentPathConnect); }; } else { if (source == _arg1){ return; }; _local3 = cuePointMgrs[_activeVP]; _local3.reset(); _local2 = videoPlayerStates[_activeVP]; _local2.url = _arg1; _local2.isWaiting = true; doContentPathConnect(_activeVP); }; } public function set activeVideoPlayerIndex(_arg1:uint):void{ if (_activeVP == _arg1){ return; }; _activeVP = _arg1; if (videoPlayers[_activeVP] == undefined){ createVideoPlayer(_activeVP); }; } override public function set soundTransform(_arg1:SoundTransform):void{ var _local2:VideoPlayer; if (_arg1 == null){ return; }; _volume = _arg1.volume; _soundTransform.volume = (scrubbing) ? 0 : _arg1.volume; _soundTransform.leftToLeft = _arg1.leftToLeft; _soundTransform.leftToRight = _arg1.leftToRight; _soundTransform.rightToLeft = _arg1.rightToLeft; _soundTransform.rightToRight = _arg1.rightToRight; _local2 = videoPlayers[_activeVP]; _local2.soundTransform = _soundTransform; dispatchEvent(new SoundEvent(SoundEvent.SOUND_UPDATE, false, false, _local2.soundTransform)); } public function set seekToPrevOffset(_arg1:Number):void{ _seekToPrevOffset = _arg1; } public function set seekBarScrubTolerance(_arg1:Number):void{ uiMgr.seekBarScrubTolerance = _arg1; } override public function get scaleX():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_visibleVP]; return ((_local1.width / _origWidth)); } override public function get scaleY():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_visibleVP]; return ((_local1.height / _origHeight)); } public function get bytesLoaded():uint{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.bytesLoaded); } override public function set height(_arg1:Number):void{ var _local2:Rectangle; var _local3:Rectangle; var _local4:int; var _local5:VideoPlayer; if (isLivePreview){ setSize(this.width, _arg1); return; }; _local2 = new Rectangle(x, y, width, height); _local3 = new Rectangle(registrationX, registrationY, registrationWidth, registrationHeight); resizingNow = true; _local4 = 0; while (_local4 < videoPlayers.length) { _local5 = videoPlayers[_local4]; if (_local5 != null){ _local5.height = _arg1; }; _local4++; }; resizingNow = false; dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local2, _local3)); } public function get forwardButton():Sprite{ return (uiMgr.getControl(UIManager.FORWARD_BUTTON)); } public function get seekBarInterval():Number{ return (uiMgr.seekBarInterval); } public function set totalTime(_arg1:Number):void{ var _local2:VideoPlayerState; _local2 = videoPlayerStates[_activeVP]; _local2.totalTime = _arg1; _local2.totalTimeSet = true; } public function set skinAutoHide(_arg1:Boolean):void{ if (isLivePreview){ return; }; uiMgr.skinAutoHide = _arg1; } public function set bufferTime(_arg1:Number):void{ var _local2:VideoPlayer; _local2 = videoPlayers[_activeVP]; _local2.bufferTime = _arg1; } public function get fullScreenSkinDelay():int{ return (uiMgr.fullScreenSkinDelay); } public function seekToNavCuePoint(_arg1):void{ var _local2:Object; var _local3:Object; if ((_arg1 is String)){ _local2 = {name:String(_arg1)}; } else { if ((_arg1 is Number)){ _local2 = {time:Number(_arg1)}; } else { _local2 = _arg1; }; }; if (_local2.name == undefined){ seekToNextNavCuePoint(_local2.time); return; }; if (isNaN(_local2.time)){ _local2.time = 0; }; _local3 = findNearestCuePoint(_arg1, CuePointType.NAVIGATION); while (((!((_local3 == null))) && ((((_local3.time < _local2.time)) || (!(isFLVCuePointEnabled(_local3))))))) { _local3 = findNextCuePointWithName(_local3); }; if (_local3 == null){ throw (new VideoError(VideoError.INVALID_SEEK)); }; seek(_local3.time); } private function onCompletePreview(_arg1:Event):void{ var e = _arg1; try { previewImage_mc.width = livePreviewWidth; previewImage_mc.height = livePreviewHeight; } catch(e:Error) { }; } public function set isLive(_arg1:Boolean):void{ var _local2:VideoPlayerState; _local2 = videoPlayerStates[_activeVP]; _local2.isLive = _arg1; _local2.isLiveSet = true; } flvplayback_internal function showSkinNow(_arg1:TimerEvent):void{ skinShowTimer = null; uiMgr.visible = true; } override public function get x():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_visibleVP]; return ((super.x + _local1.x)); } override public function get y():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_visibleVP]; return ((super.y + _local1.y)); } public function get seekBar():Sprite{ return (uiMgr.getControl(UIManager.SEEK_BAR)); } public function get volumeBarInterval():Number{ return (uiMgr.volumeBarInterval); } public function set registrationHeight(_arg1:Number):void{ height = _arg1; } public function get bufferingBarHidesAndDisablesOthers():Boolean{ return (uiMgr.bufferingBarHidesAndDisablesOthers); } public function seek(_arg1:Number):void{ var _local2:VideoPlayerState; var _local3:VideoPlayer; _local2 = videoPlayerStates[_activeVP]; if (!_firstStreamShown){ _local2.preSeekTime = 0; queueCmd(_local2, QueuedCommand.SEEK, _arg1); } else { _local2.preSeekTime = playheadTime; _local3 = videoPlayers[_activeVP]; _local3.seek(_arg1); }; } public function get state():String{ var _local1:VideoPlayer; var _local2:String; var _local3:VideoPlayerState; if (isLivePreview){ return (VideoState.STOPPED); }; _local1 = videoPlayers[_activeVP]; if ((((_activeVP == _visibleVP)) && (scrubbing))){ return (VideoState.SEEKING); }; _local2 = _local1.state; if (_local2 == VideoState.RESIZING){ return (VideoState.LOADING); }; _local3 = videoPlayerStates[_activeVP]; if ((((((_local3.prevState == VideoState.LOADING)) && (_local3.autoPlay))) && ((_local2 == VideoState.STOPPED)))){ return (VideoState.LOADING); }; return (_local2); } public function set autoRewind(_arg1:Boolean):void{ var _local2:VideoPlayer; if (_activeVP == 0){ _autoRewind = _arg1; }; _local2 = videoPlayers[_activeVP]; _local2.autoRewind = _arg1; } public function get volumeBar():Sprite{ return (uiMgr.getControl(UIManager.VOLUME_BAR)); } flvplayback_internal function skinError(_arg1:String):void{ if (isLivePreview){ return; }; if (((_firstStreamReady) && (!(_firstStreamShown)))){ showFirstStream(); }; dispatchEvent(new SkinErrorEvent(SkinErrorEvent.SKIN_ERROR, false, false, _arg1)); } override public function set scaleX(_arg1:Number):void{ var _local2:Rectangle; var _local3:Rectangle; var _local4:int; var _local5:VideoPlayer; _local2 = new Rectangle(x, y, width, height); _local3 = new Rectangle(registrationX, registrationY, registrationWidth, registrationHeight); resizingNow = true; _local4 = 0; while (_local4 < videoPlayers.length) { _local5 = videoPlayers[_local4]; if (_local5 !== null){ _local5.width = (_origWidth * _arg1); }; _local4++; }; resizingNow = false; dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local2, _local3)); } override public function set scaleY(_arg1:Number):void{ var _local2:Rectangle; var _local3:Rectangle; var _local4:int; var _local5:VideoPlayer; _local2 = new Rectangle(x, y, width, height); _local3 = new Rectangle(registrationX, registrationY, registrationWidth, registrationHeight); resizingNow = true; _local4 = 0; while (_local4 < videoPlayers.length) { _local5 = videoPlayers[_local4]; if (_local5 !== null){ _local5.height = (_origHeight * _arg1); }; _local4++; }; resizingNow = false; dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local2, _local3)); } flvplayback_internal function createVideoPlayer(_arg1:Number):void{ var vp:VideoPlayer; var added:Boolean; var vpState:VideoPlayerState; var cpMgr:CuePointManager; var skinDepth:int; var index = _arg1; if (isLivePreview){ return; }; vp = videoPlayers[index]; if (vp == null){ var _local3 = new VideoPlayer(0, 0); vp = _local3; videoPlayers[index] = _local3; vp.setSize(registrationWidth, registrationHeight); }; vp.visible = false; vp.volume = 0; vp.name = String(index); added = false; if (uiMgr.skin_mc != null){ try { skinDepth = getChildIndex(uiMgr.skin_mc); if (skinDepth > 0){ addChildAt(vp, skinDepth); added = true; }; } catch(err:Error) { }; }; if (!added){ addChild(vp); }; _topVP = index; vp.autoRewind = _autoRewind; vp.scaleMode = _scaleMode; vp.bufferTime = _bufferTime; vp.idleTimeout = _idleTimeout; vp.playheadUpdateInterval = _playheadUpdateInterval; vp.progressInterval = _progressInterval; vp.soundTransform = _soundTransform; vpState = new VideoPlayerState(vp, index); videoPlayerStates[index] = vpState; videoPlayerStateDict[vp] = vpState; vp.addEventListener(AutoLayoutEvent.AUTO_LAYOUT, handleAutoLayoutEvent); vp.addEventListener(MetadataEvent.CUE_POINT, handleMetadataEvent); vp.addEventListener(MetadataEvent.METADATA_RECEIVED, handleMetadataEvent); vp.addEventListener(VideoProgressEvent.PROGRESS, handleVideoProgressEvent); vp.addEventListener(VideoEvent.AUTO_REWOUND, handleVideoEvent); vp.addEventListener(VideoEvent.CLOSE, handleVideoEvent); vp.addEventListener(VideoEvent.COMPLETE, handleVideoEvent); vp.addEventListener(VideoEvent.PLAYHEAD_UPDATE, handleVideoEvent); vp.addEventListener(VideoEvent.STATE_CHANGE, handleVideoEvent); vp.addEventListener(VideoEvent.READY, handleVideoEvent); cpMgr = new CuePointManager(this, index); cuePointMgrs[index] = cpMgr; cpMgr.playheadUpdateInterval = _playheadUpdateInterval; } public function findNearestCuePoint(_arg1, _arg2:String="all"):Object{ var _local3:CuePointManager; _local3 = cuePointMgrs[_activeVP]; switch (_arg2){ case "event": return (_local3.getCuePoint(_local3.eventCuePoints, true, _arg1)); case "navigation": return (_local3.getCuePoint(_local3.navCuePoints, true, _arg1)); case "flv": return (_local3.getCuePoint(_local3.flvCuePoints, true, _arg1)); case "actionscript": return (_local3.getCuePoint(_local3.asCuePoints, true, _arg1)); case "all": default: return (_local3.getCuePoint(_local3.allCuePoints, true, _arg1)); }; } public function get muteButton():Sprite{ return (uiMgr.getControl(UIManager.MUTE_BUTTON)); } public function seekPercent(_arg1:Number):void{ var _local2:VideoPlayer; _local2 = videoPlayers[_activeVP]; if (((((((((isNaN(_arg1)) || ((_arg1 < 0)))) || ((_arg1 > 100)))) || (isNaN(_local2.totalTime)))) || ((_local2.totalTime <= 0)))){ throw (new VideoError(VideoError.INVALID_SEEK)); }; seek(((_local2.totalTime * _arg1) / 100)); } public function set forwardButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.FORWARD_BUTTON, _arg1); } public function get registrationWidth():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_visibleVP]; return (_local1.registrationWidth); } flvplayback_internal function queueCmd(_arg1:VideoPlayerState, _arg2:Number, _arg3:Number=NaN):void{ if (_arg1.cmdQueue == null){ _arg1.cmdQueue = new Array(); }; _arg1.cmdQueue.push(new QueuedCommand(_arg2, null, false, _arg3)); } private function doContentPathConnect(_arg1):void{ var _local2:int; var _local3:VideoPlayer; var _local4:VideoPlayerState; if (isLivePreview){ return; }; _local2 = 0; if ((_arg1 is int)){ _local2 = int(_arg1); } else { removeEventListener(Event.ENTER_FRAME, doContentPathConnect); }; _local3 = videoPlayers[_local2]; _local4 = videoPlayerStates[_local2]; if (!_local4.isWaiting){ return; }; if (((_local4.autoPlay) && (_firstStreamShown))){ _local3.play(_local4.url, _local4.totalTime, _local4.isLive); } else { _local3.load(_local4.url, _local4.totalTime, _local4.isLive); }; _local4.isLiveSet = false; _local4.totalTimeSet = false; _local4.isWaiting = false; } public function get registrationX():Number{ return (super.x); } public function bringVideoPlayerToFront(_arg1:uint):void{ var vp:VideoPlayer; var moved:Boolean; var skinDepth:int; var index = _arg1; if (index == _topVP){ return; }; vp = videoPlayers[index]; if (vp == null){ createVideoPlayer(index); vp = videoPlayers[index]; }; moved = false; if (uiMgr.skin_mc != null){ try { skinDepth = getChildIndex(uiMgr.skin_mc); if (skinDepth > 0){ setChildIndex(vp, (skinDepth - 1)); moved = true; }; } catch(err:Error) { }; }; if (!moved){ setChildIndex(vp, (numChildren - 1)); }; _topVP = index; } public function get registrationY():Number{ return (super.y); } public function get pauseButton():Sprite{ return (uiMgr.getControl(UIManager.PAUSE_BUTTON)); } public function set seekBarInterval(_arg1:Number):void{ uiMgr.seekBarInterval = _arg1; } public function addASCuePoint(_arg1, _arg2:String=null, _arg3:Object=null):Object{ var _local4:CuePointManager; _local4 = cuePointMgrs[_activeVP]; return (_local4.addASCuePoint(_arg1, _arg2, _arg3)); } public function get playheadPercentage():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; if (isNaN(_local1.totalTime)){ return (NaN); }; return (((_local1.playheadTime / _local1.totalTime) * 100)); } public function setFLVCuePointEnabled(_arg1:Boolean, _arg2):Number{ var _local3:CuePointManager; _local3 = cuePointMgrs[_activeVP]; return (_local3.setFLVCuePointEnabled(_arg1, _arg2)); } public function set fullScreenSkinDelay(_arg1:int):void{ uiMgr.fullScreenSkinDelay = _arg1; } public function seekToNextNavCuePoint(_arg1:Number=NaN):void{ var _local2:VideoPlayer; var _local3:Object; var _local4:Number; _local2 = videoPlayers[_activeVP]; if (((isNaN(_arg1)) || ((_arg1 < 0)))){ _arg1 = (_local2.playheadTime + 0.001); }; _local3 = findNearestCuePoint(_arg1, CuePointType.NAVIGATION); if (_local3 == null){ seek(_local2.totalTime); return; }; _local4 = _local3.index; if (_local3.time < _arg1){ _local4++; }; while ((((_local4 < _local3.array.length)) && (!(isFLVCuePointEnabled(_local3.array[_local4]))))) { _local4++; }; if (_local4 >= _local3.array.length){ _arg1 = _local2.totalTime; if (_local3.array[(_local3.array.length - 1)].time > _arg1){ _arg1 = _local3.array[(_local3.array.length - 1)]; }; seek(_arg1); } else { seek(_local3.array[_local4].time); }; } public function load(_arg1:String, _arg2:Number=NaN, _arg3:Boolean=false):void{ if ((((_arg1 == null)) || ((_arg1.length == 0)))){ return; }; if (_arg1 == this.source){ return; }; this.autoPlay = false; this.totalTime = _arg2; this.isLive = _arg3; this.source = _arg1; } public function seekSeconds(_arg1:Number):void{ seek(_arg1); } public function get fullScreenButton():Sprite{ return (uiMgr.getControl(UIManager.FULL_SCREEN_BUTTON)); } public function get scrubbing():Boolean{ var _local1:Sprite; var _local2:ControlData; _local1 = seekBar; if (_local1 != null){ _local2 = uiMgr.ctrlDataDict[_local1]; return (_local2.isDragging); }; return (false); } override public function set y(_arg1:Number):void{ var _local2:VideoPlayer; _local2 = videoPlayers[_visibleVP]; super.y = (_arg1 - _local2.y); } public function removeASCuePoint(_arg1):Object{ var _local2:CuePointManager; _local2 = cuePointMgrs[_activeVP]; return (_local2.removeASCuePoint(_arg1)); } public function get fullScreenTakeOver():Boolean{ return (uiMgr.fullScreenTakeOver); } override public function set x(_arg1:Number):void{ var _local2:VideoPlayer; _local2 = videoPlayers[_visibleVP]; super.x = (_arg1 - _local2.x); } public function get backButton():Sprite{ return (uiMgr.getControl(UIManager.BACK_BUTTON)); } public function set seekBar(_arg1:Sprite):void{ uiMgr.setControl(UIManager.SEEK_BAR, _arg1); } public function set skin(_arg1:String):void{ uiMgr.skin = _arg1; } public function set componentInspectorSetting(_arg1:Boolean):void{ _componentInspectorSetting = _arg1; } public function get preferredHeight():int{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.videoHeight); } public function set volumeBarInterval(_arg1:Number):void{ uiMgr.volumeBarInterval = _arg1; } public function set autoPlay(_arg1:Boolean):void{ var _local2:VideoPlayerState; _local2 = videoPlayerStates[_activeVP]; _local2.autoPlay = _arg1; } public function set visibleVideoPlayerIndex(_arg1:uint):void{ var _local2:VideoPlayer; var _local3:VideoPlayer; var _local4:uint; var _local5:Rectangle; var _local6:Rectangle; if (_visibleVP == _arg1){ return; }; if (videoPlayers[_arg1] == undefined){ createVideoPlayer(_arg1); }; _local2 = videoPlayers[_arg1]; _local3 = videoPlayers[_visibleVP]; _local3.visible = false; _local3.volume = 0; _visibleVP = _arg1; if (_firstStreamShown){ uiMgr.setupSkinAutoHide(false); _local2.visible = true; _soundTransform.volume = (scrubbing) ? _volume : 0; _local2.soundTransform = _soundTransform; } else { if (((((((_local2.stateResponsive) || ((_local2.state == VideoState.CONNECTION_ERROR)))) || ((_local2.state == VideoState.DISCONNECTED)))) && (uiMgr.skinReady))){ uiMgr.visible = true; uiMgr.setupSkinAutoHide(false); _firstStreamReady = true; if (uiMgr.skin == ""){ uiMgr.hookUpCustomComponents(); }; showFirstStream(); }; }; if (((!((_local2.height == _local3.height))) || (!((_local2.width == _local3.width))))){ _local5 = new Rectangle((_local3.x + super.x), (_local3.y + super.y), _local3.width, _local3.height); _local6 = new Rectangle((_local3.registrationX + super.x), (_local3.registrationY + super.y), _local3.registrationWidth, _local3.registrationHeight); dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local5, _local6)); }; _local4 = _activeVP; _activeVP = _visibleVP; uiMgr.handleIVPEvent(new VideoEvent(VideoEvent.STATE_CHANGE, false, false, state, playheadTime, _visibleVP)); uiMgr.handleIVPEvent(new VideoEvent(VideoEvent.PLAYHEAD_UPDATE, false, false, state, playheadTime, _visibleVP)); if (_local2.isRTMP){ uiMgr.handleIVPEvent(new VideoEvent(VideoEvent.READY, false, false, state, playheadTime, _visibleVP)); } else { uiMgr.handleIVPEvent(new VideoProgressEvent(VideoProgressEvent.PROGRESS, false, false, bytesLoaded, bytesTotal, _visibleVP)); }; _activeVP = _local4; } public function get bufferingBar():Sprite{ return (uiMgr.getControl(UIManager.BUFFERING_BAR)); } flvplayback_internal function _scrubStart():void{ var _local1:Number; var _local2:VideoPlayer; _local1 = playheadTime; _local2 = videoPlayers[_visibleVP]; _volume = _local2.volume; _local2.volume = 0; dispatchEvent(new VideoEvent(VideoEvent.STATE_CHANGE, false, false, VideoState.SEEKING, _local1, _visibleVP)); dispatchEvent(new VideoEvent(VideoEvent.SCRUB_START, false, false, VideoState.SEEKING, _local1, _visibleVP)); } public function get align():String{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.align); } flvplayback_internal function handleAutoLayoutEvent(_arg1:AutoLayoutEvent):void{ var _local2:VideoPlayerState; var _local3:AutoLayoutEvent; var _local4:Rectangle; var _local5:Rectangle; _local2 = videoPlayerStateDict[_arg1.currentTarget]; _local3 = AutoLayoutEvent(_arg1.clone()); _local3.oldBounds.x = (_local3.oldBounds.x + super.x); _local3.oldBounds.y = (_local3.oldBounds.y + super.y); _local3.oldRegistrationBounds.x = (_local3.oldRegistrationBounds.x + super.y); _local3.oldRegistrationBounds.y = (_local3.oldRegistrationBounds.y + super.y); _local3.vp = _local2.index; dispatchEvent(_local3); if (((!(resizingNow)) && ((_local2.index == _visibleVP)))){ _local4 = Rectangle(_arg1.oldBounds.clone()); _local5 = Rectangle(_arg1.oldRegistrationBounds.clone()); _local4.x = (_local4.x + super.x); _local4.y = (_local4.y + super.y); _local5.x = (_local5.x + super.y); _local5.y = (_local5.y + super.y); dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local4, _local5)); }; } public function findNextCuePointWithName(_arg1:Object):Object{ var _local2:CuePointManager; _local2 = cuePointMgrs[_activeVP]; return (_local2.getNextCuePointWithName(_arg1)); } public function set playButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.PLAY_BUTTON, _arg1); } public function set bitrate(_arg1:Number):void{ ncMgr.bitrate = _arg1; } public function set bufferingBarHidesAndDisablesOthers(_arg1:Boolean):void{ uiMgr.bufferingBarHidesAndDisablesOthers = _arg1; } override public function get soundTransform():SoundTransform{ var _local1:VideoPlayer; var _local2:SoundTransform; _local1 = videoPlayers[_visibleVP]; _local2 = _local1.soundTransform; if (scrubbing){ _local2.volume = _volume; }; return (_local2); } public function get stateResponsive():Boolean{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.stateResponsive); } public function get idleTimeout():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.idleTimeout); } override public function get height():Number{ var _local1:VideoPlayer; if (isLivePreview){ return (livePreviewHeight); }; _local1 = videoPlayers[_visibleVP]; return (_local1.height); } public function set registrationWidth(_arg1:Number):void{ width = _arg1; } public function get metadata():Object{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.metadata); } public function set skinBackgroundColor(_arg1:uint):void{ uiMgr.skinBackgroundColor = _arg1; } public function get volume():Number{ return (_volume); } public function play(_arg1:String=null, _arg2:Number=NaN, _arg3:Boolean=false):void{ var _local4:VideoPlayerState; var _local5:VideoPlayer; if (_arg1 == null){ if (!_firstStreamShown){ _local4 = videoPlayerStates[_activeVP]; queueCmd(_local4, QueuedCommand.PLAY); } else { _local5 = videoPlayers[_activeVP]; _local5.play(); }; } else { if (_arg1 == this.source){ return; }; this.autoPlay = true; this.totalTime = _arg2; this.isLive = _arg3; this.source = _arg1; }; } public function get paused():Boolean{ return ((state == VideoState.PAUSED)); } flvplayback_internal function handleVideoEvent(_arg1:VideoEvent):void{ var _local2:VideoPlayerState; var _local3:CuePointManager; var _local4:VideoEvent; var _local5:String; var _local6:Number; _local2 = videoPlayerStateDict[_arg1.currentTarget]; _local3 = cuePointMgrs[_local2.index]; _local4 = VideoEvent(_arg1.clone()); _local4.vp = _local2.index; _local5 = ((((_local2.index == _visibleVP)) && (scrubbing))) ? VideoState.SEEKING : _arg1.state; switch (_arg1.type){ case VideoEvent.AUTO_REWOUND: dispatchEvent(_local4); dispatchEvent(new VideoEvent(VideoEvent.REWIND, false, false, _local5, _arg1.playheadTime, _local2.index)); _local3.resetASCuePointIndex(_arg1.playheadTime); break; case VideoEvent.PLAYHEAD_UPDATE: _local4.state = _local5; dispatchEvent(_local4); if (((!(isNaN(_local2.preSeekTime))) && (!((_arg1.state == VideoState.SEEKING))))){ _local6 = _local2.preSeekTime; _local2.preSeekTime = NaN; _local3.resetASCuePointIndex(_arg1.playheadTime); dispatchEvent(new VideoEvent(VideoEvent.SEEKED, false, false, _arg1.state, _arg1.playheadTime, _local2.index)); if (_local6 < _arg1.playheadTime){ dispatchEvent(new VideoEvent(VideoEvent.FAST_FORWARD, false, false, _arg1.state, _arg1.playheadTime, _local2.index)); } else { if (_local6 > _arg1.playheadTime){ dispatchEvent(new VideoEvent(VideoEvent.REWIND, false, false, _arg1.state, _arg1.playheadTime, _local2.index)); }; }; }; _local3.dispatchASCuePoints(); break; case VideoEvent.STATE_CHANGE: if ((((_local2.index == _visibleVP)) && (scrubbing))){ break; }; if (_arg1.state == VideoState.RESIZING){ break; }; if ((((((_local2.prevState == VideoState.LOADING)) && (_local2.autoPlay))) && ((_arg1.state == VideoState.STOPPED)))){ return; }; if ((((((((_arg1.state == VideoState.CONNECTION_ERROR)) && ((_arg1.vp == _visibleVP)))) && (!(_firstStreamShown)))) && (uiMgr.skinReady))){ showFirstStream(); uiMgr.visible = true; if (uiMgr.skin == ""){ uiMgr.hookUpCustomComponents(); }; if (skinShowTimer != null){ skinShowTimer.reset(); skinShowTimer = null; }; }; _local2.prevState = _arg1.state; _local4.state = _local5; dispatchEvent(_local4); if (_local2.owner.state != _arg1.state){ return; }; switch (_arg1.state){ case VideoState.BUFFERING: dispatchEvent(new VideoEvent(VideoEvent.BUFFERING_STATE_ENTERED, false, false, _local5, _arg1.playheadTime, _local2.index)); break; case VideoState.PAUSED: dispatchEvent(new VideoEvent(VideoEvent.PAUSED_STATE_ENTERED, false, false, _local5, _arg1.playheadTime, _local2.index)); break; case VideoState.PLAYING: dispatchEvent(new VideoEvent(VideoEvent.PLAYING_STATE_ENTERED, false, false, _local5, _arg1.playheadTime, _local2.index)); break; case VideoState.STOPPED: dispatchEvent(new VideoEvent(VideoEvent.STOPPED_STATE_ENTERED, false, false, _local5, _arg1.playheadTime, _local2.index)); break; }; break; case VideoEvent.READY: if (!_firstStreamReady){ if (_local2.index == _visibleVP){ _firstStreamReady = true; if (((uiMgr.skinReady) && (!(_firstStreamShown)))){ uiMgr.visible = true; if (uiMgr.skin == ""){ uiMgr.hookUpCustomComponents(); }; showFirstStream(); }; }; } else { if (((((_firstStreamShown) && ((_arg1.state == VideoState.STOPPED)))) && (_local2.autoPlay))){ if (_local2.owner.isRTMP){ _local2.owner.play(); } else { _local2.prevState = VideoState.STOPPED; _local2.owner.playWhenEnoughDownloaded(); }; }; }; _local4.state = _local5; dispatchEvent(_local4); break; case VideoEvent.CLOSE: case VideoEvent.COMPLETE: _local4.state = _local5; dispatchEvent(_local4); break; }; } public function set volumeBar(_arg1:Sprite):void{ uiMgr.setControl(UIManager.VOLUME_BAR, _arg1); } public function set fullScreenBackgroundColor(_arg1:uint):void{ uiMgr.fullScreenBackgroundColor = _arg1; } public function get isLive():Boolean{ var _local1:VideoPlayerState; var _local2:VideoPlayer; _local1 = videoPlayerStates[_activeVP]; if (_local1.isLiveSet){ return (_local1.isLive); }; _local2 = videoPlayers[_activeVP]; return (_local2.isLive); } public function get bufferTime():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.bufferTime); } public function get registrationHeight():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_visibleVP]; return (_local1.registrationHeight); } public function get playPauseButton():Sprite{ return (uiMgr.getControl(UIManager.PLAY_PAUSE_BUTTON)); } flvplayback_internal function showFirstStream():void{ var _local1:VideoPlayer; var _local2:int; var _local3:VideoPlayerState; var _local4:int; _firstStreamShown = true; _local1 = videoPlayers[_visibleVP]; _local1.visible = true; if (!scrubbing){ _soundTransform.volume = _volume; _local1.soundTransform = _soundTransform; }; _local2 = 0; while (_local2 < videoPlayers.length) { _local1 = videoPlayers[_local2]; if (_local1 != null){ _local3 = videoPlayerStates[_local2]; if ((((_local1.state == VideoState.STOPPED)) && (_local3.autoPlay))){ if (_local1.isRTMP){ _local1.play(); } else { _local3.prevState = VideoState.STOPPED; _local1.playWhenEnoughDownloaded(); }; }; if (_local3.cmdQueue != null){ _local4 = 0; while (_local4 < _local3.cmdQueue.length) { switch (_local3.cmdQueue[_local4].type){ case QueuedCommand.PLAY: _local1.play(); break; case QueuedCommand.PAUSE: _local1.pause(); break; case QueuedCommand.STOP: _local1.stop(); break; case QueuedCommand.SEEK: _local1.seek(_local3.cmdQueue[_local4].time); break; case QueuedCommand.PLAY_WHEN_ENOUGH: _local1.playWhenEnoughDownloaded(); break; }; _local4++; }; _local3.cmdQueue = null; }; }; _local2++; }; } public function set volumeBarScrubTolerance(_arg1:Number):void{ uiMgr.volumeBarScrubTolerance = _arg1; } public function set skinBackgroundAlpha(_arg1:Number):void{ uiMgr.skinBackgroundAlpha = _arg1; } public function get playheadUpdateInterval():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.playheadUpdateInterval); } public function set muteButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.MUTE_BUTTON, _arg1); } public function set skinScaleMaximum(_arg1:Number){ uiMgr.skinScaleMaximum = _arg1; } public function enterFullScreenDisplayState():void{ uiMgr.enterFullScreenDisplayState(); } flvplayback_internal function handleMetadataEvent(_arg1:MetadataEvent):void{ var _local2:VideoPlayerState; var _local3:CuePointManager; var _local4:MetadataEvent; _local2 = videoPlayerStateDict[_arg1.currentTarget]; _local3 = cuePointMgrs[_local2.index]; switch (_arg1.type){ case MetadataEvent.METADATA_RECEIVED: _local3.processFLVCuePoints(_arg1.info.cuePoints); break; case MetadataEvent.CUE_POINT: if (!_local3.isFLVCuePointEnabled(_arg1.info)){ return; }; break; }; _local4 = MetadataEvent(_arg1.clone()); _local4.vp = _local2.index; dispatchEvent(_local4); } public function playWhenEnoughDownloaded():void{ var _local1:VideoPlayerState; var _local2:VideoPlayer; if (!_firstStreamShown){ _local1 = videoPlayerStates[_activeVP]; queueCmd(_local1, QueuedCommand.PLAY_WHEN_ENOUGH); } else { _local2 = videoPlayers[_activeVP]; _local2.playWhenEnoughDownloaded(); }; } public function get bitrate():Number{ return (ncMgr.bitrate); } public function get autoRewind():Boolean{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.autoRewind); } public function get fullScreenBackgroundColor():uint{ return (uiMgr.fullScreenBackgroundColor); } public function get skin():String{ return (uiMgr.skin); } public function set registrationX(_arg1:Number):void{ super.x = _arg1; } public function set registrationY(_arg1:Number):void{ super.y = _arg1; } public function setSize(_arg1:Number, _arg2:Number):void{ var _local3:Rectangle; var _local4:Rectangle; var _local5:int; var _local6:VideoPlayer; _local3 = new Rectangle(x, y, this.width, this.height); _local4 = new Rectangle(registrationX, registrationY, registrationWidth, registrationHeight); if (isLivePreview){ livePreviewWidth = _arg1; livePreviewHeight = _arg2; if (previewImage_mc != null){ previewImage_mc.width = _arg1; previewImage_mc.height = _arg2; }; preview_mc.box_mc.width = _arg1; preview_mc.box_mc.height = _arg2; if ((((preview_mc.box_mc.width < preview_mc.icon_mc.width)) || ((preview_mc.box_mc.height < preview_mc.icon_mc.height)))){ preview_mc.icon_mc.visible = false; } else { preview_mc.icon_mc.visible = true; preview_mc.icon_mc.x = ((preview_mc.box_mc.width - preview_mc.icon_mc.width) / 2); preview_mc.icon_mc.y = ((preview_mc.box_mc.height - preview_mc.icon_mc.height) / 2); }; dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local3, _local4)); return; }; resizingNow = true; _local5 = 0; while (_local5 < videoPlayers.length) { _local6 = videoPlayers[_local5]; if (_local6 != null){ _local6.setSize(_arg1, _arg2); }; _local5++; }; resizingNow = false; dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local3, _local4)); } public function get isRTMP():Boolean{ var _local1:VideoPlayer; if (isLivePreview){ return (true); }; _local1 = videoPlayers[_activeVP]; return (_local1.isRTMP); } public function set preview(_arg1:String):void{ var filename = _arg1; if (!isLivePreview){ return; }; previewImageUrl = filename; if (previewImage_mc != null){ removeChild(previewImage_mc); }; previewImage_mc = new Loader(); previewImage_mc.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompletePreview); previewImage_mc.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{ }); previewImage_mc.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function (_arg1:SecurityErrorEvent):void{ }); addChildAt(previewImage_mc, 1); previewImage_mc.load(new URLRequest(previewImageUrl)); } override public function set width(_arg1:Number):void{ var _local2:Rectangle; var _local3:Rectangle; var _local4:int; var _local5:VideoPlayer; if (isLivePreview){ setSize(_arg1, this.height); return; }; _local2 = new Rectangle(x, y, width, height); _local3 = new Rectangle(registrationX, registrationY, registrationWidth, registrationHeight); resizingNow = true; _local4 = 0; while (_local4 < videoPlayers.length) { _local5 = videoPlayers[_local4]; if (_local5 != null){ _local5.width = _arg1; }; _local4++; }; resizingNow = false; dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local2, _local3)); } public function get playButton():Sprite{ return (uiMgr.getControl(UIManager.PLAY_BUTTON)); } public function set pauseButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.PAUSE_BUTTON, _arg1); } public function get bytesTotal():uint{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.bytesTotal); } public function seekToPrevNavCuePoint(_arg1:Number=NaN):void{ var _local2:Object; var _local3:Number; var _local4:VideoPlayer; if (((isNaN(_arg1)) || ((_arg1 < 0)))){ _local4 = videoPlayers[_activeVP]; _arg1 = _local4.playheadTime; }; _local2 = findNearestCuePoint(_arg1, CuePointType.NAVIGATION); if (_local2 == null){ seek(0); return; }; _local3 = _local2.index; while ((((_local3 >= 0)) && (((!(isFLVCuePointEnabled(_local2.array[_local3]))) || ((_local2.array[_local3].time >= (_arg1 - _seekToPrevOffset))))))) { _local3--; }; if (_local3 < 0){ seek(0); } else { seek(_local2.array[_local3].time); }; } public function get autoPlay():Boolean{ var _local1:VideoPlayerState; _local1 = videoPlayerStates[_activeVP]; return (_local1.autoPlay); } public function set playheadPercentage(_arg1:Number):void{ seekPercent(_arg1); } public function isFLVCuePointEnabled(_arg1):Boolean{ var _local2:CuePointManager; _local2 = cuePointMgrs[_activeVP]; return (_local2.isFLVCuePointEnabled(_arg1)); } public function get buffering():Boolean{ return ((state == VideoState.BUFFERING)); } public function get volumeBarScrubTolerance():Number{ return (uiMgr.volumeBarScrubTolerance); } public function get skinBackgroundColor():uint{ return (uiMgr.skinBackgroundColor); } public function get visibleVideoPlayerIndex():uint{ return (_visibleVP); } public function set stopButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.STOP_BUTTON, _arg1); } public function get skinBackgroundAlpha():Number{ return (uiMgr.skinBackgroundAlpha); } public function get skinScaleMaximum():Number{ return (uiMgr.skinScaleMaximum); } public function get preferredWidth():int{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.videoWidth); } override public function get width():Number{ var _local1:VideoPlayer; if (isLivePreview){ return (livePreviewWidth); }; _local1 = videoPlayers[_visibleVP]; return (_local1.width); } public function get stopped():Boolean{ return ((state == VideoState.STOPPED)); } public function set fullScreenButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.FULL_SCREEN_BUTTON, _arg1); } public function get stopButton():Sprite{ return (uiMgr.getControl(UIManager.STOP_BUTTON)); } public function set playheadUpdateInterval(_arg1:Number):void{ var _local2:CuePointManager; var _local3:VideoPlayer; if (_activeVP == 0){ _playheadUpdateInterval = _arg1; }; _local2 = cuePointMgrs[_activeVP]; _local2.playheadUpdateInterval = _arg1; _local3 = videoPlayers[_activeVP]; _local3.playheadUpdateInterval = _arg1; } private function createLivePreviewMovieClip():void{ preview_mc = new MovieClip(); preview_mc.name = "preview_mc"; preview_mc.box_mc = new MovieClip(); preview_mc.box_mc.name = "box_mc"; preview_mc.box_mc.graphics.beginFill(0); preview_mc.box_mc.graphics.moveTo(0, 0); preview_mc.box_mc.graphics.lineTo(0, 100); preview_mc.box_mc.graphics.lineTo(100, 100); preview_mc.box_mc.graphics.lineTo(100, 0); preview_mc.box_mc.graphics.lineTo(0, 0); preview_mc.box_mc.graphics.endFill(); preview_mc.addChild(preview_mc.box_mc); preview_mc.icon_mc = new Icon(); preview_mc.icon_mc.name = "icon_mc"; preview_mc.addChild(preview_mc.icon_mc); addChild(preview_mc); } public function set idleTimeout(_arg1:Number):void{ var _local2:VideoPlayer; if (_activeVP == 0){ _idleTimeout = _arg1; }; _local2 = videoPlayers[_activeVP]; _local2.idleTimeout = _arg1; } flvplayback_internal function skinLoaded():void{ var _local1:VideoPlayer; if (isLivePreview){ return; }; _local1 = videoPlayers[_visibleVP]; if (((((_firstStreamReady) || ((_local1.state == VideoState.CONNECTION_ERROR)))) || ((_local1.state == VideoState.DISCONNECTED)))){ uiMgr.visible = true; if (!_firstStreamShown){ showFirstStream(); }; } else { if (skinShowTimer != null){ skinShowTimer.reset(); skinShowTimer = null; }; skinShowTimer = new Timer(DEFAULT_SKIN_SHOW_TIMER_INTERVAL, 1); skinShowTimer.addEventListener(TimerEvent.TIMER, showSkinNow); skinShowTimer.start(); }; dispatchEvent(new VideoEvent(VideoEvent.SKIN_LOADED, false, false, state, playheadTime, _visibleVP)); } flvplayback_internal function _scrubFinish():void{ var _local1:Number; var _local2:String; var _local3:VideoPlayer; _local1 = playheadTime; _local2 = state; _local3 = videoPlayers[_visibleVP]; _soundTransform.volume = _volume; _local3.soundTransform = _soundTransform; if (_local2 != VideoState.SEEKING){ dispatchEvent(new VideoEvent(VideoEvent.STATE_CHANGE, false, false, _local2, _local1, _visibleVP)); }; dispatchEvent(new VideoEvent(VideoEvent.SCRUB_FINISH, false, false, _local2, _local1, _visibleVP)); } public function set playPauseButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.PLAY_PAUSE_BUTTON, _arg1); } public function set backButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.BACK_BUTTON, _arg1); } public function set cuePoints(_arg1:Array):void{ if (!_componentInspectorSetting){ return; }; cuePointMgrs[0].processCuePointsProperty(_arg1); } public function findCuePoint(_arg1, _arg2:String="all"):Object{ var _local3:CuePointManager; _local3 = cuePointMgrs[_activeVP]; switch (_arg2){ case "event": return (_local3.getCuePoint(_local3.eventCuePoints, false, _arg1)); case "navigation": return (_local3.getCuePoint(_local3.navCuePoints, false, _arg1)); case "flv": return (_local3.getCuePoint(_local3.flvCuePoints, false, _arg1)); case "actionscript": return (_local3.getCuePoint(_local3.asCuePoints, false, _arg1)); case "all": default: return (_local3.getCuePoint(_local3.allCuePoints, false, _arg1)); }; } public function get seekBarScrubTolerance():Number{ return (uiMgr.seekBarScrubTolerance); } flvplayback_internal function handleVideoProgressEvent(_arg1:VideoProgressEvent):void{ var _local2:VideoPlayerState; var _local3:VideoProgressEvent; _local2 = videoPlayerStateDict[_arg1.currentTarget]; _local3 = VideoProgressEvent(_arg1.clone()); _local3.vp = _local2.index; dispatchEvent(_local3); } } }//package fl.video
Section 21
//flvplayback_internal (fl.video.flvplayback_internal) package fl.video { public namespace flvplayback_internal = "http://www.adobe.com/2007/flash/flvplayback/internal"; }//package fl.video
Section 22
//FPADManager (fl.video.FPADManager) package fl.video { import flash.net.*; import flash.events.*; public class FPADManager { flvplayback_internal var _parseResults:ParseResults; flvplayback_internal var rtmpURL:String; flvplayback_internal var _url:String; flvplayback_internal var xmlLoader:URLLoader; flvplayback_internal var xml:XML; flvplayback_internal var _uriParam:String; private var _owner:INCManager; public static const VERSION:String = "2.1.0.14"; public static const SHORT_VERSION:String = "2.1"; public function FPADManager(_arg1:INCManager){ _owner = _arg1; } flvplayback_internal function connectXML(_arg1:String, _arg2:String, _arg3:String, _arg4:ParseResults):Boolean{ _uriParam = _arg2; _parseResults = _arg4; _url = ((_arg1 + "uri=") + _parseResults.protocol); if (_parseResults.serverName != null){ _url = (_url + ("/" + _parseResults.serverName)); }; if (_parseResults.portNumber != null){ _url = (_url + (":" + _parseResults.portNumber)); }; if (_parseResults.wrappedURL != null){ _url = (_url + ("/?" + _parseResults.wrappedURL)); }; _url = (_url + ("/" + _parseResults.appName)); _url = (_url + _arg3); xml = new XML(); xmlLoader = new URLLoader(); xmlLoader.addEventListener(Event.COMPLETE, xmlLoadEventHandler); xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, xmlLoadEventHandler); xmlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, xmlLoadEventHandler); xmlLoader.load(new URLRequest(_url)); return (false); } flvplayback_internal function xmlLoadEventHandler(_arg1:Event):void{ var proxy:String; var e = _arg1; try { if (e.type != Event.COMPLETE){ _owner.helperDone(this, false); } else { xml = new XML(xmlLoader.data); if ((((xml == null)) || ((xml.localName() == null)))){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" No root node found; if url is for an flv it must have .flv extension and take no parameters"))); } else { if (xml.localName() != "fpad"){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" Root node not fpad"))); }; }; proxy = null; if ((((((xml.proxy.length() > 0)) && (xml.proxy.hasSimpleContent()))) && ((xml.proxy.*[0].nodeKind() == "text")))){ proxy = xml.proxy.*[0].toString(); }; if (proxy == null){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" fpad xml requires proxy tag."))); }; rtmpURL = ((((_parseResults.protocol + "/") + proxy) + "/?") + _uriParam); _owner.helperDone(this, true); }; } catch(err:Error) { _owner.helperDone(this, false); throw (err); }; } } }//package fl.video
Section 23
//Icon (fl.video.Icon) package fl.video { import flash.display.*; public dynamic class Icon extends MovieClip { } }//package fl.video
Section 24
//INCManager (fl.video.INCManager) package fl.video { import flash.net.*; public interface INCManager { function set timeout(_arg1:uint):void; function get streamLength():Number; function get timeout():uint; function connectToURL(_arg1:String):Boolean; function get streamName():String; function get bitrate():Number; function get streamHeight():int; function helperDone(_arg1:Object, _arg2:Boolean):void; function getProperty(_arg1:String); function get streamWidth():int; function connectAgain():Boolean; function reconnect():void; function set videoPlayer(_arg1:VideoPlayer):void; function setProperty(_arg1:String, _arg2):void; function set bitrate(_arg1:Number):void; function get netConnection():NetConnection; function get videoPlayer():VideoPlayer; function get isRTMP():Boolean; function close():void; } }//package fl.video
Section 25
//IVPEvent (fl.video.IVPEvent) package fl.video { public interface IVPEvent { function set vp(_arg1:uint):void; function get vp():uint; function get type():String; } }//package fl.video
Section 26
//LayoutEvent (fl.video.LayoutEvent) package fl.video { import flash.events.*; import flash.geom.*; public class LayoutEvent extends Event { private var _oldBounds:Rectangle; private var _oldRegistrationBounds:Rectangle; public static const LAYOUT:String = "layout"; public function LayoutEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Rectangle=null, _arg5:Rectangle=null){ super(_arg1, _arg2, _arg3); _oldBounds = _arg4; _oldRegistrationBounds = _arg5; } public function get oldRegistrationBounds():Rectangle{ return (_oldRegistrationBounds); } override public function clone():Event{ return (new LayoutEvent(type, bubbles, cancelable, Rectangle(oldBounds.clone()), Rectangle(oldRegistrationBounds.clone()))); } public function set oldRegistrationBounds(_arg1:Rectangle):void{ _oldRegistrationBounds = _arg1; } public function set oldBounds(_arg1:Rectangle):void{ _oldBounds = _arg1; } public function get oldBounds():Rectangle{ return (_oldBounds); } } }//package fl.video
Section 27
//MetadataEvent (fl.video.MetadataEvent) package fl.video { import flash.events.*; public class MetadataEvent extends Event implements IVPEvent { private var _info:Object; private var _vp:uint; public static const METADATA_RECEIVED:String = "metadataReceived"; public static const CUE_POINT:String = "cuePoint"; public function MetadataEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null, _arg5:uint=0){ super(_arg1, _arg2, _arg3); _info = _arg4; _vp = _arg5; } public function get vp():uint{ return (_vp); } public function set info(_arg1:Object):void{ _info = _arg1; } override public function clone():Event{ return (new MetadataEvent(type, bubbles, cancelable, info, vp)); } public function get info():Object{ return (_info); } public function set vp(_arg1:uint):void{ _vp = _arg1; } } }//package fl.video
Section 28
//NCManager (fl.video.NCManager) package fl.video { import flash.net.*; import flash.events.*; import flash.utils.*; public class NCManager implements INCManager { public const DEFAULT_TIMEOUT:uint = 60000; flvplayback_internal var _serverName:String; flvplayback_internal var _tryNCTimer:Timer; flvplayback_internal var _autoSenseBW:Boolean; flvplayback_internal var _fpadZone:Number; flvplayback_internal var _appName:String; flvplayback_internal var _ncConnected:Boolean; flvplayback_internal var _fpadMgr:FPADManager; flvplayback_internal var _bitrate:Number; flvplayback_internal var _timeoutTimer:Timer; flvplayback_internal var _wrappedURL:String; flvplayback_internal var _payload:Number; flvplayback_internal var _proxyType:String; flvplayback_internal var _nc:NetConnection; flvplayback_internal var _streamLength:Number; flvplayback_internal var _connTypeCounter:uint; flvplayback_internal var _streamWidth:int; flvplayback_internal var _ncUri:String; flvplayback_internal var _contentPath:String; flvplayback_internal var _smilMgr:SMILManager; flvplayback_internal var _streamHeight:int; flvplayback_internal var _isRTMP:Boolean; flvplayback_internal var _tryNC:Array; flvplayback_internal var _owner:VideoPlayer; flvplayback_internal var _streams:Array; flvplayback_internal var _portNumber:String; flvplayback_internal var _streamName:String; flvplayback_internal var _objectEncoding:uint; public var fallbackServerName:String; flvplayback_internal var _protocol:String; public static const VERSION:String = "2.1.0.14"; public static const SHORT_VERSION:String = "2.1"; public function NCManager(){ _fpadZone = NaN; _objectEncoding = ObjectEncoding.AMF0; _proxyType = "best"; _timeoutTimer = new Timer(DEFAULT_TIMEOUT); _timeoutTimer.addEventListener(TimerEvent.TIMER, this._onFMSConnectTimeOut); _tryNCTimer = new Timer(1500, 1); _tryNCTimer.addEventListener(TimerEvent.TIMER, this.nextConnect); initNCInfo(); initOtherInfo(); _nc = null; _ncConnected = false; } flvplayback_internal function initNCInfo():void{ _isRTMP = false; _serverName = null; _wrappedURL = null; _portNumber = null; _appName = null; } flvplayback_internal function cleanConns():void{ var _local1:uint; _tryNCTimer.reset(); if (_tryNC != null){ _local1 = 0; while (_local1 < _tryNC.length) { if (_tryNC[_local1] != null){ _tryNC[_local1].removeEventListener(NetStatusEvent.NET_STATUS, connectOnStatus); if (_tryNC[_local1].client.pending){ _tryNC[_local1].addEventListener(NetStatusEvent.NET_STATUS, disconnectOnStatus); } else { _tryNC[_local1].close(); }; }; _tryNC[_local1] = null; _local1++; }; _tryNC = null; }; } public function get streamWidth():int{ return (_streamWidth); } public function connectToURL(_arg1:String):Boolean{ var parseResults:ParseResults; var canReuse:Boolean; var name:String; var url = _arg1; initOtherInfo(); _contentPath = url; if ((((_contentPath == null)) || ((_contentPath == "")))){ throw (new VideoError(VideoError.INVALID_SOURCE)); }; parseResults = parseURL(_contentPath); if ((((parseResults.streamName == null)) || ((parseResults.streamName == "")))){ throw (new VideoError(VideoError.INVALID_SOURCE, url)); }; if (parseResults.isRTMP){ canReuse = canReuseOldConnection(parseResults); _isRTMP = true; _protocol = parseResults.protocol; _streamName = parseResults.streamName; _serverName = parseResults.serverName; _wrappedURL = parseResults.wrappedURL; _portNumber = parseResults.portNumber; _appName = parseResults.appName; if ((((((((_appName == null)) || ((_appName == "")))) || ((_streamName == null)))) || ((_streamName == "")))){ throw (new VideoError(VideoError.INVALID_SOURCE, url)); }; _autoSenseBW = (_streamName.indexOf(",") >= 0); return (((canReuse) || (connectRTMP()))); //unresolved jump }; name = parseResults.streamName; if ((((((((name.indexOf("?") < 0)) && ((((name.length < 4)) || (!((name.slice(-4).toLowerCase() == ".txt"))))))) && ((((name.length < 4)) || (!((name.slice(-4).toLowerCase() == ".xml"))))))) && ((((name.length < 5)) || (!((name.slice(-5).toLowerCase() == ".smil"))))))){ canReuse = canReuseOldConnection(parseResults); _isRTMP = false; _streamName = name; return (((canReuse) || (connectHTTP()))); }; if (name.indexOf("/fms/fpad") >= 0){ try { return (connectFPAD(name)); } catch(err:Error) { }; }; _smilMgr = new SMILManager(this); return (_smilMgr.connectXML(name)); } public function get streamName():String{ return (_streamName); } flvplayback_internal function reconnectOnStatus(_arg1:NetStatusEvent):void{ if ((((_arg1.info.code == "NetConnection.Connect.Failed")) || ((_arg1.info.code == "NetConnection.Connect.Rejected")))){ _nc = null; _ncConnected = false; _owner.ncReconnected(); }; } public function get videoPlayer():VideoPlayer{ return (_owner); } flvplayback_internal function getStreamLengthResult(_arg1:Number):void{ if (_arg1 > 0){ _streamLength = _arg1; }; _owner.ncConnected(); } flvplayback_internal function canReuseOldConnection(_arg1:ParseResults):Boolean{ if ((((_nc == null)) || (!(_ncConnected)))){ return (false); }; if (!_arg1.isRTMP){ if (!_isRTMP){ return (true); }; _owner.close(); _nc = null; _ncConnected = false; initNCInfo(); return (false); }; if (_isRTMP){ if ((((((((((_arg1.serverName == _serverName)) && ((_arg1.appName == _appName)))) && ((_arg1.protocol == _protocol)))) && ((_arg1.portNumber == _portNumber)))) && ((_arg1.wrappedURL == _wrappedURL)))){ return (true); }; _owner.close(); _nc = null; _ncConnected = false; }; initNCInfo(); return (false); } public function getProperty(_arg1:String){ switch (_arg1){ case "fallbackServerName": return (fallbackServerName); case "fpadZone": return (_fpadZone); case "objectEncoding": return (_objectEncoding); case "proxyType": return (_proxyType); default: throw (new VideoError(VideoError.UNSUPPORTED_PROPERTY, _arg1)); }; } flvplayback_internal function connectRTMP():Boolean{ var _local1:int; var _local2:uint; _timeoutTimer.stop(); _timeoutTimer.start(); _tryNC = new Array(); _local1 = ((((_protocol == "rtmp:/")) || ((_protocol == "rtmpe:/")))) ? 2 : 1; _local2 = 0; while (_local2 < _local1) { _tryNC[_local2] = new NetConnection(); _tryNC[_local2].objectEncoding = _objectEncoding; _tryNC[_local2].proxyType = _proxyType; if (!isNaN(_fpadZone)){ _tryNC[_local2].fpadZone = _fpadZone; }; _tryNC[_local2].client = new ConnectClient(this, _tryNC[_local2], _local2); _tryNC[_local2].addEventListener(NetStatusEvent.NET_STATUS, connectOnStatus); _local2++; }; nextConnect(); return (false); } public function reconnect():void{ if (!_isRTMP){ throw (new Error("Cannot call reconnect on an http connection")); }; _nc.client = new ReconnectClient(this); _nc.addEventListener(NetStatusEvent.NET_STATUS, reconnectOnStatus); _nc.connect(_ncUri, false); } public function helperDone(_arg1:Object, _arg2:Boolean):void{ var _local3:ParseResults; var _local4:String; var _local5:Boolean; var _local6:uint; var _local7:Number; if (!_arg2){ _nc = null; _ncConnected = false; _owner.ncConnected(); _smilMgr = null; _fpadMgr = null; return; }; _local5 = false; if (_arg1 == _fpadMgr){ _local4 = _fpadMgr.rtmpURL; _fpadMgr = null; _local3 = parseURL(_local4); _isRTMP = _local3.isRTMP; _protocol = _local3.protocol; _serverName = _local3.serverName; _portNumber = _local3.portNumber; _wrappedURL = _local3.wrappedURL; _appName = _local3.appName; _streamName = _local3.streamName; _local7 = _fpadZone; _fpadZone = NaN; connectRTMP(); _fpadZone = _local7; return; }; if (_arg1 != _smilMgr){ return; }; _streamWidth = _smilMgr.width; _streamHeight = _smilMgr.height; _local4 = _smilMgr.baseURLAttr[0]; if (((!((_local4 == null))) && (!((_local4 == ""))))){ if (_local4.charAt((_local4.length - 1)) != "/"){ _local4 = (_local4 + "/"); }; _local3 = parseURL(_local4); _isRTMP = _local3.isRTMP; _local5 = true; _streamName = _local3.streamName; if (_isRTMP){ _protocol = _local3.protocol; _serverName = _local3.serverName; _portNumber = _local3.portNumber; _wrappedURL = _local3.wrappedURL; _appName = _local3.appName; if ((((_appName == null)) || ((_appName == "")))){ _smilMgr = null; throw (new VideoError(VideoError.INVALID_XML, ("Base RTMP URL must include application name: " + _local4))); }; if (_smilMgr.baseURLAttr.length > 1){ _local3 = parseURL(_smilMgr.baseURLAttr[1]); if (_local3.serverName != null){ fallbackServerName = _local3.serverName; }; }; }; }; _streams = _smilMgr.videoTags; _smilMgr = null; _local6 = 0; while (_local6 < _streams.length) { _local4 = _streams[_local6].src; _local3 = parseURL(_local4); if (!_local5){ _isRTMP = _local3.isRTMP; _local5 = true; if (_isRTMP){ _protocol = _local3.protocol; if (_streams.length > 1){ throw (new VideoError(VideoError.INVALID_XML, "Cannot switch between multiple absolute RTMP URLs, must use meta tag base attribute.")); }; _serverName = _local3.serverName; _portNumber = _local3.portNumber; _wrappedURL = _local3.wrappedURL; _appName = _local3.appName; if ((((_appName == null)) || ((_appName == "")))){ throw (new VideoError(VideoError.INVALID_XML, ("Base RTMP URL must include application name: " + _local4))); }; } else { if ((((_local3.streamName.indexOf("/fms/fpad") >= 0)) && ((_streams.length > 1)))){ throw (new VideoError(VideoError.INVALID_XML, "Cannot switch between multiple absolute fpad URLs, must use meta tag base attribute.")); }; }; } else { if (((((((!((_streamName == null))) && (!((_streamName == ""))))) && (!(_local3.isRelative)))) && ((_streams.length > 1)))){ throw (new VideoError(VideoError.INVALID_XML, "When using meta tag base attribute, cannot use absolute URLs for video or ref tag src attributes.")); }; }; _streams[_local6].parseResults = _local3; _local6++; }; _autoSenseBW = (_streams.length > 1); if (!_autoSenseBW){ if (_streamName != null){ _streamName = (_streamName + _streams[0].parseResults.streamName); } else { _streamName = _streams[0].parseResults.streamName; }; if (((_isRTMP) && ((_streamName.substr(-4).toLowerCase() == ".flv")))){ _streamName = _streamName.substr(0, (_streamName.length - 4)); }; _streamLength = _streams[0].dur; }; if (_isRTMP){ connectRTMP(); } else { if (((!((_streamName == null))) && ((_streamName.indexOf("/fms/fpad") >= 0)))){ connectFPAD(_streamName); } else { if (_autoSenseBW){ bitrateMatch(); }; connectHTTP(); _owner.ncConnected(); }; }; } public function get netConnection():NetConnection{ return (_nc); } public function get bitrate():Number{ return (_bitrate); } public function setProperty(_arg1:String, _arg2):void{ switch (_arg1){ case "fallbackServerName": fallbackServerName = String(_arg2); break; case "fpadZone": _fpadZone = Number(_arg2); break; case "objectEncoding": _objectEncoding = uint(_arg2); break; case "proxyType": _proxyType = String(_arg2); break; default: throw (new VideoError(VideoError.UNSUPPORTED_PROPERTY, _arg1)); }; } public function get timeout():uint{ return (_timeoutTimer.delay); } public function set videoPlayer(_arg1:VideoPlayer):void{ _owner = _arg1; } flvplayback_internal function bitrateMatch():void{ var _local1:Number; var _local2:uint; var _local3:uint; _local1 = _bitrate; if (isNaN(_local1)){ _local1 = 0; }; _local2 = _streams.length; _local3 = 0; while (_local3 < _streams.length) { if (((isNaN(_streams[_local3].bitrate)) || ((_local1 >= _streams[_local3].bitrate)))){ _local2 = _local3; break; }; _local3++; }; if (_local2 == _streams.length){ throw (new VideoError(VideoError.NO_BITRATE_MATCH)); }; if (_streamName != null){ _streamName = (_streamName + _streams[_local2].src); } else { _streamName = _streams[_local2].src; }; if (((_isRTMP) && ((_streamName.substr(-4).toLowerCase() == ".flv")))){ _streamName = _streamName.substr(0, (_streamName.length - 4)); }; _streamLength = _streams[_local2].dur; } flvplayback_internal function disconnectOnStatus(_arg1:NetStatusEvent):void{ if (_arg1.info.code == "NetConnection.Connect.Success"){ _arg1.target.removeEventListener(NetStatusEvent.NET_STATUS, disconnectOnStatus); _arg1.target.close(); }; } flvplayback_internal function nextConnect(_arg1:TimerEvent=null):void{ var _local2:String; var _local3:String; var _local4:String; if (_connTypeCounter == 0){ _local2 = _protocol; _local3 = _portNumber; } else { _local3 = null; if (_protocol == "rtmp:/"){ _local2 = "rtmpt:/"; } else { if (_protocol == "rtmpe:/"){ _local2 = "rtmpte:/"; } else { _tryNC.pop(); return; }; }; }; _local4 = (((_local2 + ((_serverName)==null) ? "" : ((("/" + _serverName) + ((_local3)==null) ? "" : (":" + _local3)) + "/")) + ((_wrappedURL)==null) ? "" : (_wrappedURL + "/")) + _appName); _tryNC[_connTypeCounter].client.pending = true; _tryNC[_connTypeCounter].connect(_local4, _autoSenseBW); if (_connTypeCounter < (_tryNC.length - 1)){ _connTypeCounter++; _tryNCTimer.reset(); _tryNCTimer.start(); }; } flvplayback_internal function connectFPAD(_arg1:String):Boolean{ var _local2:Object; var _local3:String; var _local4:String; var _local5:String; var _local6:ParseResults; _local2 = /^(.+)(\?|\&)(uri=)([^&]+)(\&.*)?$/.exec(_arg1); if (_local2 == null){ throw (new VideoError(VideoError.INVALID_SOURCE, ("fpad url must include uri parameter: " + _arg1))); }; _local3 = (_local2[1] + _local2[2]); _local4 = _local2[4]; _local5 = ((_local2[5])==undefined) ? "" : _local2[5]; _local6 = parseURL(_local4); if (!_local6.isRTMP){ throw (new VideoError(VideoError.INVALID_SOURCE, ("fpad url uri parameter must be rtmp url: " + _arg1))); }; _fpadMgr = new FPADManager(this); return (_fpadMgr.connectXML(_local3, _local4, _local5, _local6)); } flvplayback_internal function connectHTTP():Boolean{ _nc = new NetConnection(); _nc.connect(null); _ncConnected = true; return (true); } public function get isRTMP():Boolean{ return (_isRTMP); } public function get streamLength():Number{ return (_streamLength); } public function connectAgain():Boolean{ var _local1:int; var _local2:String; _local1 = _appName.indexOf("/"); if (_local1 < 0){ _local1 = _streamName.indexOf("/"); if (_local1 >= 0){ _appName = (_appName + "/"); _appName = (_appName + _streamName.slice(0, _local1)); _streamName = _streamName.slice((_local1 + 1)); }; return (false); }; _local2 = _appName.slice((_local1 + 1)); _local2 = (_local2 + "/"); _local2 = (_local2 + _streamName); _streamName = _local2; _appName = _appName.slice(0, _local1); close(); _payload = 0; _connTypeCounter = 0; cleanConns(); connectRTMP(); return (true); } flvplayback_internal function parseURL(_arg1:String):ParseResults{ var _local2:ParseResults; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:String; var _local8:ParseResults; _local2 = new ParseResults(); _local3 = 0; _local4 = _arg1.indexOf(":/", _local3); if (_local4 >= 0){ _local4 = (_local4 + 2); _local2.protocol = _arg1.slice(_local3, _local4).toLowerCase(); _local2.isRelative = false; } else { _local2.isRelative = true; }; if (((!((_local2.protocol == null))) && ((((((((((_local2.protocol == "rtmp:/")) || ((_local2.protocol == "rtmpt:/")))) || ((_local2.protocol == "rtmps:/")))) || ((_local2.protocol == "rtmpe:/")))) || ((_local2.protocol == "rtmpte:/")))))){ _local2.isRTMP = true; _local3 = _local4; if (_arg1.charAt(_local3) == "/"){ _local3++; _local5 = _arg1.indexOf(":", _local3); _local6 = _arg1.indexOf("/", _local3); if (_local6 < 0){ if (_local5 < 0){ _local2.serverName = _arg1.slice(_local3); } else { _local4 = _local5; _local2.portNumber = _arg1.slice(_local3, _local4); _local3 = (_local4 + 1); _local2.serverName = _arg1.slice(_local3); }; return (_local2); }; if ((((_local5 >= 0)) && ((_local5 < _local6)))){ _local4 = _local5; _local2.serverName = _arg1.slice(_local3, _local4); _local3 = (_local4 + 1); _local4 = _local6; _local2.portNumber = _arg1.slice(_local3, _local4); } else { _local4 = _local6; _local2.serverName = _arg1.slice(_local3, _local4); }; _local3 = (_local4 + 1); }; if (_arg1.charAt(_local3) == "?"){ _local7 = _arg1.slice((_local3 + 1)); _local8 = parseURL(_local7); if ((((_local8.protocol == null)) || (!(_local8.isRTMP)))){ throw (new VideoError(VideoError.INVALID_SOURCE, _arg1)); }; _local2.wrappedURL = "?"; _local2.wrappedURL = (_local2.wrappedURL + _local8.protocol); if (_local8.serverName != null){ _local2.wrappedURL = (_local2.wrappedURL + "/"); _local2.wrappedURL = (_local2.wrappedURL + _local8.serverName); }; if (_local8.portNumber != null){ _local2.wrappedURL = (_local2.wrappedURL + (":" + _local8.portNumber)); }; if (_local8.wrappedURL != null){ _local2.wrappedURL = (_local2.wrappedURL + "/"); _local2.wrappedURL = (_local2.wrappedURL + _local8.wrappedURL); }; _local2.appName = _local8.appName; _local2.streamName = _local8.streamName; return (_local2); }; _local4 = _arg1.indexOf("/", _local3); if (_local4 < 0){ _local2.appName = _arg1.slice(_local3); return (_local2); }; _local2.appName = _arg1.slice(_local3, _local4); _local3 = (_local4 + 1); _local4 = _arg1.indexOf("/", _local3); if (_local4 < 0){ _local2.streamName = _arg1.slice(_local3); if (_local2.streamName.slice(-4).toLowerCase() == ".flv"){ _local2.streamName = _local2.streamName.slice(0, -4); }; return (_local2); }; _local2.appName = (_local2.appName + "/"); _local2.appName = (_local2.appName + _arg1.slice(_local3, _local4)); _local3 = (_local4 + 1); _local2.streamName = _arg1.slice(_local3); if (_local2.streamName.slice(-4).toLowerCase() == ".flv"){ _local2.streamName = _local2.streamName.slice(0, -4); }; } else { _local2.isRTMP = false; _local2.streamName = _arg1; }; return (_local2); } flvplayback_internal function initOtherInfo():void{ _contentPath = null; _streamName = null; _streamWidth = -1; _streamHeight = -1; _streamLength = NaN; _streams = null; _autoSenseBW = false; _payload = 0; _connTypeCounter = 0; cleanConns(); } public function set timeout(_arg1:uint):void{ _timeoutTimer.delay = _arg1; } flvplayback_internal function _onFMSConnectTimeOut(_arg1:TimerEvent=null):void{ cleanConns(); _nc = null; _ncConnected = false; if (!connectAgain()){ _owner.ncConnected(); }; } public function get streamHeight():int{ return (_streamHeight); } flvplayback_internal function connectOnStatus(_arg1:NetStatusEvent):void{ var _local2:ParseResults; _arg1.target.client.pending = false; if (_arg1.info.code == "NetConnection.Connect.Success"){ _nc = _tryNC[_arg1.target.client.connIndex]; cleanConns(); } else { if ((((((_arg1.info.code == "NetConnection.Connect.Rejected")) && (!((_arg1.info.ex == null))))) && ((_arg1.info.ex.code == 302)))){ _connTypeCounter = 0; cleanConns(); _local2 = parseURL(_arg1.info.ex.redirect); if (_local2.isRTMP){ _protocol = _local2.protocol; _serverName = _local2.serverName; _wrappedURL = _local2.wrappedURL; _portNumber = _local2.portNumber; _appName = _local2.appName; if (_local2.streamName != null){ _appName = (_appName + ("/" + _local2.streamName)); }; connectRTMP(); } else { tryFallBack(); }; } else { if ((((((_arg1.info.code == "NetConnection.Connect.Failed")) || ((_arg1.info.code == "NetConnection.Connect.Rejected")))) && ((_arg1.target.client.connIndex == (_tryNC.length - 1))))){ if (!connectAgain()){ tryFallBack(); }; }; }; }; } flvplayback_internal function onReconnected():void{ _ncConnected = true; _owner.ncReconnected(); } flvplayback_internal function tryFallBack():void{ if ((((_serverName == fallbackServerName)) || ((fallbackServerName == null)))){ _nc = null; _ncConnected = false; _owner.ncConnected(); } else { _connTypeCounter = 0; cleanConns(); _serverName = fallbackServerName; connectRTMP(); }; } public function set bitrate(_arg1:Number):void{ if (!_isRTMP){ _bitrate = _arg1; }; } flvplayback_internal function onConnected(_arg1:NetConnection, _arg2:Number):void{ var _local3:Array; var _local4:uint; var _local5:String; _timeoutTimer.stop(); _arg1.removeEventListener(NetStatusEvent.NET_STATUS, connectOnStatus); _nc = _arg1; _ncUri = _nc.uri; _ncConnected = true; if (_autoSenseBW){ _bitrate = (_arg2 * 0x0400); if (_streams != null){ bitrateMatch(); } else { _local3 = _streamName.split(","); _local4 = 0; while (_local4 < _local3.length) { _local5 = stripFrontAndBackWhiteSpace(_local3[_local4]); if ((_local4 + 1) < _local3.length){ if (_arg2 <= Number(_local3[(_local4 + 1)])){ _streamName = _local5; break; }; } else { _streamName = _local5; break; }; _local4 = (_local4 + 2); }; if (_streamName.slice(-4).toLowerCase() == ".flv"){ _streamName = _streamName.slice(0, -4); }; }; }; if (((!(_owner.isLive)) && (isNaN(_streamLength)))){ _nc.call("getStreamLength", new Responder(getStreamLengthResult), _streamName); } else { _owner.ncConnected(); }; } public function close():void{ if (_nc){ _nc.close(); _ncConnected = false; }; } flvplayback_internal static function stripFrontAndBackWhiteSpace(_arg1:String):String{ var _local2:uint; var _local3:uint; var _local4:int; var _local5:int; _local3 = _arg1.length; _local4 = 0; _local5 = _local3; _local2 = 0; for (;_local2 < _local3;_local2++) { switch (_arg1.charCodeAt(_local2)){ case 9: case 10: case 13: case 32: continue; }; _local4 = _local2; break; }; _local2 = _local3; for (;_local2 >= 0;_local2--) { switch (_arg1.charCodeAt(_local2)){ case 9: case 10: case 13: case 32: continue; }; _local5 = (_local2 + 1); break; }; if (_local5 <= _local4){ return (""); }; return (_arg1.slice(_local4, _local5)); } } }//package fl.video
Section 29
//ParseResults (fl.video.ParseResults) package fl.video { public class ParseResults { public var portNumber:String; public var streamName:String; public var serverName:String; public var isRTMP:Boolean; public var appName:String; public var isRelative:Boolean; public var protocol:String; public var wrappedURL:String; } }//package fl.video
Section 30
//QueuedCommand (fl.video.QueuedCommand) package fl.video { public class QueuedCommand { public var type:uint; public var time:Number; public var url:String; public var isLive:Boolean; public static const LOAD:uint = 1; public static const STOP:uint = 3; public static const PLAY_WHEN_ENOUGH:uint = 5; public static const PLAY:uint = 0; public static const PAUSE:uint = 2; public static const SEEK:uint = 4; public function QueuedCommand(_arg1:uint, _arg2:String, _arg3:Boolean, _arg4:Number){ this.type = _arg1; this.url = _arg2; this.isLive = _arg3; this.time = _arg4; } } }//package fl.video
Section 31
//ReconnectClient (fl.video.ReconnectClient) package fl.video { public class ReconnectClient { public var owner:NCManager; public function ReconnectClient(_arg1:NCManager){ this.owner = _arg1; } public function close():void{ } public function onBWDone(... _args):void{ owner.onReconnected(); } } }//package fl.video
Section 32
//SkinErrorEvent (fl.video.SkinErrorEvent) package fl.video { import flash.events.*; public class SkinErrorEvent extends ErrorEvent { public static const SKIN_ERROR:String = "skinError"; public function SkinErrorEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:String=""){ super(_arg1, _arg2, _arg3, _arg4); } override public function clone():Event{ return (new SkinErrorEvent(type, bubbles, cancelable, text)); } } }//package fl.video
Section 33
//SMILManager (fl.video.SMILManager) package fl.video { import flash.net.*; import flash.events.*; public class SMILManager { flvplayback_internal var width:int; flvplayback_internal var xmlLoader:URLLoader; flvplayback_internal var xml:XML; flvplayback_internal var height:int; private var _url:String; flvplayback_internal var videoTags:Array; flvplayback_internal var baseURLAttr:Array; private var _owner:INCManager; public static const VERSION:String = "2.1.0.14"; public static const SHORT_VERSION:String = "2.1"; public function SMILManager(_arg1:INCManager){ _owner = _arg1; width = -1; height = -1; } flvplayback_internal function parseVideo(_arg1:XML):Object{ var _local2:Object; _local2 = new Object(); if (_arg1.@src.length() > 0){ _local2.src = _arg1.@src.toString(); }; if (_arg1.@["system-bitrate"].length() > 0){ _local2.bitrate = int(_arg1.@["system-bitrate"].toString()); }; if (_arg1.@dur.length() > 0){ _local2.dur = parseTime(_arg1.@dur.toString()); }; return (_local2); } flvplayback_internal function connectXML(_arg1:String):Boolean{ _url = fixURL(_arg1); xmlLoader = new URLLoader(); xmlLoader.addEventListener(Event.COMPLETE, xmlLoadEventHandler); xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, xmlLoadEventHandler); xmlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, xmlLoadEventHandler); xmlLoader.load(new URLRequest(_url)); return (false); } flvplayback_internal function parseSwitch(_arg1:XML):void{ var _local2:String; var _local3:XML; for (_local2 in _arg1.*) { _local3 = _arg1.*[_local2]; if (_local3.nodeKind() != "element"){ } else { switch (_local3.localName()){ case "video": case "ref": videoTags.push(parseVideo(_local3)); break; default: break; }; }; }; } flvplayback_internal function fixURL(_arg1:String):String{ var _local2:String; if (/^(http:|https:)/i.test(_arg1)){ _local2 = ((_arg1.indexOf("?"))>=0) ? "&" : "?"; return ((((_arg1 + _local2) + "FLVPlaybackVersion=") + SHORT_VERSION)); }; return (_arg1); } flvplayback_internal function xmlLoadEventHandler(_arg1:Event):void{ var e = _arg1; try { if (e.type != Event.COMPLETE){ _owner.helperDone(this, false); } else { baseURLAttr = new Array(); videoTags = new Array(); xml = new XML(xmlLoader.data); if ((((xml == null)) || ((xml.localName() == null)))){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" No root node found; if url is for an flv it must have .flv extension and take no parameters"))); } else { if (xml.localName() != "smil"){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" Root node not smil"))); }; }; checkForIllegalNodes(xml, "element", ["head", "body"]); if (xml.head.length() > 0){ parseHead(xml.head[0]); }; if (xml.body.length() < 1){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" Tag body is required."))); } else { parseBody(xml.body[0]); }; _owner.helperDone(this, true); }; } catch(err:Error) { _owner.helperDone(this, false); throw (err); } finally { xmlLoader.removeEventListener(Event.COMPLETE, xmlLoadEventHandler); xmlLoader.removeEventListener(IOErrorEvent.IO_ERROR, xmlLoadEventHandler); xmlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, xmlLoadEventHandler); xmlLoader = null; }; } flvplayback_internal function checkForIllegalNodes(_arg1:XML, _arg2:String, _arg3:Array):void{ var _local4:String; var _local5:Boolean; var _local6:XML; var _local7:String; var _local8:String; for (_local4 in _arg1.*) { _local5 = false; _local6 = _arg1.*[_local4]; if (_local6.nodeKind() != _arg2){ } else { _local7 = _local6.localName(); for (_local8 in _arg3) { if (_arg3[_local8] == _local7){ _local5 = true; break; }; }; if (!_local5){ throw (new VideoError(VideoError.INVALID_XML, (((((((("URL: \"" + _url) + "\" ") + _arg2) + " ") + _local7) + " not supported in ") + _arg1.localName()) + " tag."))); }; }; }; } flvplayback_internal function parseHead(_arg1:XML):void{ checkForIllegalNodes(_arg1, "element", ["meta", "layout"]); if (_arg1.meta.length() > 0){ checkForIllegalNodes(_arg1.meta[0], "element", []); checkForIllegalNodes(_arg1.meta[0], "attribute", ["base"]); if (_arg1.meta.@base.length() > 0){ baseURLAttr.push(_arg1.meta.@base.toString()); }; }; if (_arg1.layout.length() > 0){ parseLayout(_arg1.layout[0]); }; } flvplayback_internal function parseBody(_arg1:XML):void{ var _local2:XML; var _local3:String; var _local4:Object; if (((!((_arg1.*.length() == 1))) || (!((_arg1.*[0].nodeKind() == "element"))))){ throw (new VideoError(VideoError.INVALID_XML, (((("URL: \"" + _url) + "\" Tag ") + _arg1.localName()) + " is required to contain exactly one tag."))); }; _local2 = _arg1.*[0]; _local3 = _local2.localName(); switch (_local3){ case "switch": parseSwitch(_local2); break; case "video": case "ref": _local4 = parseVideo(_local2); videoTags.push(_local4); break; default: throw (new VideoError(VideoError.INVALID_XML, (((((("URL: \"" + _url) + "\" Tag ") + _local3) + " not supported in ") + _arg1.localName()) + " tag."))); }; if (videoTags.length < 1){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" At least one video of ref tag is required."))); }; } flvplayback_internal function parseTime(_arg1:String):Number{ var _local2:Object; var _local3:Number; var _local4:Number; _local2 = /^((\d+):)?(\d+):((\d+)(.\d+)?)$/.exec(_arg1); if (_local2 == null){ _local3 = Number(_arg1); if (((isNaN(_local3)) || ((_local3 < 0)))){ throw (new VideoError(VideoError.INVALID_XML, ("Invalid dur value: " + _arg1))); }; return (_local3); //unresolved jump }; _local4 = 0; _local4 = (_local4 + ((uint(_local2[2]) * 60) * 60)); _local4 = (_local4 + (uint(_local2[3]) * 60)); _local4 = (_local4 + Number(_local2[4])); return (_local4); } flvplayback_internal function parseLayout(_arg1:XML):void{ var _local2:XML; var _local3:Number; var _local4:Number; checkForIllegalNodes(_arg1, "element", ["root-layout"]); if (_arg1["root-layout"].length() > 1){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" Only one base attribute supported in meta tag."))); }; if (_arg1["root-layout"].length() > 0){ _local2 = _arg1["root-layout"][0]; if (_local2.@width.length() > 0){ _local3 = Number(_local2.@width[0]); }; if (_local2.@height.length() > 0){ _local4 = Number(_local2.@height[0]); }; if (((((((isNaN(_local3)) || ((_local3 < 0)))) || (isNaN(_local4)))) || ((_local4 < 0)))){ throw (new VideoError(VideoError.INVALID_XML, (((("URL: \"" + _url) + "\" Tag ") + _arg1.localName()) + " requires attributes width and height. Width and height must be numbers greater than or equal to 0."))); }; width = Math.round(_local3); height = Math.round(_local4); }; } } }//package fl.video
Section 34
//SoundEvent (fl.video.SoundEvent) package fl.video { import flash.events.*; import flash.media.*; public class SoundEvent extends Event { private var _soundTransform:SoundTransform; public static const SOUND_UPDATE:String = "soundUpdate"; public function SoundEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:SoundTransform=null){ super(_arg1, _arg2, _arg3); _soundTransform = _arg4; } public function get soundTransform():SoundTransform{ return (_soundTransform); } override public function clone():Event{ return (new SoundEvent(type, bubbles, cancelable, soundTransform)); } } }//package fl.video
Section 35
//UIManager (fl.video.UIManager) package fl.video { import flash.net.*; import flash.events.*; import flash.display.*; import flash.geom.*; import flash.utils.*; public class UIManager { flvplayback_internal var cacheStageBGColor:uint; flvplayback_internal var _bufferingDelayTimer:Timer; public var ctrlDataDict:Dictionary; flvplayback_internal var _skinAutoHide:Boolean; flvplayback_internal var placeholderLeft:Number; flvplayback_internal var _playAfterScrub:Boolean; public var customClips:Array; flvplayback_internal var _skinFadeStartTime:int; flvplayback_internal var delayedControls:Array; flvplayback_internal var _lastScrubPos:Number; flvplayback_internal var _skinAutoHideLastMotionTime:int; flvplayback_internal var _volumeBarTimer:Timer; flvplayback_internal var cacheFLVPlaybackScaleMode:Array; flvplayback_internal var borderScale9Rects:Array; flvplayback_internal var _volumeBarScrubTolerance:Number; flvplayback_internal var fullScreenSourceRectMinAspectRatio:Number; flvplayback_internal var _skin:String; flvplayback_internal var fullScreenSourceRectMinHeight:uint; flvplayback_internal var videoRight:Number; flvplayback_internal var _bufferingBarHides:Boolean; flvplayback_internal var placeholderRight:Number; flvplayback_internal var cachedSoundLevel:Number; flvplayback_internal var videoBottom:Number; flvplayback_internal var border_mc:DisplayObject; flvplayback_internal var borderAlpha:Number; flvplayback_internal var borderColorTransform:ColorTransform; flvplayback_internal var _skinFadingTimer:Timer; flvplayback_internal var __visible:Boolean; flvplayback_internal var borderColor:uint; flvplayback_internal var cacheFLVPlaybackIndex:int; flvplayback_internal var cacheFLVPlaybackLocation:Rectangle; flvplayback_internal var _skinReady:Boolean; flvplayback_internal var controls:Array; flvplayback_internal var cacheFLVPlaybackAlign:Array; flvplayback_internal var _skinAutoHideMouseX:Number; flvplayback_internal var _skinAutoHideMouseY:Number; flvplayback_internal var layout_mc:Sprite; flvplayback_internal var cacheSkinAutoHide:Boolean; flvplayback_internal var cacheStageScaleMode:String; flvplayback_internal var videoTop:Number; flvplayback_internal var _skinFadingMaxTime:int; flvplayback_internal var placeholderTop:Number; flvplayback_internal var _lastVolumePos:Number; flvplayback_internal var mouseCaptureCtrl:int; flvplayback_internal var _seekBarScrubTolerance:Number; flvplayback_internal var borderPrevRect:Rectangle; flvplayback_internal var skinTemplate:Sprite; flvplayback_internal var _progressPercent:Number; flvplayback_internal var videoLeft:Number; flvplayback_internal var _fullScreenVideoWidth:Number; flvplayback_internal var _isMuted:Boolean; flvplayback_internal var _skinAutoHideTimer:Timer; flvplayback_internal var _fullScreenBgColor:uint; flvplayback_internal var _vc:FLVPlayback; flvplayback_internal var _bufferingOn:Boolean; flvplayback_internal var _seekBarTimer:Timer; flvplayback_internal var _controlsEnabled:Boolean; flvplayback_internal var _fullScreen:Boolean; flvplayback_internal var placeholderBottom:Number; flvplayback_internal var fullScreenSourceRectMinWidth:uint; flvplayback_internal var _fullScreenTakeOver:Boolean; flvplayback_internal var skin_mc:Sprite; flvplayback_internal var _fullScreenAccel:Boolean; flvplayback_internal var _fullScreenVideoHeight:Number; flvplayback_internal var skinLoadDelayCount:uint; flvplayback_internal var _skinFadingIn:Boolean; flvplayback_internal var _skinAutoHideMotionTimeout:int; flvplayback_internal var borderCopy:Sprite; flvplayback_internal var cacheStageAlign:String; flvplayback_internal var cacheFLVPlaybackParent:DisplayObjectContainer; flvplayback_internal var skinLoader:Loader; flvplayback_internal var _skinScaleMaximum:Number; public static const VOLUME_BAR_HIT:int = 12; public static const MUTE_OFF_BUTTON:int = 10; public static const BACK_BUTTON:int = 5; public static const FORWARD_BUTTON:int = 6; public static const STOP_BUTTON:int = 2; public static const NUM_BUTTONS:int = 13; public static const NORMAL_STATE:uint = 0; public static const SEEK_BAR_HANDLE:int = 3; public static const PLAY_BUTTON:int = 1; public static const MUTE_BUTTON:int = 15; public static const DOWN_STATE:uint = 2; public static const SEEK_BAR_SCRUB_TOLERANCE_DEFAULT:Number = 5; public static const FULL_SCREEN_OFF_BUTTON:int = 8; flvplayback_internal static const SKIN_AUTO_HIDE_MOTION_TIMEOUT_DEFAULT:Number = 3000; public static const SEEK_BAR:int = 17; public static const VOLUME_BAR_SCRUB_TOLERANCE_DEFAULT:Number = 0; public static const FULL_SCREEN_ON_BUTTON:int = 7; public static const FULL_SCREEN_BUTTON:int = 14; public static const BUFFERING_BAR:int = 16; public static const VERSION:String = "2.1.0.14"; public static const VOLUME_BAR_HANDLE:int = 11; public static const PAUSE_BUTTON:int = 0; flvplayback_internal static const SKIN_AUTO_HIDE_INTERVAL:Number = 200; public static const OVER_STATE:uint = 1; flvplayback_internal static const SKIN_FADING_INTERVAL:Number = 100; public static const VOLUME_BAR:int = 18; public static const SHORT_VERSION:String = "2.1"; public static const SEEK_BAR_INTERVAL_DEFAULT:Number = 250; flvplayback_internal static const SKIN_FADING_MAX_TIME_DEFAULT:Number = 500; public static const SEEK_BAR_HIT:int = 4; public static const PLAY_PAUSE_BUTTON:int = 13; public static const BUFFERING_DELAY_INTERVAL_DEFAULT:Number = 1000; public static const MUTE_ON_BUTTON:int = 9; public static const FULL_SCREEN_SOURCE_RECT_MIN_HEIGHT:uint = 240; public static const NUM_CONTROLS:int = 19; public static const VOLUME_BAR_INTERVAL_DEFAULT:Number = 250; public static const FULL_SCREEN_SOURCE_RECT_MIN_WIDTH:uint = 320; flvplayback_internal static var layoutNameToIndexMappings:Object = null; flvplayback_internal static var buttonSkinLinkageIDs:Array = ["upLinkageID", "overLinkageID", "downLinkageID"]; flvplayback_internal static var layoutNameArray:Array = ["pause_mc", "play_mc", "stop_mc", null, null, "back_mc", "forward_mc", null, null, null, null, null, null, "playpause_mc", "fullScreenToggle_mc", "volumeMute_mc", "bufferingBar_mc", "seekBar_mc", "volumeBar_mc", "seekBarHandle_mc", "seekBarHit_mc", "seekBarProgress_mc", "seekBarFullness_mc", "volumeBarHandle_mc", "volumeBarHit_mc", "volumeBarProgress_mc", "volumeBarFullness_mc", "progressFill_mc"]; flvplayback_internal static var skinClassPrefixes:Array = ["pauseButton", "playButton", "stopButton", null, null, "backButton", "forwardButton", "fullScreenButtonOn", "fullScreenButtonOff", "muteButtonOn", "muteButtonOff", null, null, null, null, null, "bufferingBar", "seekBar", "volumeBar"]; flvplayback_internal static var customComponentClassNames:Array = ["PauseButton", "PlayButton", "StopButton", null, null, "BackButton", "ForwardButton", null, null, null, null, null, null, "PlayPauseButton", "FullScreenButton", "MuteButton", "BufferingBar", "SeekBar", "VolumeBar"]; public function UIManager(_arg1:FLVPlayback){ var vc = _arg1; super(); _vc = vc; _skin = null; _skinAutoHide = false; cacheSkinAutoHide = _skinAutoHide; _skinFadingMaxTime = SKIN_FADING_MAX_TIME_DEFAULT; _skinAutoHideMotionTimeout = SKIN_AUTO_HIDE_MOTION_TIMEOUT_DEFAULT; _skinReady = true; __visible = false; _bufferingBarHides = false; _controlsEnabled = true; _lastScrubPos = 0; _lastVolumePos = 0; cachedSoundLevel = _vc.volume; _isMuted = false; controls = new Array(); customClips = null; ctrlDataDict = new Dictionary(true); skin_mc = null; skinLoader = null; skinTemplate = null; layout_mc = null; border_mc = null; borderCopy = null; borderPrevRect = null; borderScale9Rects = null; borderAlpha = 0.85; borderColor = 4697035; borderColorTransform = new ColorTransform(0, 0, 0, 0, 71, 171, 203, (0xFF * borderAlpha)); _seekBarScrubTolerance = SEEK_BAR_SCRUB_TOLERANCE_DEFAULT; _volumeBarScrubTolerance = VOLUME_BAR_SCRUB_TOLERANCE_DEFAULT; _bufferingOn = false; mouseCaptureCtrl = -1; _seekBarTimer = new Timer(SEEK_BAR_INTERVAL_DEFAULT); _seekBarTimer.addEventListener(TimerEvent.TIMER, seekBarListener); _volumeBarTimer = new Timer(VOLUME_BAR_INTERVAL_DEFAULT); _volumeBarTimer.addEventListener(TimerEvent.TIMER, volumeBarListener); _bufferingDelayTimer = new Timer(BUFFERING_DELAY_INTERVAL_DEFAULT, 1); _bufferingDelayTimer.addEventListener(TimerEvent.TIMER, doBufferingDelay); _skinAutoHideTimer = new Timer(SKIN_AUTO_HIDE_INTERVAL); _skinAutoHideTimer.addEventListener(TimerEvent.TIMER, skinAutoHideHitTest); _skinFadingTimer = new Timer(SKIN_FADING_INTERVAL); _skinFadingTimer.addEventListener(TimerEvent.TIMER, skinFadeMore); _vc.addEventListener(MetadataEvent.METADATA_RECEIVED, handleIVPEvent); _vc.addEventListener(VideoEvent.PLAYHEAD_UPDATE, handleIVPEvent); _vc.addEventListener(VideoProgressEvent.PROGRESS, handleIVPEvent); _vc.addEventListener(VideoEvent.STATE_CHANGE, handleIVPEvent); _vc.addEventListener(VideoEvent.READY, handleIVPEvent); _vc.addEventListener(LayoutEvent.LAYOUT, handleLayoutEvent); _vc.addEventListener(AutoLayoutEvent.AUTO_LAYOUT, handleLayoutEvent); _vc.addEventListener(SoundEvent.SOUND_UPDATE, handleSoundEvent); _vc.addEventListener(Event.ADDED_TO_STAGE, handleEvent); _vc.addEventListener(Event.REMOVED_FROM_STAGE, handleEvent); fullScreenSourceRectMinWidth = FULL_SCREEN_SOURCE_RECT_MIN_WIDTH; fullScreenSourceRectMinHeight = FULL_SCREEN_SOURCE_RECT_MIN_HEIGHT; fullScreenSourceRectMinAspectRatio = (FULL_SCREEN_SOURCE_RECT_MIN_WIDTH / FULL_SCREEN_SOURCE_RECT_MIN_HEIGHT); _fullScreen = false; _fullScreenTakeOver = true; _fullScreenBgColor = 0; _fullScreenAccel = false; if (_vc.stage != null){ try { _fullScreen = (_vc.stage.displayState == StageDisplayState.FULL_SCREEN); _vc.stage.addEventListener(FullScreenEvent.FULL_SCREEN, handleFullScreenEvent); } catch(se:SecurityError) { }; }; if (layoutNameToIndexMappings == null){ initLayoutNameToIndexMappings(); }; } public function get seekBarScrubTolerance():Number{ return (_seekBarScrubTolerance); } flvplayback_internal function removeButtonListeners(_arg1:Sprite):void{ if (_arg1 == null){ return; }; _arg1.removeEventListener(MouseEvent.ROLL_OVER, handleButtonEvent); _arg1.removeEventListener(MouseEvent.ROLL_OUT, handleButtonEvent); _arg1.removeEventListener(MouseEvent.MOUSE_DOWN, handleButtonEvent); _arg1.removeEventListener(MouseEvent.CLICK, handleButtonEvent); _arg1.removeEventListener(Event.ENTER_FRAME, skinButtonControl); } public function set skinFadeTime(_arg1:int):void{ _skinFadingMaxTime = _arg1; } public function get skinFadeTime():int{ return (_skinFadingMaxTime); } flvplayback_internal function finishLoad(_arg1:Event):void{ var i:int; var cachedActivePlayerIndex:int; var state:String; var j:int; var e = _arg1; try { skinLoadDelayCount++; if (skinLoadDelayCount < 2){ return; } else { _vc.removeEventListener(Event.ENTER_FRAME, finishLoad); }; i = 0; while (i < NUM_CONTROLS) { if (delayedControls[i] != undefined){ setControl(i, delayedControls[i]); }; i = (i + 1); }; if (_fullScreenTakeOver){ enterFullScreenTakeOver(); } else { exitFullScreenTakeOver(); }; layoutSkin(); setupSkinAutoHide(false); skin_mc.visible = __visible; _vc.addChild(skin_mc); _skinReady = true; _vc.skinLoaded(); cachedActivePlayerIndex = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; state = _vc.state; j = 0; while (j < NUM_CONTROLS) { if (controls[j] == undefined){ } else { setEnabledAndVisibleForState(j, state); if (j < NUM_BUTTONS){ skinButtonControl(controls[j]); }; }; j = (j + 1); }; _vc.activeVideoPlayerIndex = cachedActivePlayerIndex; } catch(err:Error) { _vc.skinError(err.message); removeSkin(); }; } flvplayback_internal function downloadSkin():void{ if (skinLoader == null){ skinLoader = new Loader(); skinLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoad); skinLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleLoadErrorEvent); skinLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleLoadErrorEvent); }; skinLoader.load(new URLRequest(_skin)); } flvplayback_internal function removeSkin():void{ var i:int; if (skinLoader != null){ try { skinLoader.close(); } catch(e1:Error) { }; skinLoader = null; }; if (skin_mc != null){ i = 0; while (i < NUM_CONTROLS) { if (controls[i] == undefined){ } else { if (i < NUM_BUTTONS){ removeButtonListeners(controls[i]); }; delete ctrlDataDict[controls[i]]; delete controls[i]; }; i = (i + 1); }; try { skin_mc.parent.removeChild(skin_mc); } catch(e2:Error) { }; skin_mc = null; }; skinTemplate = null; layout_mc = null; border_mc = null; borderCopy = null; borderPrevRect = null; borderScale9Rects = null; } flvplayback_internal function positionBar(_arg1:Sprite, _arg2:String, _arg3:Number):void{ var ctrlData:ControlData; var bar:DisplayObject; var barData:ControlData; var ctrl = _arg1; var type = _arg2; var percent = _arg3; try { if ((((ctrl["positionBar"] is Function)) && (ctrl["positionBar"](type, percent)))){ return; }; } catch(re2:ReferenceError) { }; ctrlData = ctrlDataDict[ctrl]; bar = ctrlData[(type + "_mc")]; if (bar == null){ return; }; barData = ctrlDataDict[bar]; if (bar.parent == ctrl){ if (barData.fill_mc == null){ bar.scaleX = ((barData.origScaleX * percent) / 100); } else { positionMaskedFill(bar, percent); }; } else { bar.x = (ctrl.x + barData.leftMargin); bar.y = (ctrl.y + barData.origY); if (barData.fill_mc == null){ bar.width = ((((ctrl.width - barData.leftMargin) - barData.rightMargin) * percent) / 100); } else { positionMaskedFill(bar, percent); }; }; } flvplayback_internal function setupButtonSkin(_arg1:int):Sprite{ var _local2:String; var _local3:Sprite; var _local4:ControlData; _local2 = skinClassPrefixes[_arg1]; if (_local2 == null){ return (null); }; _local3 = new Sprite(); _local4 = new ControlData(this, _local3, null, _arg1); ctrlDataDict[_local3] = _local4; _local4.state_mc = new Array(); _local4.state_mc[NORMAL_STATE] = setupButtonSkinState(_local3, skinTemplate, (_local2 + "NormalState")); _local4.state_mc[NORMAL_STATE].visible = true; _local4.state_mc[OVER_STATE] = setupButtonSkinState(_local3, skinTemplate, (_local2 + "OverState"), _local4.state_mc[NORMAL_STATE]); _local4.state_mc[DOWN_STATE] = setupButtonSkinState(_local3, skinTemplate, (_local2 + "DownState"), _local4.state_mc[NORMAL_STATE]); _local4.disabled_mc = setupButtonSkinState(_local3, skinTemplate, (_local2 + "DisabledState"), _local4.state_mc[NORMAL_STATE]); return (_local3); } public function get skinReady():Boolean{ return (_skinReady); } public function get skinAutoHide():Boolean{ return (_skinAutoHide); } flvplayback_internal function dispatchMessage(_arg1:int):void{ var cachedActivePlayerIndex:int; var ctrl:Sprite; var ctrlData:ControlData; var handle:Sprite; var index = _arg1; if ((((index == SEEK_BAR_HANDLE)) || ((index == SEEK_BAR_HIT)))){ _vc._scrubStart(); }; cachedActivePlayerIndex = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; switch (index){ case PAUSE_BUTTON: _vc.pause(); break; case PLAY_BUTTON: _vc.play(); break; case STOP_BUTTON: _vc.stop(); break; case SEEK_BAR_HIT: case SEEK_BAR_HANDLE: ctrl = controls[SEEK_BAR]; ctrlData = ctrlDataDict[ctrl]; calcPercentageFromHandle(ctrl); _lastScrubPos = ctrlData.percentage; if (index == SEEK_BAR_HIT){ handle = controls[SEEK_BAR_HANDLE]; handle.x = handle.parent.mouseX; handle.y = handle.parent.mouseY; }; _vc.removeEventListener(VideoEvent.PLAYHEAD_UPDATE, handleIVPEvent); if (((_vc.playing) || (_vc.buffering))){ _playAfterScrub = true; } else { if (_vc.state != VideoState.SEEKING){ _playAfterScrub = false; }; }; _seekBarTimer.start(); startHandleDrag(ctrl); _vc.pause(); break; case VOLUME_BAR_HIT: case VOLUME_BAR_HANDLE: ctrl = controls[VOLUME_BAR]; ctrlData = ctrlDataDict[ctrl]; calcPercentageFromHandle(ctrl); _lastVolumePos = ctrlData.percentage; if (index == VOLUME_BAR_HIT){ handle = controls[VOLUME_BAR_HANDLE]; handle.x = handle.parent.mouseX; handle.y = handle.parent.mouseY; }; _vc.removeEventListener(SoundEvent.SOUND_UPDATE, handleSoundEvent); _volumeBarTimer.start(); startHandleDrag(ctrl); break; case BACK_BUTTON: _vc.seekToPrevNavCuePoint(); break; case FORWARD_BUTTON: _vc.seekToNextNavCuePoint(); break; case MUTE_ON_BUTTON: if (!_isMuted){ _isMuted = true; cachedSoundLevel = _vc.volume; _vc.volume = 0; setEnabledAndVisibleForState(MUTE_OFF_BUTTON, VideoState.PLAYING); skinButtonControl(controls[MUTE_OFF_BUTTON]); setEnabledAndVisibleForState(MUTE_ON_BUTTON, VideoState.PLAYING); skinButtonControl(controls[MUTE_ON_BUTTON]); }; break; case MUTE_OFF_BUTTON: if (_isMuted){ _isMuted = false; _vc.volume = cachedSoundLevel; setEnabledAndVisibleForState(MUTE_OFF_BUTTON, VideoState.PLAYING); skinButtonControl(controls[MUTE_OFF_BUTTON]); setEnabledAndVisibleForState(MUTE_ON_BUTTON, VideoState.PLAYING); skinButtonControl(controls[MUTE_ON_BUTTON]); }; break; case FULL_SCREEN_ON_BUTTON: if (((!(_fullScreen)) && (!((_vc.stage == null))))){ enterFullScreenDisplayState(); setEnabledAndVisibleForState(FULL_SCREEN_OFF_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_OFF_BUTTON]); setEnabledAndVisibleForState(FULL_SCREEN_ON_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_ON_BUTTON]); }; break; case FULL_SCREEN_OFF_BUTTON: if (((_fullScreen) && (!((_vc.stage == null))))){ try { _vc.stage.displayState = StageDisplayState.NORMAL; } catch(se:SecurityError) { }; setEnabledAndVisibleForState(FULL_SCREEN_OFF_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_OFF_BUTTON]); setEnabledAndVisibleForState(FULL_SCREEN_ON_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_ON_BUTTON]); }; break; default: throw (new Error("Unknown ButtonControl")); }; _vc.activeVideoPlayerIndex = cachedActivePlayerIndex; } flvplayback_internal function handleFullScreenEvent(_arg1:FullScreenEvent):void{ _fullScreen = _arg1.fullScreen; setEnabledAndVisibleForState(FULL_SCREEN_OFF_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_OFF_BUTTON]); setEnabledAndVisibleForState(FULL_SCREEN_ON_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_ON_BUTTON]); if (((_fullScreen) && (_fullScreenTakeOver))){ enterFullScreenTakeOver(); } else { if (!_fullScreen){ exitFullScreenTakeOver(); }; }; } flvplayback_internal function handleLayoutEvent(_arg1:LayoutEvent):void{ var _local2:int; if (((((((_fullScreen) && (_fullScreenTakeOver))) && (_fullScreenAccel))) && (!((_vc.stage == null))))){ if (((((((((!((_vc.registrationX == 0))) || (!((_vc.registrationY == 0))))) || (!((_vc.parent == _vc.stage))))) || (!((_vc.registrationWidth == _vc.stage.stageWidth))))) || (!((_vc.registrationHeight == _vc.stage.stageHeight))))){ _vc.stage.displayState = StageDisplayState.NORMAL; return; }; _local2 = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; if (_vc.align != VideoAlign.CENTER){ cacheFLVPlaybackAlign[_vc.visibleVideoPlayerIndex] = _vc.align; _vc.align = VideoAlign.CENTER; }; if (_vc.scaleMode != VideoScaleMode.MAINTAIN_ASPECT_RATIO){ cacheFLVPlaybackScaleMode[_vc.visibleVideoPlayerIndex] = _vc.scaleMode; _vc.scaleMode = VideoScaleMode.MAINTAIN_ASPECT_RATIO; _vc.activeVideoPlayerIndex = _local2; return; }; _vc.activeVideoPlayerIndex = _local2; }; layoutSkin(); setupSkinAutoHide(false); } flvplayback_internal function seekBarListener(_arg1:TimerEvent):void{ var _local2:int; var _local3:Sprite; var _local4:ControlData; var _local5:Number; _local2 = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; _local3 = controls[SEEK_BAR]; if (_local3 == null){ return; }; _local4 = ctrlDataDict[_local3]; calcPercentageFromHandle(_local3); _local5 = _local4.percentage; if (_arg1 == null){ _seekBarTimer.stop(); if (_local5 != _lastScrubPos){ _vc.seekPercent(_local5); }; _vc.addEventListener(VideoEvent.PLAYHEAD_UPDATE, handleIVPEvent); if (_playAfterScrub){ _vc.play(); }; } else { if (_vc.getVideoPlayer(_vc.visibleVideoPlayerIndex).state == VideoState.SEEKING){ } else { if ((((((((_seekBarScrubTolerance <= 0)) || ((Math.abs((_local5 - _lastScrubPos)) > _seekBarScrubTolerance)))) || ((_local5 < _seekBarScrubTolerance)))) || ((_local5 > (100 - _seekBarScrubTolerance))))){ if (_local5 != _lastScrubPos){ _lastScrubPos = _local5; _vc.seekPercent(_local5); }; }; }; }; _vc.activeVideoPlayerIndex = _local2; } public function get seekBarInterval():Number{ return (_seekBarTimer.delay); } public function set skinAutoHide(_arg1:Boolean):void{ if (_arg1 == _skinAutoHide){ return; }; _skinAutoHide = _arg1; cacheSkinAutoHide = _arg1; setupSkinAutoHide(true); } flvplayback_internal function setCustomClip(_arg1:DisplayObject):void{ var dCopy:DisplayObject; var ctrlData:ControlData; var scale9Grid:Rectangle; var diff:Number; var numBorderBitmaps:int; var i:int; var lastXDim:Number; var floorLastXDim:Number; var lastYDim:Number; var floorLastYDim:Number; var newRect:Rectangle; var dispObj = _arg1; dCopy = new (dispObj["constructor"]); skin_mc.addChild(dCopy); ctrlData = new ControlData(this, dCopy, null, -1); ctrlDataDict[dCopy] = ctrlData; ctrlData.avatar = dispObj; customClips.push(dCopy); if (dispObj.name == "border_mc"){ border_mc = dCopy; try { borderCopy = (ctrlData.avatar["colorMe"]) ? new Sprite() : null; } catch(re:ReferenceError) { borderCopy = null; }; if (borderCopy != null){ border_mc.visible = false; scale9Grid = border_mc.scale9Grid; scale9Grid.x = Math.round(scale9Grid.x); scale9Grid.y = Math.round(scale9Grid.y); scale9Grid.width = Math.round(scale9Grid.width); diff = ((scale9Grid.x + scale9Grid.width) - border_mc.scale9Grid.right); if (diff > 0.5){ scale9Grid.width--; } else { if (diff < -0.5){ scale9Grid.width++; }; }; scale9Grid.height = Math.round(scale9Grid.height); diff = ((scale9Grid.y + scale9Grid.height) - border_mc.scale9Grid.bottom); if (diff > 0.5){ scale9Grid.height--; } else { if (diff < -0.5){ scale9Grid.height++; }; }; if (scale9Grid != null){ borderScale9Rects = new Array(); lastXDim = (border_mc.width - (scale9Grid.x + scale9Grid.width)); floorLastXDim = Math.floor(lastXDim); if ((lastXDim - floorLastXDim) < 0.05){ lastXDim = floorLastXDim; } else { lastXDim = (floorLastXDim + 1); }; lastYDim = (border_mc.height - (scale9Grid.y + scale9Grid.height)); floorLastYDim = Math.floor(lastYDim); if ((lastYDim - floorLastYDim) < 0.05){ lastYDim = floorLastYDim; } else { lastYDim = (floorLastYDim + 1); }; newRect = new Rectangle(0, 0, scale9Grid.x, scale9Grid.y); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle(scale9Grid.x, 0, scale9Grid.width, scale9Grid.y); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle((scale9Grid.x + scale9Grid.width), 0, lastXDim, scale9Grid.y); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle(0, scale9Grid.y, scale9Grid.x, scale9Grid.height); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle(scale9Grid.x, scale9Grid.y, scale9Grid.width, scale9Grid.height); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle((scale9Grid.x + scale9Grid.width), scale9Grid.y, lastXDim, scale9Grid.height); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle(0, (scale9Grid.y + scale9Grid.height), scale9Grid.x, lastYDim); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle(scale9Grid.x, (scale9Grid.y + scale9Grid.height), scale9Grid.width, lastYDim); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle((scale9Grid.x + scale9Grid.width), (scale9Grid.y + scale9Grid.height), lastXDim, lastYDim); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); i = 0; while (i < borderScale9Rects.length) { if (borderScale9Rects[i] != null){ break; }; i = (i + 1); }; if (i >= borderScale9Rects.length){ borderScale9Rects = null; }; }; numBorderBitmaps = ((borderScale9Rects)==null) ? 1 : 9; i = 0; while (i < numBorderBitmaps) { if ((((borderScale9Rects == null)) || (!((borderScale9Rects[i] == null))))){ borderCopy.addChild(new Bitmap()); }; i = (i + 1); }; skin_mc.addChild(borderCopy); borderPrevRect = null; }; }; } public function get fullScreenSkinDelay():int{ return (_skinAutoHideMotionTimeout); } flvplayback_internal function doBufferingDelay(_arg1:TimerEvent):void{ var _local2:int; _bufferingDelayTimer.reset(); _local2 = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; if (_vc.state == VideoState.BUFFERING){ _bufferingOn = true; handleIVPEvent(new VideoEvent(VideoEvent.STATE_CHANGE, false, false, VideoState.BUFFERING, NaN, _vc.visibleVideoPlayerIndex)); }; _vc.activeVideoPlayerIndex = _local2; } flvplayback_internal function volumeBarListener(_arg1:TimerEvent):void{ var _local2:Sprite; var _local3:ControlData; var _local4:Number; var _local5:Boolean; _local2 = controls[VOLUME_BAR]; if (_local2 == null){ return; }; _local3 = ctrlDataDict[_local2]; calcPercentageFromHandle(_local2); _local4 = _local3.percentage; _local5 = (_arg1 == null); if (_local5){ _volumeBarTimer.stop(); _vc.addEventListener(SoundEvent.SOUND_UPDATE, handleSoundEvent); }; if (((((((((_local5) || ((_volumeBarScrubTolerance <= 0)))) || ((Math.abs((_local4 - _lastVolumePos)) > _volumeBarScrubTolerance)))) || ((_local4 < _volumeBarScrubTolerance)))) || ((_local4 > (100 - _volumeBarScrubTolerance))))){ if (_local4 != _lastVolumePos){ if (_isMuted){ cachedSoundLevel = (_local4 / 100); } else { _vc.volume = (_local4 / 100); }; _lastVolumePos = _local4; }; }; } public function get visible():Boolean{ return (__visible); } flvplayback_internal function fixUpBar(_arg1:DisplayObject, _arg2:String, _arg3:DisplayObject, _arg4:String):void{ var ctrlData:ControlData; var bar:DisplayObject; var barData:ControlData; var definitionHolder = _arg1; var propPrefix = _arg2; var ctrl = _arg3; var name = _arg4; ctrlData = ctrlDataDict[ctrl]; if (ctrlData[name] != null){ return; }; try { bar = ctrl[name]; } catch(re:ReferenceError) { bar = null; }; if (bar == null){ try { bar = createSkin(definitionHolder, (propPrefix + "LinkageID")); } catch(ve:VideoError) { bar = null; }; if (bar == null){ return; }; if (ctrl.parent != null){ if (getBooleanPropSafe(ctrl, (propPrefix + "Below"))){ ctrl.parent.addChildAt(bar, ctrl.parent.getChildIndex(ctrl)); } else { ctrl.parent.addChild(bar); }; }; }; ctrlData[name] = bar; barData = ctrlDataDict[bar]; if (barData == null){ barData = new ControlData(this, bar, ctrl, -1); ctrlDataDict[bar] = barData; }; } public function get volumeBarInterval():Number{ return (_volumeBarTimer.delay); } public function get bufferingBarHidesAndDisablesOthers():Boolean{ return (_bufferingBarHides); } flvplayback_internal function calcLayoutControl(_arg1:DisplayObject):Rectangle{ var rect:Rectangle; var ctrlData:ControlData; var anchorRight:Boolean; var anchorLeft:Boolean; var anchorTop:Boolean; var anchorBottom:Boolean; var ctrl = _arg1; rect = new Rectangle(); if (ctrl == null){ return (rect); }; ctrlData = ctrlDataDict[ctrl]; if (ctrlData == null){ return (rect); }; if (ctrlData.avatar == null){ return (rect); }; anchorRight = false; anchorLeft = true; anchorTop = false; anchorBottom = true; try { anchorRight = ctrlData.avatar["anchorRight"]; } catch(re1:ReferenceError) { anchorRight = false; }; try { anchorLeft = ctrlData.avatar["anchorLeft"]; } catch(re1:ReferenceError) { anchorLeft = true; }; try { anchorTop = ctrlData.avatar["anchorTop"]; } catch(re1:ReferenceError) { anchorTop = false; }; try { anchorBottom = ctrlData.avatar["anchorBottom"]; } catch(re1:ReferenceError) { anchorBottom = true; }; if (anchorRight){ if (anchorLeft){ rect.x = ((ctrlData.avatar.x - placeholderLeft) + videoLeft); rect.width = ((((ctrlData.avatar.x + ctrlData.avatar.width) - placeholderRight) + videoRight) - rect.x); ctrlData.origWidth = NaN; } else { rect.x = ((ctrlData.avatar.x - placeholderRight) + videoRight); rect.width = ctrl.width; }; } else { rect.x = ((ctrlData.avatar.x - placeholderLeft) + videoLeft); rect.width = ctrl.width; }; if (anchorTop){ if (anchorBottom){ rect.y = ((ctrlData.avatar.y - placeholderTop) + videoTop); rect.height = ((((ctrlData.avatar.y + ctrlData.avatar.height) - placeholderBottom) + videoBottom) - rect.y); ctrlData.origHeight = NaN; } else { rect.y = ((ctrlData.avatar.y - placeholderTop) + videoTop); rect.height = ctrl.height; }; } else { rect.y = ((ctrlData.avatar.y - placeholderBottom) + videoBottom); rect.height = ctrl.height; }; try { if ((ctrl["layoutSelf"] is Function)){ rect = ctrl["layoutSelf"](rect); }; } catch(re3:ReferenceError) { }; return (rect); } flvplayback_internal function skinFadeMore(_arg1:TimerEvent):void{ var _local2:Number; if (((((!(_skinFadingIn)) && ((skin_mc.alpha <= 0.5)))) || (((_skinFadingIn) && ((skin_mc.alpha >= 0.95)))))){ skin_mc.visible = _skinFadingIn; skin_mc.alpha = 1; _skinFadingTimer.stop(); } else { _local2 = ((getTimer() - _skinFadeStartTime) / _skinFadingMaxTime); if (!_skinFadingIn){ _local2 = (1 - _local2); }; if (_local2 < 0){ _local2 = 0; } else { if (_local2 > 1){ _local2 = 1; }; }; skin_mc.alpha = _local2; }; } flvplayback_internal function bitmapCopyBorder():void{ var _local1:Rectangle; var _local2:BitmapData; var _local3:Matrix; var _local4:Number; var _local5:Number; var _local6:Rectangle; var _local7:int; var _local8:Number; var _local9:Number; var _local10:int; var _local11:Bitmap; var _local12:Number; var _local13:Number; if ((((border_mc == null)) || ((borderCopy == null)))){ return; }; _local1 = border_mc.getBounds(skin_mc); if ((((borderPrevRect == null)) || (!(borderPrevRect.equals(_local1))))){ borderCopy.x = _local1.x; borderCopy.y = _local1.y; _local3 = new Matrix(border_mc.scaleX, 0, 0, border_mc.scaleY, 0, 0); if (borderScale9Rects == null){ _local2 = new BitmapData(_local1.width, _local1.height, true, 0); _local2.draw(border_mc, _local3, borderColorTransform); Bitmap(borderCopy.getChildAt(0)).bitmapData = _local2; } else { _local4 = 0; _local5 = 0; _local6 = new Rectangle(0, 0, 0, 0); _local7 = 0; _local8 = 0; if (borderScale9Rects[3] != null){ _local8 = (_local8 + borderScale9Rects[3].width); }; if (borderScale9Rects[5] != null){ _local8 = (_local8 + borderScale9Rects[5].width); }; _local9 = 0; if (borderScale9Rects[1] != null){ _local9 = (_local9 + borderScale9Rects[1].height); }; if (borderScale9Rects[7] != null){ _local9 = (_local9 + borderScale9Rects[7].height); }; _local10 = 0; while (_local10 < borderScale9Rects.length) { if ((_local10 % 3) == 0){ _local4 = 0; _local5 = (_local5 + _local6.height); }; if (borderScale9Rects[_local10] == null){ } else { _local6 = Rectangle(borderScale9Rects[_local10]).clone(); _local3.a = 1; if ((((((_local10 == 1)) || ((_local10 == 4)))) || ((_local10 == 7)))){ _local12 = ((_local1.width - _local8) / _local6.width); _local6.x = (_local6.x * _local12); _local6.width = (_local6.width * _local12); _local6.width = Math.round(_local6.width); _local3.a = (_local3.a * _local12); }; _local3.tx = -(_local6.x); _local6.x = 0; _local3.d = 1; if ((((_local10 >= 3)) && ((_local10 <= 5)))){ _local13 = ((_local1.height - _local9) / _local6.height); _local6.y = (_local6.y * _local13); _local6.height = (_local6.height * _local13); _local6.height = Math.round(_local6.height); _local3.d = (_local3.d * _local13); }; _local3.ty = -(_local6.y); _local6.y = 0; _local2 = new BitmapData(_local6.width, _local6.height, true, 0); _local2.draw(border_mc, _local3, borderColorTransform, null, _local6, false); _local11 = Bitmap(borderCopy.getChildAt(_local7)); _local7++; _local11.bitmapData = _local2; _local11.x = _local4; _local11.y = _local5; _local4 = (_local4 + _local6.width); }; _local10++; }; }; borderPrevRect = _local1; }; } flvplayback_internal function resetPlayPause():void{ var _local1:int; if (controls[PLAY_PAUSE_BUTTON] == undefined){ return; }; _local1 = PAUSE_BUTTON; while (_local1 <= PLAY_BUTTON) { removeButtonListeners(controls[_local1]); delete ctrlDataDict[controls[_local1]]; delete controls[_local1]; _local1++; }; delete ctrlDataDict[controls[PLAY_PAUSE_BUTTON]]; delete controls[PLAY_PAUSE_BUTTON]; } public function setControl(_arg1:int, _arg2:Sprite):void{ var ctrlData:ControlData; var index = _arg1; var ctrl = _arg2; if (ctrl == controls[index]){ return; }; switch (index){ case PAUSE_BUTTON: case PLAY_BUTTON: resetPlayPause(); break; case PLAY_PAUSE_BUTTON: if ((((ctrl == null)) || (!((ctrl.parent == skin_mc))))){ resetPlayPause(); }; if (ctrl != null){ setControl(PAUSE_BUTTON, Sprite(ctrl.getChildByName("pause_mc"))); setControl(PLAY_BUTTON, Sprite(ctrl.getChildByName("play_mc"))); }; break; case FULL_SCREEN_BUTTON: if (ctrl != null){ setControl(FULL_SCREEN_ON_BUTTON, Sprite(ctrl.getChildByName("on_mc"))); setControl(FULL_SCREEN_OFF_BUTTON, Sprite(ctrl.getChildByName("off_mc"))); }; break; case MUTE_BUTTON: if (ctrl != null){ setControl(MUTE_ON_BUTTON, Sprite(ctrl.getChildByName("on_mc"))); setControl(MUTE_OFF_BUTTON, Sprite(ctrl.getChildByName("off_mc"))); }; break; }; if (controls[index] != null){ try { delete controls[index]["uiMgr"]; } catch(re:ReferenceError) { }; if (index < NUM_BUTTONS){ removeButtonListeners(controls[index]); }; delete ctrlDataDict[controls[index]]; delete controls[index]; }; if (ctrl == null){ return; }; ctrlData = ctrlDataDict[ctrl]; if (ctrlData == null){ ctrlData = new ControlData(this, ctrl, null, index); ctrlDataDict[ctrl] = ctrlData; } else { ctrlData.index = index; }; if (index >= NUM_BUTTONS){ controls[index] = ctrl; switch (index){ case SEEK_BAR: addBarControl(ctrl); break; case VOLUME_BAR: addBarControl(ctrl); ctrlData.percentage = (_vc.volume * 100); break; case BUFFERING_BAR: if (ctrl.parent == skin_mc){ finishAddBufferingBar(); } else { ctrl.addEventListener(Event.ENTER_FRAME, finishAddBufferingBar); }; break; }; setEnabledAndVisibleForState(index, _vc.state); } else { controls[index] = ctrl; addButtonControl(ctrl); }; } flvplayback_internal function createSkin(_arg1:DisplayObject, _arg2:String):DisplayObject{ var stateSkinDesc:*; var theClass:Class; var definitionHolder = _arg1; var skinName = _arg2; try { stateSkinDesc = definitionHolder[skinName]; if ((stateSkinDesc is String)){ try { theClass = Class(definitionHolder.loaderInfo.applicationDomain.getDefinition(stateSkinDesc)); } catch(err1:Error) { theClass = Class(getDefinitionByName(stateSkinDesc)); }; return (DisplayObject(new (theClass))); } else { if ((stateSkinDesc is Class)){ return (new (stateSkinDesc)); } else { if ((stateSkinDesc is DisplayObject)){ return (stateSkinDesc); }; }; }; } catch(err2:Error) { throw (new VideoError(VideoError.MISSING_SKIN_STYLE, skinName)); }; return (null); } flvplayback_internal function addButtonControl(_arg1:Sprite):void{ var _local2:ControlData; var _local3:int; if (_arg1 == null){ return; }; _local2 = ctrlDataDict[_arg1]; _arg1.mouseChildren = false; _local3 = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; _local2.state = NORMAL_STATE; setEnabledAndVisibleForState(_local2.index, _vc.state); _arg1.addEventListener(MouseEvent.ROLL_OVER, handleButtonEvent); _arg1.addEventListener(MouseEvent.ROLL_OUT, handleButtonEvent); _arg1.addEventListener(MouseEvent.MOUSE_DOWN, handleButtonEvent); _arg1.addEventListener(MouseEvent.CLICK, handleButtonEvent); if (_arg1.parent == skin_mc){ skinButtonControl(_arg1); } else { _arg1.addEventListener(Event.ENTER_FRAME, skinButtonControl); }; _vc.activeVideoPlayerIndex = _local3; } flvplayback_internal function hookUpCustomComponents():void{ var searchHash:Object; var doTheSearch:Boolean; var i:int; var dispObj:DisplayObject; var name:String; var index:int; var ctrl:Sprite; searchHash = new Object(); doTheSearch = false; i = 0; while (i < NUM_CONTROLS) { if (controls[i] == null){ searchHash[customComponentClassNames[i]] = i; doTheSearch = true; }; i = (i + 1); }; if (!doTheSearch){ return; }; i = 0; while (i < _vc.parent.numChildren) { dispObj = _vc.parent.getChildAt(i); name = getQualifiedClassName(dispObj); if (searchHash[name] != undefined){ if (typeof(searchHash[name]) == "number"){ index = int(searchHash[name]); try { ctrl = Sprite(dispObj); if ((((((index >= NUM_BUTTONS)) || ((ctrl["placeholder_mc"] is DisplayObject)))) && ((ctrl["uiMgr"] == null)))){ setControl(index, ctrl); searchHash[name] = ctrl; }; } catch(err:Error) { }; }; }; i = (i + 1); }; } flvplayback_internal function positionHandle(_arg1:Sprite):void{ var _local2:ControlData; var _local3:Sprite; var _local4:ControlData; var _local5:Number; var _local6:Number; if (_arg1 == null){ return; }; if ((((_arg1["positionHandle"] is Function)) && (_arg1["positionHandle"]()))){ return; }; _local2 = ctrlDataDict[_arg1]; _local3 = _local2.handle_mc; if (_local3 == null){ return; }; _local4 = ctrlDataDict[_local3]; _local5 = (isNaN(_local2.origWidth)) ? _arg1.width : _local2.origWidth; _local6 = ((_local5 - _local4.rightMargin) - _local4.leftMargin); _local3.x = ((_arg1.x + _local4.leftMargin) + ((_local6 * _local2.percentage) / 100)); _local3.y = (_arg1.y + _local4.origY); if (_local2.fullness_mc != null){ positionBar(_arg1, "fullness", _local2.percentage); }; } flvplayback_internal function exitFullScreenTakeOver():void{ var fullScreenBG:Sprite; var cacheActiveIndex:int; var i:int; var vp:VideoPlayer; if (cacheFLVPlaybackParent == null){ return; }; _vc.removeEventListener(Event.ADDED_TO_STAGE, handleEvent); _vc.stage.removeEventListener(FullScreenEvent.FULL_SCREEN, handleFullScreenEvent); try { if (_fullScreenAccel){ _vc.stage.fullScreenSourceRect = new Rectangle(0, 0, -1, -1); } else { _vc.stage.align = cacheStageAlign; _vc.stage.scaleMode = cacheStageScaleMode; }; fullScreenBG = Sprite(_vc.getChildByName("fullScreenBG")); if (fullScreenBG != null){ _vc.removeChild(fullScreenBG); }; if (_vc.parent != cacheFLVPlaybackParent){ cacheFLVPlaybackParent.addChildAt(_vc, cacheFLVPlaybackIndex); } else { cacheFLVPlaybackParent.setChildIndex(_vc, cacheFLVPlaybackIndex); }; cacheActiveIndex = _vc.activeVideoPlayerIndex; i = 0; while (i < _vc.videoPlayers.length) { vp = (_vc.videoPlayers[i] as VideoPlayer); if (vp != null){ _vc.activeVideoPlayerIndex = i; if (cacheFLVPlaybackScaleMode[i] != undefined){ _vc.scaleMode = cacheFLVPlaybackScaleMode[i]; }; if (cacheFLVPlaybackAlign[i]){ _vc.align = cacheFLVPlaybackAlign[i]; }; }; i = (i + 1); }; _vc.activeVideoPlayerIndex = cacheActiveIndex; _vc.registrationX = cacheFLVPlaybackLocation.x; _vc.registrationY = cacheFLVPlaybackLocation.y; _vc.setSize(cacheFLVPlaybackLocation.width, cacheFLVPlaybackLocation.height); } catch(err:Error) { }; _vc.addEventListener(Event.ADDED_TO_STAGE, handleEvent); _vc.stage.addEventListener(FullScreenEvent.FULL_SCREEN, handleFullScreenEvent); _fullScreen = false; _fullScreenAccel = false; cacheStageAlign = null; cacheStageScaleMode = null; cacheFLVPlaybackParent = null; cacheFLVPlaybackIndex = 0; cacheFLVPlaybackLocation = null; cacheFLVPlaybackScaleMode = null; cacheFLVPlaybackAlign = null; if (_skinAutoHide != cacheSkinAutoHide){ _skinAutoHide = cacheSkinAutoHide; setupSkinAutoHide(false); }; } flvplayback_internal function positionMaskedFill(_arg1:DisplayObject, _arg2:Number):void{ var ctrlData:ControlData; var fill:DisplayObject; var mask:DisplayObject; var fillData:ControlData; var maskData:ControlData; var slideReveal:Boolean; var maskSprite:Sprite; var barData:ControlData; var ctrl = _arg1; var percent = _arg2; if (ctrl == null){ return; }; ctrlData = ctrlDataDict[ctrl]; fill = ctrlData.fill_mc; if (fill == null){ return; }; mask = ctrlData.mask_mc; if (ctrlData.mask_mc == null){ try { var _local4 = ctrl["mask_mc"]; mask = _local4; ctrlData.mask_mc = _local4; } catch(re:ReferenceError) { ctrlData.mask_mc = null; }; if (ctrlData.mask_mc == null){ maskSprite = new Sprite(); _local4 = maskSprite; mask = _local4; ctrlData.mask_mc = _local4; maskSprite.graphics.beginFill(0xFFFFFF); maskSprite.graphics.drawRect(0, 0, 1, 1); maskSprite.graphics.endFill(); barData = ctrlDataDict[fill]; maskSprite.x = barData.origX; maskSprite.y = barData.origY; maskSprite.width = barData.origWidth; maskSprite.height = barData.origHeight; maskSprite.visible = false; fill.parent.addChild(maskSprite); fill.mask = maskSprite; }; if (ctrlData.mask_mc != null){ calcBarMargins(ctrl, "mask", true); }; }; fillData = ctrlDataDict[fill]; maskData = ctrlDataDict[mask]; try { slideReveal = fill["slideReveal"]; } catch(re:ReferenceError) { slideReveal = false; }; if (fill.parent == ctrl){ if (slideReveal){ fill.x = ((maskData.origX - fillData.origWidth) + ((fillData.origWidth * percent) / 100)); } else { mask.width = ((fillData.origWidth * percent) / 100); }; } else { if (fill.parent == ctrl.parent){ if (slideReveal){ mask.x = (ctrl.x + maskData.leftMargin); mask.y = (ctrl.y + maskData.topMargin); mask.width = ((ctrl.width - maskData.rightMargin) - maskData.leftMargin); mask.height = ((ctrl.height - maskData.topMargin) - maskData.bottomMargin); fill.x = ((mask.x - fillData.origWidth) + ((maskData.origWidth * percent) / 100)); fill.y = (ctrl.y + fillData.topMargin); } else { fill.x = (ctrl.x + fillData.leftMargin); fill.y = (ctrl.y + fillData.topMargin); mask.x = fill.x; mask.y = fill.y; mask.width = ((((ctrl.width - fillData.rightMargin) - fillData.leftMargin) * percent) / 100); mask.height = ((ctrl.height - fillData.topMargin) - fillData.bottomMargin); }; }; }; } flvplayback_internal function calcPercentageFromHandle(_arg1:Sprite):void{ var _local2:ControlData; var _local3:Sprite; var _local4:ControlData; var _local5:Number; var _local6:Number; var _local7:Number; if (_arg1 == null){ return; }; _local2 = ctrlDataDict[_arg1]; if ((((_arg1["calcPercentageFromHandle"] is Function)) && (_arg1["calcPercentageFromHandle"]()))){ if (_local2.percentage < 0){ _local2.percentage = 0; }; if (_local2.percentage > 100){ _local2.percentage = 100; }; return; }; _local3 = _local2.handle_mc; if (_local3 == null){ return; }; _local4 = ctrlDataDict[_local3]; _local5 = (isNaN(_local2.origWidth)) ? _arg1.width : _local2.origWidth; _local6 = ((_local5 - _local4.rightMargin) - _local4.leftMargin); _local7 = (_local3.x - (_arg1.x + _local4.leftMargin)); _local2.percentage = ((_local7 / _local6) * 100); if (_local2.percentage < 0){ _local2.percentage = 0; }; if (_local2.percentage > 100){ _local2.percentage = 100; }; if (_local2.fullness_mc != null){ positionBar(_arg1, "fullness", _local2.percentage); }; } flvplayback_internal function handleRelease(_arg1:int):void{ var _local2:int; _local2 = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; if (_arg1 == SEEK_BAR){ seekBarListener(null); } else { if (_arg1 == VOLUME_BAR){ volumeBarListener(null); }; }; stopHandleDrag(controls[_arg1]); _vc.activeVideoPlayerIndex = _local2; if (_arg1 == SEEK_BAR){ _vc._scrubFinish(); }; } flvplayback_internal function setTwoButtonHolderSkin(_arg1:int, _arg2:int, _arg3:String, _arg4:int, _arg5:String):Sprite{ var _local6:Sprite; var _local7:Sprite; var _local8:ControlData; _local7 = new Sprite(); _local8 = new ControlData(this, _local7, null, _arg1); ctrlDataDict[_local7] = _local8; skin_mc.addChild(_local7); _local6 = setupButtonSkin(_arg2); _local6.name = _arg3; _local6.visible = true; _local7.addChild(_local6); _local6 = setupButtonSkin(_arg4); _local6.name = _arg5; _local6.visible = false; _local7.addChild(_local6); return (_local7); } flvplayback_internal function skinAutoHideHitTest(_arg1:TimerEvent, _arg2:Boolean=true):void{ var visibleVP:VideoPlayer; var hit:Boolean; var e = _arg1; var doFade = _arg2; try { if (!__visible){ skin_mc.visible = false; } else { if (_vc.stage != null){ visibleVP = _vc.getVideoPlayer(_vc.visibleVideoPlayerIndex); hit = visibleVP.hitTestPoint(_vc.stage.mouseX, _vc.stage.mouseY, true); if (((((_fullScreen) && (_fullScreenTakeOver))) && (!((e == null))))){ if ((((_vc.stage.mouseX == _skinAutoHideMouseX)) && ((_vc.stage.mouseY == _skinAutoHideMouseY)))){ if ((getTimer() - _skinAutoHideLastMotionTime) > _skinAutoHideMotionTimeout){ hit = false; }; } else { _skinAutoHideLastMotionTime = getTimer(); _skinAutoHideMouseX = _vc.stage.mouseX; _skinAutoHideMouseY = _vc.stage.mouseY; }; }; if (((!(hit)) && (!((border_mc == null))))){ hit = border_mc.hitTestPoint(_vc.stage.mouseX, _vc.stage.mouseY, true); if (((((hit) && (_fullScreen))) && (_fullScreenTakeOver))){ _skinAutoHideLastMotionTime = getTimer(); }; }; if (((!(doFade)) || ((_skinFadingMaxTime <= 0)))){ _skinFadingTimer.stop(); skin_mc.visible = hit; skin_mc.alpha = 1; } else { if (((((((hit) && (skin_mc.visible))) && (((!(_skinFadingTimer.running)) || (_skinFadingIn))))) || (((!(hit)) && (((!(skin_mc.visible)) || (((_skinFadingTimer.running) && (!(_skinFadingIn)))))))))){ } else { _skinFadingTimer.stop(); _skinFadingIn = hit; if (((_skinFadingIn) && ((skin_mc.alpha == 1)))){ skin_mc.alpha = 0; }; _skinFadeStartTime = getTimer(); _skinFadingTimer.start(); skin_mc.visible = true; }; }; }; }; } catch(se:SecurityError) { _skinAutoHideTimer.stop(); _skinFadingTimer.stop(); skin_mc.visible = __visible; skin_mc.alpha = 1; }; } public function set seekBarInterval(_arg1:Number):void{ if (_seekBarTimer.delay == _arg1){ return; }; _seekBarTimer.delay = _arg1; } flvplayback_internal function layoutControl(_arg1:DisplayObject):void{ var _local2:ControlData; var _local3:Rectangle; var _local4:Sprite; var _local5:Rectangle; if (_arg1 == null){ return; }; _local2 = ctrlDataDict[_arg1]; if (_local2 == null){ return; }; if (_local2.avatar == null){ return; }; _local3 = calcLayoutControl(_arg1); _arg1.x = _local3.x; _arg1.y = _local3.y; _arg1.width = _local3.width; _arg1.height = _local3.height; switch (_local2.index){ case SEEK_BAR: case VOLUME_BAR: if (((!((_local2.hit_mc == null))) && ((_local2.hit_mc.parent == skin_mc)))){ _local4 = _local2.hit_mc; _local5 = calcLayoutControl(_local4); _local4.x = _local5.x; _local4.y = _local5.y; _local4.width = _local5.width; _local4.height = _local5.height; }; if (_local2.progress_mc != null){ if (isNaN(_progressPercent)){ _progressPercent = (_vc.isRTMP) ? 100 : 0; }; positionBar(Sprite(_arg1), "progress", _progressPercent); }; positionHandle(Sprite(_arg1)); break; case BUFFERING_BAR: positionMaskedFill(_arg1, 100); break; }; } public function set fullScreenSkinDelay(_arg1:int):void{ _skinAutoHideMotionTimeout = _arg1; } flvplayback_internal function captureMouseEvent(_arg1:MouseEvent):void{ _arg1.stopPropagation(); } flvplayback_internal function handleMouseUp(_arg1:MouseEvent):void{ var _local2:Sprite; var _local3:ControlData; _local2 = controls[mouseCaptureCtrl]; if (_local2 != null){ _local3 = ctrlDataDict[_local2]; _local3.state = (_local2.hitTestPoint(_arg1.stageX, _arg1.stageY, true)) ? OVER_STATE : NORMAL_STATE; skinButtonControl(_local2); switch (mouseCaptureCtrl){ case SEEK_BAR_HANDLE: case SEEK_BAR_HIT: handleRelease(SEEK_BAR); break; case VOLUME_BAR_HANDLE: case VOLUME_BAR_HIT: handleRelease(VOLUME_BAR); break; }; }; _arg1.currentTarget.removeEventListener(MouseEvent.MOUSE_DOWN, captureMouseEvent, true); _arg1.currentTarget.removeEventListener(MouseEvent.MOUSE_OUT, captureMouseEvent, true); _arg1.currentTarget.removeEventListener(MouseEvent.MOUSE_OVER, captureMouseEvent, true); _arg1.currentTarget.removeEventListener(MouseEvent.MOUSE_UP, handleMouseUp); _arg1.currentTarget.removeEventListener(MouseEvent.ROLL_OUT, captureMouseEvent, true); _arg1.currentTarget.removeEventListener(MouseEvent.ROLL_OVER, captureMouseEvent, true); } public function set visible(_arg1:Boolean):void{ if (__visible == _arg1){ return; }; __visible = _arg1; if (!__visible){ skin_mc.visible = false; } else { setupSkinAutoHide(false); }; } public function get bufferingDelayInterval():Number{ return (_bufferingDelayTimer.delay); } public function set fullScreenBackgroundColor(_arg1:uint):void{ if (_fullScreenBgColor != _arg1){ _fullScreenBgColor = _arg1; if (_vc){ }; }; } public function get fullScreenTakeOver():Boolean{ return (_fullScreenTakeOver); } public function set skin(_arg1:String):void{ var _local2:String; if (_arg1 == null){ removeSkin(); _skin = null; _skinReady = true; } else { _local2 = String(_arg1); if (_arg1 == _skin){ return; }; removeSkin(); _skin = String(_arg1); _skinReady = (_skin == ""); if (!_skinReady){ downloadSkin(); }; }; } public function set volumeBarInterval(_arg1:Number):void{ if (_volumeBarTimer.delay == _arg1){ return; }; _volumeBarTimer.delay = _arg1; } flvplayback_internal function setSkin(_arg1:int, _arg2:DisplayObject):void{ var _local3:Sprite; var _local4:ControlData; var _local5:String; if (_arg1 >= NUM_CONTROLS){ return; }; if (_arg1 < NUM_BUTTONS){ _local3 = setupButtonSkin(_arg1); skin_mc.addChild(_local3); _local4 = ctrlDataDict[_local3]; } else { switch (_arg1){ case PLAY_PAUSE_BUTTON: _local3 = setTwoButtonHolderSkin(_arg1, PLAY_BUTTON, "play_mc", PAUSE_BUTTON, "pause_mc"); _local4 = ctrlDataDict[_local3]; break; case FULL_SCREEN_BUTTON: _local3 = setTwoButtonHolderSkin(_arg1, FULL_SCREEN_ON_BUTTON, "on_mc", FULL_SCREEN_OFF_BUTTON, "off_mc"); _local4 = ctrlDataDict[_local3]; break; case MUTE_BUTTON: _local3 = setTwoButtonHolderSkin(_arg1, MUTE_ON_BUTTON, "on_mc", MUTE_OFF_BUTTON, "off_mc"); _local4 = ctrlDataDict[_local3]; break; case SEEK_BAR: case VOLUME_BAR: _local5 = skinClassPrefixes[_arg1]; _local3 = Sprite(createSkin(skinTemplate, _local5)); if (_local3 != null){ skin_mc.addChild(_local3); _local4 = new ControlData(this, _local3, null, _arg1); ctrlDataDict[_local3] = _local4; _local4.progress_mc = setupBarSkinPart(_local3, _arg2, skinTemplate, (_local5 + "Progress"), "progress_mc"); _local4.fullness_mc = setupBarSkinPart(_local3, _arg2, skinTemplate, (_local5 + "Fullness"), "fullness_mc"); _local4.hit_mc = Sprite(setupBarSkinPart(_local3, _arg2, skinTemplate, (_local5 + "Hit"), "hit_mc")); _local4.handle_mc = Sprite(setupBarSkinPart(_local3, _arg2, skinTemplate, (_local5 + "Handle"), "handle_mc", true)); _local3.width = _arg2.width; _local3.height = _arg2.height; }; break; case BUFFERING_BAR: _local5 = skinClassPrefixes[_arg1]; _local3 = Sprite(createSkin(skinTemplate, _local5)); if (_local3 != null){ skin_mc.addChild(_local3); _local4 = new ControlData(this, _local3, null, _arg1); ctrlDataDict[_local3] = _local4; _local4.fill_mc = setupBarSkinPart(_local3, _arg2, skinTemplate, (_local5 + "Fill"), "fill_mc"); _local3.width = _arg2.width; _local3.height = _arg2.height; }; break; }; }; _local4.avatar = _arg2; ctrlDataDict[_local3] = _local4; delayedControls[_arg1] = _local3; } public function set bufferingBarHidesAndDisablesOthers(_arg1:Boolean):void{ _bufferingBarHides = _arg1; } flvplayback_internal function handleSoundEvent(_arg1:SoundEvent):void{ var _local2:Sprite; var _local3:ControlData; if (((_isMuted) && ((_arg1.soundTransform.volume > 0)))){ _isMuted = false; setEnabledAndVisibleForState(MUTE_OFF_BUTTON, VideoState.PLAYING); skinButtonControl(controls[MUTE_OFF_BUTTON]); setEnabledAndVisibleForState(MUTE_ON_BUTTON, VideoState.PLAYING); skinButtonControl(controls[MUTE_ON_BUTTON]); }; _local2 = controls[VOLUME_BAR]; if (_local2 != null){ _local3 = ctrlDataDict[_local2]; _local3.percentage = ((_isMuted) ? cachedSoundLevel : _arg1.soundTransform.volume * 100); if (_local3.percentage < 0){ _local3.percentage = 0; } else { if (_local3.percentage > 100){ _local3.percentage = 100; }; }; positionHandle(_local2); }; } flvplayback_internal function stopHandleDrag(_arg1:Sprite):void{ var ctrlData:ControlData; var handle:Sprite; var ctrl = _arg1; if (ctrl == null){ return; }; ctrlData = ctrlDataDict[ctrl]; try { if ((((ctrl["stopHandleDrag"] is Function)) && (ctrl["stopHandleDrag"]()))){ ctrlData.isDragging = false; return; }; } catch(re:ReferenceError) { }; handle = ctrlData.handle_mc; if (handle == null){ return; }; handle.stopDrag(); ctrlData.isDragging = false; } public function set skinBackgroundAlpha(_arg1:Number):void{ if (borderAlpha != _arg1){ borderAlpha = _arg1; borderColorTransform.alphaOffset = (0xFF * _arg1); borderPrevRect = null; layoutSkin(); }; } public function getControl(_arg1:int):Sprite{ return (controls[_arg1]); } public function set skinScaleMaximum(_arg1:Number):void{ _skinScaleMaximum = _arg1; } flvplayback_internal function handleLoad(_arg1:Event):void{ var i:int; var dispObj:DisplayObject; var index:Number; var e = _arg1; try { skin_mc = new Sprite(); if (e != null){ skinTemplate = Sprite(skinLoader.content); }; layout_mc = skinTemplate; customClips = new Array(); delayedControls = new Array(); i = 0; while (i < layout_mc.numChildren) { dispObj = layout_mc.getChildAt(i); index = layoutNameToIndexMappings[dispObj.name]; if (!isNaN(index)){ setSkin(int(index), dispObj); } else { if (dispObj.name != "video_mc"){ setCustomClip(dispObj); }; }; i = (i + 1); }; skinLoadDelayCount = 0; _vc.addEventListener(Event.ENTER_FRAME, finishLoad); } catch(err:Error) { _vc.skinError(err.message); removeSkin(); }; } flvplayback_internal function calcBarMargins(_arg1:DisplayObject, _arg2:String, _arg3:Boolean):void{ var ctrlData:ControlData; var bar:DisplayObject; var barData:ControlData; var ctrl = _arg1; var type = _arg2; var symmetricMargins = _arg3; if (ctrl == null){ return; }; ctrlData = ctrlDataDict[ctrl]; bar = ctrlData[(type + "_mc")]; if (bar == null){ try { bar = ctrl[(type + "_mc")]; } catch(re:ReferenceError) { bar = null; }; if (bar == null){ return; }; ctrlData[(type + "_mc")] = bar; }; barData = ctrlDataDict[bar]; if (barData == null){ barData = new ControlData(this, bar, ctrl, -1); ctrlDataDict[bar] = barData; }; barData.leftMargin = getNumberPropSafe(ctrl, (type + "LeftMargin")); if (((isNaN(barData.leftMargin)) && ((bar.parent == ctrl.parent)))){ barData.leftMargin = (bar.x - ctrl.x); }; barData.rightMargin = getNumberPropSafe(ctrl, (type + "RightMargin")); if (isNaN(barData.rightMargin)){ if (symmetricMargins){ barData.rightMargin = barData.leftMargin; } else { if (bar.parent == ctrl.parent){ barData.rightMargin = (((ctrl.width - bar.width) - bar.x) + ctrl.x); }; }; }; barData.topMargin = getNumberPropSafe(ctrl, (type + "TopMargin")); if (((isNaN(barData.topMargin)) && ((bar.parent == ctrl.parent)))){ barData.topMargin = (bar.y - ctrl.y); }; barData.bottomMargin = getNumberPropSafe(ctrl, (type + "BottomMargin")); if (isNaN(barData.bottomMargin)){ if (symmetricMargins){ barData.bottomMargin = barData.topMargin; } else { if (bar.parent == ctrl.parent){ barData.bottomMargin = (((ctrl.height - bar.height) - bar.y) + ctrl.y); }; }; }; barData.origX = getNumberPropSafe(ctrl, (type + "X")); if (isNaN(barData.origX)){ if (bar.parent == ctrl.parent){ barData.origX = (bar.x - ctrl.x); } else { if (bar.parent == ctrl){ barData.origX = bar.x; }; }; }; barData.origY = getNumberPropSafe(ctrl, (type + "Y")); if (isNaN(barData.origY)){ if (bar.parent == ctrl.parent){ barData.origY = (bar.y - ctrl.y); } else { if (bar.parent == ctrl){ barData.origY = bar.y; }; }; }; barData.origWidth = bar.width; barData.origHeight = bar.height; barData.origScaleX = bar.scaleX; barData.origScaleY = bar.scaleY; } public function set skinBackgroundColor(_arg1:uint):void{ if (borderColor != _arg1){ borderColor = _arg1; borderColorTransform.redOffset = ((borderColor >> 16) & 0xFF); borderColorTransform.greenOffset = ((borderColor >> 8) & 0xFF); borderColorTransform.blueOffset = (borderColor & 0xFF); borderPrevRect = null; layoutSkin(); }; } public function set volumeBarScrubTolerance(_arg1:Number):void{ _volumeBarScrubTolerance = _arg1; } flvplayback_internal function finishAddBufferingBar(_arg1:Event=null):void{ var _local2:Sprite; if (_arg1 != null){ _arg1.currentTarget.removeEventListener(Event.ENTER_FRAME, finishAddBufferingBar); }; _local2 = controls[BUFFERING_BAR]; calcBarMargins(_local2, "fill", true); fixUpBar(_local2, "fill", _local2, "fill_mc"); positionMaskedFill(_local2, 100); } flvplayback_internal function handleButtonEvent(_arg1:MouseEvent):void{ var ctrlData:ControlData; var topLevel:DisplayObject; var e = _arg1; ctrlData = ctrlDataDict[e.currentTarget]; switch (e.type){ case MouseEvent.ROLL_OVER: ctrlData.state = OVER_STATE; break; case MouseEvent.ROLL_OUT: ctrlData.state = NORMAL_STATE; break; case MouseEvent.MOUSE_DOWN: ctrlData.state = DOWN_STATE; mouseCaptureCtrl = ctrlData.index; switch (mouseCaptureCtrl){ case SEEK_BAR_HANDLE: case SEEK_BAR_HIT: case VOLUME_BAR_HANDLE: case VOLUME_BAR_HIT: dispatchMessage(ctrlData.index); break; }; topLevel = _vc.stage; try { topLevel.addEventListener(MouseEvent.MOUSE_DOWN, captureMouseEvent, true); } catch(se:SecurityError) { topLevel = _vc.root; topLevel.addEventListener(MouseEvent.MOUSE_DOWN, captureMouseEvent, true); }; topLevel.addEventListener(MouseEvent.MOUSE_OUT, captureMouseEvent, true); topLevel.addEventListener(MouseEvent.MOUSE_OVER, captureMouseEvent, true); topLevel.addEventListener(MouseEvent.MOUSE_UP, handleMouseUp); topLevel.addEventListener(MouseEvent.ROLL_OUT, captureMouseEvent, true); topLevel.addEventListener(MouseEvent.ROLL_OVER, captureMouseEvent, true); break; case MouseEvent.CLICK: switch (mouseCaptureCtrl){ case SEEK_BAR_HANDLE: case SEEK_BAR_HIT: case VOLUME_BAR_HANDLE: case VOLUME_BAR_HIT: break; default: dispatchMessage(ctrlData.index); break; }; return; }; skinButtonControl(e.currentTarget); } flvplayback_internal function applySkinState(_arg1:ControlData, _arg2:DisplayObject):void{ if (_arg2 != _arg1.currentState_mc){ if (_arg1.currentState_mc != null){ _arg1.currentState_mc.visible = false; }; _arg1.currentState_mc = _arg2; _arg1.currentState_mc.visible = true; }; } flvplayback_internal function handleLoadErrorEvent(_arg1:ErrorEvent):void{ _skinReady = true; _vc.skinError(_arg1.toString()); } flvplayback_internal function addBarControl(_arg1:Sprite):void{ var _local2:ControlData; _local2 = ctrlDataDict[_arg1]; _local2.isDragging = false; _local2.percentage = 0; if ((((_arg1.parent == skin_mc)) && (!((skin_mc == null))))){ finishAddBarControl(_arg1); } else { _arg1.addEventListener(Event.REMOVED_FROM_STAGE, cleanupHandle); _arg1.addEventListener(Event.ENTER_FRAME, finishAddBarControl); }; } flvplayback_internal function handleEvent(_arg1:Event):void{ var e = _arg1; switch (e.type){ case Event.ADDED_TO_STAGE: _fullScreen = false; if (_vc.stage != null){ try { _fullScreen = (_vc.stage.displayState == StageDisplayState.FULL_SCREEN); _vc.stage.addEventListener(FullScreenEvent.FULL_SCREEN, handleFullScreenEvent); } catch(se:SecurityError) { }; }; if (!_fullScreen){ _fullScreenAccel = false; }; setEnabledAndVisibleForState(FULL_SCREEN_OFF_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_OFF_BUTTON]); setEnabledAndVisibleForState(FULL_SCREEN_ON_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_ON_BUTTON]); if (((_fullScreen) && (_fullScreenTakeOver))){ enterFullScreenTakeOver(); } else { if (!_fullScreen){ exitFullScreenTakeOver(); }; }; layoutSkin(); setupSkinAutoHide(false); break; case Event.REMOVED_FROM_STAGE: _vc.stage.removeEventListener(FullScreenEvent.FULL_SCREEN, handleFullScreenEvent); break; }; } flvplayback_internal function skinButtonControl(_arg1:Object):void{ var ctrl:Sprite; var ctrlData:ControlData; var e:Event; var ctrlOrEvent = _arg1; if (ctrlOrEvent == null){ return; }; if ((ctrlOrEvent is Event)){ e = Event(ctrlOrEvent); ctrl = Sprite(e.currentTarget); ctrl.removeEventListener(Event.ENTER_FRAME, skinButtonControl); } else { ctrl = Sprite(ctrlOrEvent); }; ctrlData = ctrlDataDict[ctrl]; if (ctrlData == null){ return; }; try { if (ctrl["placeholder_mc"] != undefined){ ctrl.removeChild(ctrl["placeholder_mc"]); ctrl["placeholder_mc"] = null; }; } catch(re:ReferenceError) { }; if (ctrlData.state_mc == null){ ctrlData.state_mc = new Array(); }; if (ctrlData.state_mc[NORMAL_STATE] == undefined){ ctrlData.state_mc[NORMAL_STATE] = setupButtonSkinState(ctrl, ctrl, buttonSkinLinkageIDs[NORMAL_STATE], null); }; if (((ctrlData.enabled) && (_controlsEnabled))){ if (ctrlData.state_mc[ctrlData.state] == undefined){ ctrlData.state_mc[ctrlData.state] = setupButtonSkinState(ctrl, ctrl, buttonSkinLinkageIDs[ctrlData.state], ctrlData.state_mc[NORMAL_STATE]); }; if (ctrlData.state_mc[ctrlData.state] != ctrlData.currentState_mc){ if (ctrlData.currentState_mc != null){ ctrlData.currentState_mc.visible = false; }; ctrlData.currentState_mc = ctrlData.state_mc[ctrlData.state]; ctrlData.currentState_mc.visible = true; }; applySkinState(ctrlData, ctrlData.state_mc[ctrlData.state]); } else { ctrlData.state = NORMAL_STATE; if (ctrlData.disabled_mc == null){ ctrlData.disabled_mc = setupButtonSkinState(ctrl, ctrl, "disabledLinkageID", ctrlData.state_mc[NORMAL_STATE]); }; applySkinState(ctrlData, ctrlData.disabled_mc); }; } public function set controlsEnabled(_arg1:Boolean):void{ var _local2:int; if (_controlsEnabled == _arg1){ return; }; _controlsEnabled = _arg1; _local2 = 0; while (_local2 < NUM_BUTTONS) { skinButtonControl(controls[_local2]); _local2++; }; } flvplayback_internal function setupSkinAutoHide(_arg1:Boolean):void{ if (((_skinAutoHide) && (!((skin_mc == null))))){ skinAutoHideHitTest(null, _arg1); _skinAutoHideTimer.start(); } else { if (skin_mc != null){ if (((((((_arg1) && ((_skinFadingMaxTime > 0)))) && (((!(skin_mc.visible)) || ((skin_mc.alpha < 1)))))) && (__visible))){ _skinFadingTimer.stop(); _skinFadeStartTime = getTimer(); _skinFadingIn = true; if (skin_mc.alpha == 1){ skin_mc.alpha = 0; }; _skinFadingTimer.start(); } else { if (_skinFadingMaxTime <= 0){ _skinFadingTimer.stop(); skin_mc.alpha = 1; }; }; skin_mc.visible = __visible; }; _skinAutoHideTimer.stop(); }; } public function enterFullScreenDisplayState():void{ var theRect:Rectangle; var vp:VideoPlayer; var effectiveWidth:int; var effectiveHeight:int; var videoAspectRatio:Number; var screenAspectRatio:Number; var effectiveMinWidth:int; var effectiveMinHeight:int; var skinScaleMinWidth:int; var skinScaleMinHeight:int; if (((!(_fullScreen)) && (!((_vc.stage == null))))){ if (_fullScreenTakeOver){ try { theRect = _vc.stage.fullScreenSourceRect; _fullScreenAccel = true; vp = _vc.getVideoPlayer(_vc.visibleVideoPlayerIndex); effectiveWidth = vp.videoWidth; effectiveHeight = vp.videoHeight; videoAspectRatio = (effectiveWidth / effectiveHeight); screenAspectRatio = (_vc.stage.fullScreenWidth / _vc.stage.fullScreenHeight); if (videoAspectRatio > screenAspectRatio){ effectiveHeight = (effectiveWidth / screenAspectRatio); } else { if (videoAspectRatio < screenAspectRatio){ effectiveWidth = (effectiveHeight * screenAspectRatio); }; }; effectiveMinWidth = fullScreenSourceRectMinWidth; effectiveMinHeight = fullScreenSourceRectMinHeight; if (fullScreenSourceRectMinAspectRatio > screenAspectRatio){ effectiveMinHeight = (effectiveMinWidth / screenAspectRatio); } else { if (fullScreenSourceRectMinAspectRatio < screenAspectRatio){ effectiveMinWidth = (effectiveMinHeight * screenAspectRatio); }; }; skinScaleMinWidth = (_vc.stage.fullScreenWidth / _skinScaleMaximum); skinScaleMinHeight = (_vc.stage.fullScreenHeight / _skinScaleMaximum); if ((((effectiveMinWidth < skinScaleMinWidth)) || ((effectiveMinHeight < skinScaleMinHeight)))){ effectiveMinWidth = skinScaleMinWidth; effectiveMinHeight = skinScaleMinHeight; }; if ((((effectiveWidth < effectiveMinWidth)) || ((effectiveHeight < effectiveMinHeight)))){ effectiveWidth = effectiveMinWidth; effectiveHeight = effectiveMinHeight; }; _vc.stage.fullScreenSourceRect = new Rectangle(0, 0, effectiveWidth, effectiveHeight); _vc.stage.displayState = StageDisplayState.FULL_SCREEN; } catch(re:ReferenceError) { _fullScreenAccel = false; } catch(re:SecurityError) { _fullScreenAccel = false; }; }; try { _vc.stage.displayState = StageDisplayState.FULL_SCREEN; } catch(se:SecurityError) { }; }; } public function get skin():String{ return (_skin); } flvplayback_internal function finishAddBarControl(_arg1:Object):void{ var ctrl:Sprite; var ctrlData:ControlData; var e:Event; var ctrlOrEvent = _arg1; if (ctrlOrEvent == null){ return; }; if ((ctrlOrEvent is Event)){ e = Event(ctrlOrEvent); ctrl = Sprite(e.currentTarget); ctrl.removeEventListener(Event.ENTER_FRAME, finishAddBarControl); } else { ctrl = Sprite(ctrlOrEvent); }; ctrlData = ctrlDataDict[ctrl]; try { if ((ctrl["addBarControl"] is Function)){ var _local3 = ctrl; _local3["addBarControl"](); }; } catch(re:ReferenceError) { }; ctrlData.origWidth = ctrl.width; ctrlData.origHeight = ctrl.height; fixUpBar(ctrl, "progress", ctrl, "progress_mc"); calcBarMargins(ctrl, "progress", false); if (ctrlData.progress_mc != null){ fixUpBar(ctrl, "progressBarFill", ctrlData.progress_mc, "fill_mc"); calcBarMargins(ctrlData.progress_mc, "fill", false); calcBarMargins(ctrlData.progress_mc, "mask", false); if (isNaN(_progressPercent)){ _progressPercent = (_vc.isRTMP) ? 100 : 0; }; positionBar(ctrl, "progress", _progressPercent); }; fixUpBar(ctrl, "fullness", ctrl, "fullness_mc"); calcBarMargins(ctrl, "fullness", false); if (ctrlData.fullness_mc != null){ fixUpBar(ctrl, "fullnessBarFill", ctrlData.fullness_mc, "fill_mc"); calcBarMargins(ctrlData.fullness_mc, "fill", false); calcBarMargins(ctrlData.fullness_mc, "mask", false); }; fixUpBar(ctrl, "hit", ctrl, "hit_mc"); fixUpBar(ctrl, "handle", ctrl, "handle_mc"); calcBarMargins(ctrl, "handle", true); switch (ctrlData.index){ case SEEK_BAR: setControl(SEEK_BAR_HANDLE, ctrlData.handle_mc); if (ctrlData.hit_mc != null){ setControl(SEEK_BAR_HIT, ctrlData.hit_mc); }; break; case VOLUME_BAR: setControl(VOLUME_BAR_HANDLE, ctrlData.handle_mc); if (ctrlData.hit_mc != null){ setControl(VOLUME_BAR_HIT, ctrlData.hit_mc); }; break; }; positionHandle(ctrl); } public function get fullScreenBackgroundColor():uint{ return (_fullScreenBgColor); } flvplayback_internal function startHandleDrag(_arg1:Sprite):void{ var ctrlData:ControlData; var handle:Sprite; var handleData:ControlData; var theY:Number; var theWidth:Number; var bounds:Rectangle; var ctrl = _arg1; if (ctrl == null){ return; }; ctrlData = ctrlDataDict[ctrl]; try { if ((((ctrl["startHandleDrag"] is Function)) && (ctrl["startHandleDrag"]()))){ ctrlData.isDragging = true; return; }; } catch(re:ReferenceError) { }; handle = ctrlData.handle_mc; if (handle == null){ return; }; handleData = ctrlDataDict[handle]; theY = (ctrl.y + handleData.origY); theWidth = (isNaN(ctrlData.origWidth)) ? ctrl.width : ctrlData.origWidth; bounds = new Rectangle((ctrl.x + handleData.leftMargin), theY, (theWidth - handleData.rightMargin), 0); handle.startDrag(false, bounds); ctrlData.isDragging = true; } flvplayback_internal function setupBarSkinPart(_arg1:Sprite, _arg2:DisplayObject, _arg3:Sprite, _arg4:String, _arg5:String, _arg6:Boolean=false):DisplayObject{ var part:DisplayObject; var partAvatar:DisplayObject; var ctrlData:ControlData; var partData:ControlData; var ctrl = _arg1; var avatar = _arg2; var definitionHolder = _arg3; var skinName = _arg4; var partName = _arg5; var required = _arg6; try { part = ctrl[partName]; } catch(re:ReferenceError) { part = null; }; if (part == null){ try { part = createSkin(definitionHolder, skinName); } catch(ve:VideoError) { if (required){ throw (ve); }; }; if (part != null){ skin_mc.addChild(part); part.x = ctrl.x; part.y = ctrl.y; partAvatar = layout_mc.getChildByName((skinName + "_mc")); if (partAvatar != null){ if (partName == "hit_mc"){ ctrlData = ctrlDataDict[ctrl]; partData = new ControlData(this, part, controls[ctrlData.index], -1); partData.avatar = partAvatar; ctrlDataDict[part] = partData; } else { part.x = (part.x + (partAvatar.x - avatar.x)); part.y = (part.y + (partAvatar.y - avatar.y)); part.width = partAvatar.width; part.height = partAvatar.height; }; }; }; }; if (((required) && ((part == null)))){ throw (new VideoError(VideoError.MISSING_SKIN_STYLE, skinName)); }; return (part); } public function get skinBackgroundAlpha():Number{ return (borderAlpha); } public function get volumeBarScrubTolerance():Number{ return (_volumeBarScrubTolerance); } public function get skinScaleMaximum():Number{ return (_skinScaleMaximum); } public function get skinBackgroundColor():uint{ return (borderColor); } public function get controlsEnabled():Boolean{ return (_controlsEnabled); } flvplayback_internal function handleIVPEvent(_arg1:IVPEvent):void{ var _local2:uint; var _local3:int; var _local4:VideoEvent; var _local5:Sprite; var _local6:ControlData; var _local7:VideoProgressEvent; var _local8:VideoPlayerState; var _local9:Number; var _local10:Number; var _local11:Number; if (_arg1.vp != _vc.visibleVideoPlayerIndex){ return; }; _local2 = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; switch (_arg1.type){ case VideoEvent.STATE_CHANGE: _local4 = VideoEvent(_arg1); if (_local4.state == VideoState.BUFFERING){ if (!_bufferingOn){ _bufferingDelayTimer.reset(); _bufferingDelayTimer.start(); }; } else { _bufferingDelayTimer.reset(); _bufferingOn = false; }; if (_local4.state == VideoState.LOADING){ _progressPercent = (_vc.getVideoPlayer(_arg1.vp).isRTMP) ? 100 : 0; _local3 = SEEK_BAR; while (_local3 <= VOLUME_BAR) { _local5 = controls[_local3]; if (controls[_local3] == null){ } else { _local6 = ctrlDataDict[_local5]; if (_local6.progress_mc != null){ positionBar(_local5, "progress", _progressPercent); }; }; _local3++; }; }; _local3 = 0; while (_local3 < NUM_CONTROLS) { if (controls[_local3] == undefined){ } else { setEnabledAndVisibleForState(_local3, _local4.state); if (_local3 < NUM_BUTTONS){ skinButtonControl(controls[_local3]); }; }; _local3++; }; break; case VideoEvent.READY: case MetadataEvent.METADATA_RECEIVED: _local3 = 0; while (_local3 < NUM_CONTROLS) { if (controls[_local3] == undefined){ } else { setEnabledAndVisibleForState(_local3, _vc.state); if (_local3 < NUM_BUTTONS){ skinButtonControl(controls[_local3]); }; }; _local3++; }; if (_vc.getVideoPlayer(_arg1.vp).isRTMP){ _progressPercent = 100; _local3 = SEEK_BAR; while (_local3 <= VOLUME_BAR) { _local5 = controls[_local3]; if (_local5 == null){ } else { _local6 = ctrlDataDict[_local5]; if (_local6.progress_mc != null){ positionBar(_local5, "progress", _progressPercent); }; }; _local3++; }; }; break; case VideoEvent.PLAYHEAD_UPDATE: if (((((((!((controls[SEEK_BAR] == undefined))) && (!(_vc.isLive)))) && (!(isNaN(_vc.totalTime))))) && (!((_vc.getVideoPlayer(_vc.visibleVideoPlayerIndex).state == VideoState.SEEKING))))){ _local4 = VideoEvent(_arg1); _local10 = ((_local4.playheadTime / _vc.totalTime) * 100); if (_local10 < 0){ _local10 = 0; } else { if (_local10 > 100){ _local10 = 100; }; }; _local5 = controls[SEEK_BAR]; _local6 = ctrlDataDict[_local5]; _local6.percentage = _local10; positionHandle(_local5); }; break; case VideoProgressEvent.PROGRESS: _local7 = VideoProgressEvent(_arg1); _progressPercent = ((_local7.bytesTotal)<=0) ? 100 : ((_local7.bytesLoaded / _local7.bytesTotal) * 100); _local8 = _vc.videoPlayerStates[_arg1.vp]; _local9 = _local8.minProgressPercent; if (((!(isNaN(_local9))) && ((_local9 > _progressPercent)))){ _progressPercent = _local9; }; if (!isNaN(_vc.totalTime)){ _local11 = ((_vc.playheadTime / _vc.totalTime) * 100); if (_local11 > _progressPercent){ _progressPercent = _local11; _local8.minProgressPercent = _progressPercent; }; }; _local3 = SEEK_BAR; while (_local3 <= VOLUME_BAR) { _local5 = controls[_local3]; if (_local5 == null){ } else { _local6 = ctrlDataDict[_local5]; if (_local6.progress_mc != null){ positionBar(_local5, "progress", _progressPercent); }; }; _local3++; }; break; }; _vc.activeVideoPlayerIndex = _local2; } flvplayback_internal function setupButtonSkinState(_arg1:Sprite, _arg2:Sprite, _arg3:String, _arg4:DisplayObject=null):DisplayObject{ var stateSkin:DisplayObject; var ctrl = _arg1; var definitionHolder = _arg2; var skinName = _arg3; var defaultSkin = _arg4; try { stateSkin = createSkin(definitionHolder, skinName); } catch(ve:VideoError) { if (defaultSkin != null){ stateSkin = null; } else { throw (ve); }; }; if (stateSkin != null){ stateSkin.visible = false; ctrl.addChild(stateSkin); } else { if (defaultSkin != null){ stateSkin = defaultSkin; }; }; return (stateSkin); } flvplayback_internal function layoutSkin():void{ var video_mc:DisplayObject; var i:int; var borderRect:Rectangle; var forceSkinAutoHide:Boolean; var minWidth:Number; var vidWidth:Number; var minHeight:Number; var vidHeight:Number; if (layout_mc == null){ return; }; if (skinLoadDelayCount < 2){ return; }; video_mc = layout_mc["video_mc"]; if (video_mc == null){ throw (new Error("No layout_mc.video_mc")); }; placeholderLeft = video_mc.x; placeholderRight = (video_mc.x + video_mc.width); placeholderTop = video_mc.y; placeholderBottom = (video_mc.y + video_mc.height); videoLeft = (_vc.x - _vc.registrationX); videoRight = (videoLeft + _vc.width); videoTop = (_vc.y - _vc.registrationY); videoBottom = (videoTop + _vc.height); if (((((_fullScreen) && (_fullScreenTakeOver))) && (!((border_mc == null))))){ borderRect = calcLayoutControl(border_mc); forceSkinAutoHide = false; if ((((borderRect.width > 0)) && ((borderRect.height > 0)))){ if (borderRect.x < 0){ placeholderLeft = (placeholderLeft + (videoLeft - borderRect.x)); forceSkinAutoHide = true; }; if ((borderRect.x + borderRect.width) > _vc.registrationWidth){ placeholderRight = (placeholderRight + ((borderRect.x + borderRect.width) - videoRight)); forceSkinAutoHide = true; }; if (borderRect.y < 0){ placeholderTop = (placeholderTop + (videoTop - borderRect.y)); forceSkinAutoHide = true; }; if ((borderRect.y + borderRect.height) > _vc.registrationHeight){ placeholderBottom = (placeholderBottom + ((borderRect.y + borderRect.height) - videoBottom)); forceSkinAutoHide = true; }; if (forceSkinAutoHide){ _skinAutoHide = true; setupSkinAutoHide(true); }; }; }; try { if (!isNaN(layout_mc["minWidth"])){ minWidth = layout_mc["minWidth"]; vidWidth = (videoRight - videoLeft); if ((((minWidth > 0)) && ((minWidth > vidWidth)))){ videoLeft = (videoLeft - ((minWidth - vidWidth) / 2)); videoRight = (minWidth + videoLeft); }; }; } catch(re1:ReferenceError) { }; try { if (!isNaN(layout_mc["minHeight"])){ minHeight = layout_mc["minHeight"]; vidHeight = (videoBottom - videoTop); if ((((minHeight > 0)) && ((minHeight > vidHeight)))){ videoTop = (videoTop - ((minHeight - vidHeight) / 2)); videoBottom = (minHeight + videoTop); }; }; } catch(re2:ReferenceError) { }; i = 0; while (i < customClips.length) { layoutControl(customClips[i]); if (customClips[i] == border_mc){ bitmapCopyBorder(); }; i = (i + 1); }; i = 0; while (i < NUM_CONTROLS) { layoutControl(controls[i]); i = (i + 1); }; } public function set bufferingDelayInterval(_arg1:Number):void{ if (_bufferingDelayTimer.delay == _arg1){ return; }; _bufferingDelayTimer.delay = _arg1; } flvplayback_internal function setEnabledAndVisibleForState(_arg1:int, _arg2:String):void{ var _local3:int; var _local4:String; var _local5:Sprite; var _local6:ControlData; var _local7:Boolean; var _local8:ControlData; var _local9:ControlData; var _local10:ControlData; var _local11:ControlData; _local3 = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; _local4 = _arg2; if ((((_local4 == VideoState.BUFFERING)) && (!(_bufferingOn)))){ _local4 = VideoState.PLAYING; }; _local5 = controls[_arg1]; if (_local5 == null){ return; }; _local6 = ctrlDataDict[_local5]; if (_local6 == null){ return; }; switch (_arg1){ case VOLUME_BAR: case VOLUME_BAR_HANDLE: case VOLUME_BAR_HIT: _local6.enabled = true; break; case FULL_SCREEN_ON_BUTTON: _local6.enabled = !(_fullScreen); if (controls[FULL_SCREEN_BUTTON] != undefined){ _local5.visible = _local6.enabled; }; break; case FULL_SCREEN_OFF_BUTTON: _local6.enabled = _fullScreen; if (controls[FULL_SCREEN_BUTTON] != undefined){ _local5.visible = _local6.enabled; }; break; case MUTE_ON_BUTTON: _local6.enabled = !(_isMuted); if (controls[MUTE_BUTTON] != undefined){ _local5.visible = _local6.enabled; }; break; case MUTE_OFF_BUTTON: _local6.enabled = _isMuted; if (controls[MUTE_BUTTON] != undefined){ _local5.visible = _local6.enabled; }; break; default: switch (_local4){ case VideoState.LOADING: case VideoState.CONNECTION_ERROR: _local6.enabled = false; break; case VideoState.DISCONNECTED: _local6.enabled = ((!((_vc.source == null))) && (!((_vc.source == "")))); break; case VideoState.SEEKING: break; default: _local6.enabled = true; break; }; break; }; switch (_arg1){ case SEEK_BAR: switch (_local4){ case VideoState.STOPPED: case VideoState.PLAYING: case VideoState.PAUSED: case VideoState.REWINDING: case VideoState.SEEKING: _local6.enabled = true; break; case VideoState.BUFFERING: _local6.enabled = ((!(_bufferingBarHides)) || ((controls[BUFFERING_BAR] == undefined))); break; default: _local6.enabled = false; break; }; if (_local6.enabled){ _local6.enabled = !(isNaN(_vc.totalTime)); }; if (_local6.handle_mc != null){ _local8 = ctrlDataDict[_local6.handle_mc]; _local8.enabled = _local6.enabled; _local6.handle_mc.visible = _local8.enabled; }; if (_local6.hit_mc != null){ _local9 = ctrlDataDict[_local6.hit_mc]; _local9.enabled = _local6.enabled; _local6.hit_mc.visible = _local9.enabled; }; _local7 = ((((((!(_bufferingBarHides)) || (_local6.enabled))) || ((controls[BUFFERING_BAR] == undefined)))) || (!(controls[BUFFERING_BAR].visible))); _local5.visible = _local7; if (_local6.progress_mc != null){ _local6.progress_mc.visible = _local7; _local10 = ctrlDataDict[_local6.progress_mc]; if (_local10.fill_mc != null){ _local10.fill_mc.visible = _local7; }; }; if (_local6.fullness_mc != null){ _local6.fullness_mc.visible = _local7; _local11 = ctrlDataDict[_local6.fullness_mc]; if (_local11.fill_mc != null){ _local11.fill_mc.visible = _local7; }; }; break; case BUFFERING_BAR: switch (_local4){ case VideoState.STOPPED: case VideoState.PLAYING: case VideoState.PAUSED: case VideoState.REWINDING: case VideoState.SEEKING: _local6.enabled = false; break; default: _local6.enabled = true; break; }; _local5.visible = _local6.enabled; if (_local6.fill_mc != null){ _local6.fill_mc.visible = _local6.enabled; }; break; case PAUSE_BUTTON: switch (_local4){ case VideoState.DISCONNECTED: case VideoState.STOPPED: case VideoState.PAUSED: case VideoState.REWINDING: _local6.enabled = false; break; case VideoState.PLAYING: _local6.enabled = true; break; case VideoState.BUFFERING: _local6.enabled = ((!(_bufferingBarHides)) || ((controls[BUFFERING_BAR] == undefined))); break; }; if (controls[PLAY_PAUSE_BUTTON] != undefined){ _local5.visible = _local6.enabled; }; break; case PLAY_BUTTON: switch (_local4){ case VideoState.PLAYING: _local6.enabled = false; break; case VideoState.STOPPED: case VideoState.PAUSED: _local6.enabled = true; break; case VideoState.BUFFERING: _local6.enabled = ((!(_bufferingBarHides)) || ((controls[BUFFERING_BAR] == undefined))); break; }; if (controls[PLAY_PAUSE_BUTTON] != undefined){ _local5.visible = !(controls[PAUSE_BUTTON].visible); }; break; case STOP_BUTTON: switch (_local4){ case VideoState.DISCONNECTED: case VideoState.STOPPED: _local6.enabled = false; break; case VideoState.PAUSED: case VideoState.PLAYING: case VideoState.BUFFERING: _local6.enabled = true; break; }; break; case BACK_BUTTON: case FORWARD_BUTTON: switch (_local4){ case VideoState.BUFFERING: _local6.enabled = ((!(_bufferingBarHides)) || ((controls[BUFFERING_BAR] == undefined))); break; }; }; _local5.mouseEnabled = _local6.enabled; _vc.activeVideoPlayerIndex = _local3; } public function set fullScreenTakeOver(_arg1:Boolean):void{ var v = _arg1; if (_fullScreenTakeOver != v){ _fullScreenTakeOver = v; if (_fullScreenTakeOver){ enterFullScreenTakeOver(); } else { if (((((!((_vc.stage == null))) && (_fullScreen))) && (_fullScreenAccel))){ try { _vc.stage.displayState = StageDisplayState.NORMAL; } catch(se:SecurityError) { }; }; exitFullScreenTakeOver(); }; }; } flvplayback_internal function enterFullScreenTakeOver():void{ var i:int; var fullScreenBG:Sprite; var vp:VideoPlayer; if (((!(_fullScreen)) || (!((cacheFLVPlaybackParent == null))))){ return; }; _vc.removeEventListener(LayoutEvent.LAYOUT, handleLayoutEvent); _vc.removeEventListener(AutoLayoutEvent.AUTO_LAYOUT, handleLayoutEvent); _vc.removeEventListener(Event.ADDED_TO_STAGE, handleEvent); _vc.stage.removeEventListener(FullScreenEvent.FULL_SCREEN, handleFullScreenEvent); try { cacheFLVPlaybackScaleMode = new Array(); cacheFLVPlaybackAlign = new Array(); i = 0; while (i < _vc.videoPlayers.length) { vp = (_vc.videoPlayers[i] as VideoPlayer); if (vp != null){ cacheFLVPlaybackScaleMode[i] = vp.scaleMode; cacheFLVPlaybackAlign[i] = vp.align; }; i = (i + 1); }; cacheFLVPlaybackParent = _vc.parent; cacheFLVPlaybackIndex = _vc.parent.getChildIndex(_vc); cacheFLVPlaybackLocation = new Rectangle(_vc.registrationX, _vc.registrationY, _vc.registrationWidth, _vc.registrationHeight); if (!_fullScreenAccel){ cacheStageAlign = _vc.stage.align; cacheStageScaleMode = _vc.stage.scaleMode; _vc.stage.align = StageAlign.TOP_LEFT; _vc.stage.scaleMode = StageScaleMode.NO_SCALE; }; _vc.align = VideoAlign.CENTER; _vc.scaleMode = VideoScaleMode.MAINTAIN_ASPECT_RATIO; _vc.registrationX = 0; _vc.registrationY = 0; _vc.setSize(_vc.stage.stageWidth, _vc.stage.stageHeight); if (_vc.stage != _vc.parent){ _vc.stage.addChild(_vc); } else { _vc.stage.setChildIndex(_vc, (_vc.stage.numChildren - 1)); }; fullScreenBG = Sprite(_vc.getChildByName("fullScreenBG")); if (fullScreenBG == null){ fullScreenBG = new Sprite(); fullScreenBG.name = "fullScreenBG"; _vc.addChildAt(fullScreenBG, 0); } else { _vc.setChildIndex(fullScreenBG, 0); }; fullScreenBG.graphics.beginFill(_fullScreenBgColor); fullScreenBG.graphics.drawRect(0, 0, _vc.stage.stageWidth, _vc.stage.stageHeight); layoutSkin(); setupSkinAutoHide(false); } catch(err:Error) { cacheFLVPlaybackParent = null; }; _vc.addEventListener(LayoutEvent.LAYOUT, handleLayoutEvent); _vc.addEventListener(AutoLayoutEvent.AUTO_LAYOUT, handleLayoutEvent); _vc.addEventListener(Event.ADDED_TO_STAGE, handleEvent); _vc.stage.addEventListener(FullScreenEvent.FULL_SCREEN, handleFullScreenEvent); } public function set seekBarScrubTolerance(_arg1:Number):void{ _seekBarScrubTolerance = _arg1; } flvplayback_internal function cleanupHandle(_arg1:Object):void{ var e:Event; var ctrl:Sprite; var ctrlData:ControlData; var ctrlOrEvent = _arg1; try { if ((ctrlOrEvent is Event)){ e = Event(ctrlOrEvent); }; ctrl = ((e == null)) ? Sprite(ctrlOrEvent) : Sprite(e.currentTarget); ctrlData = ctrlDataDict[ctrl]; if ((((ctrlData == null)) || ((e == null)))){ ctrl.removeEventListener(Event.REMOVED_FROM_STAGE, cleanupHandle, false); if (ctrlData == null){ return; }; }; ctrl.removeEventListener(Event.ENTER_FRAME, finishAddBarControl); if (ctrlData.handle_mc != null){ if (ctrlData.handle_mc.parent != null){ ctrlData.handle_mc.parent.removeChild(ctrlData.handle_mc); }; delete ctrlDataDict[ctrlData.handle_mc]; ctrlData.handle_mc = null; }; if (ctrlData.hit_mc != null){ if (ctrlData.hit_mc.parent != null){ ctrlData.hit_mc.parent.removeChild(ctrlData.hit_mc); }; delete ctrlDataDict[ctrlData.hit_mc]; ctrlData.hit_mc = null; }; } catch(err:Error) { }; } flvplayback_internal static function getNumberPropSafe(_arg1:Object, _arg2:String):Number{ var numProp:*; var obj = _arg1; var propName = _arg2; try { numProp = obj[propName]; return (Number(numProp)); } catch(re:ReferenceError) { }; return (NaN); } flvplayback_internal static function getBooleanPropSafe(_arg1:Object, _arg2:String):Boolean{ var boolProp:*; var obj = _arg1; var propName = _arg2; try { boolProp = obj[propName]; return (Boolean(boolProp)); } catch(re:ReferenceError) { }; return (false); } flvplayback_internal static function initLayoutNameToIndexMappings():void{ var _local1:int; layoutNameToIndexMappings = new Object(); _local1 = 0; while (_local1 < layoutNameArray.length) { if (layoutNameArray[_local1] != null){ layoutNameToIndexMappings[layoutNameArray[_local1]] = _local1; }; _local1++; }; } } }//package fl.video
Section 36
//VideoAlign (fl.video.VideoAlign) package fl.video { public final class VideoAlign { public static const CENTER:String = "center"; public static const LEFT:String = "left"; public static const BOTTOM_RIGHT:String = "bottomRight"; public static const BOTTOM:String = "bottom"; public static const TOP_LEFT:String = "topLeft"; public static const TOP_RIGHT:String = "topRight"; public static const TOP:String = "top"; public static const BOTTOM_LEFT:String = "bottomLeft"; public static const RIGHT:String = "right"; } }//package fl.video
Section 37
//VideoError (fl.video.VideoError) package fl.video { public class VideoError extends Error { private var _code:uint; public static const INVALID_SOURCE:uint = 1004; flvplayback_internal static const ERROR_MSG:Array = ["Unable to make connection to server or to find FLV on server", "No matching cue point found", "Illegal cue point", "Invalid seek", "Invalid source", "Invalid xml", "No bitrate match, must be no default flv", "Cannot delete default VideoPlayer", "VideoPlayer.iNCManagerClass has not been set or its value is invalid", "Null url parameter sent to load()", "Skin is missing a required style definition or its value is invalid", "Unsupported property", "VideoPlayer.netStreamClientClass has not been set or its value is invalid"]; public static const NULL_URL_LOAD:uint = 1009; public static const INVALID_XML:uint = 1005; flvplayback_internal static const BASE_ERROR_CODE:uint = 1000; public static const DELETE_DEFAULT_PLAYER:uint = 1007; public static const SHORT_VERSION:String = "2.1"; public static const UNSUPPORTED_PROPERTY:uint = 1011; public static const ILLEGAL_CUE_POINT:uint = 1002; public static const INVALID_SEEK:uint = 1003; public static const NO_CONNECTION:uint = 1000; public static const MISSING_SKIN_STYLE:uint = 1010; public static const INCMANAGER_CLASS_UNSET:uint = 1008; public static const NO_BITRATE_MATCH:uint = 1006; public static const NETSTREAM_CLIENT_CLASS_UNSET:uint = 1012; public static const VERSION:String = "2.1.0.14"; public function VideoError(_arg1:uint, _arg2:String=null){ super((((("" + _arg1) + ": ") + ERROR_MSG[(_arg1 - BASE_ERROR_CODE)]) + ((_arg2)==null) ? "" : (": " + _arg2))); name = "VideoError"; _code = _arg1; } public function get code():uint{ return (_code); } } }//package fl.video
Section 38
//VideoEvent (fl.video.VideoEvent) package fl.video { import flash.events.*; public class VideoEvent extends Event implements IVPEvent { private var _vp:uint; private var _playheadTime:Number; private var _state:String; public static const FAST_FORWARD:String = "fastForward"; public static const READY:String = "ready"; public static const SKIN_LOADED:String = "skinLoaded"; public static const SCRUB_FINISH:String = "scrubFinish"; public static const BUFFERING_STATE_ENTERED:String = "bufferingStateEntered"; public static const STOPPED_STATE_ENTERED:String = "stoppedStateEntered"; public static const AUTO_REWOUND:String = "autoRewound"; public static const SCRUB_START:String = "scrubStart"; public static const PLAYHEAD_UPDATE:String = "playheadUpdate"; public static const SEEKED:String = "seeked"; public static const PLAYING_STATE_ENTERED:String = "playingStateEntered"; public static const CLOSE:String = "close"; public static const PAUSED_STATE_ENTERED:String = "pausedStateEntered"; public static const COMPLETE:String = "complete"; public static const REWIND:String = "rewind"; public static const STATE_CHANGE:String = "stateChange"; public function VideoEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:String=null, _arg5:Number=NaN, _arg6:uint=0){ super(_arg1, _arg2, _arg3); _state = _arg4; _playheadTime = _arg5; _vp = _arg6; } public function set playheadTime(_arg1:Number):void{ _playheadTime = _arg1; } public function get playheadTime():Number{ return (_playheadTime); } public function get state():String{ return (_state); } public function get vp():uint{ return (_vp); } override public function clone():Event{ return (new VideoEvent(type, bubbles, cancelable, state, playheadTime, vp)); } public function set state(_arg1:String):void{ _state = _arg1; } public function set vp(_arg1:uint):void{ _vp = _arg1; } } }//package fl.video
Section 39
//VideoPlayer (fl.video.VideoPlayer) package fl.video { import flash.net.*; import flash.events.*; import flash.geom.*; import flash.media.*; import flash.utils.*; public class VideoPlayer extends Video { protected var _align:String; protected var _registrationWidth:Number; flvplayback_internal var _updateProgressTimer:Timer; flvplayback_internal var _atEndCheckPlayhead:Number; flvplayback_internal var _hiddenForResize:Boolean; flvplayback_internal var startProgressTime:Number; protected var _volume:Number; flvplayback_internal var _invalidSeekTime:Boolean; flvplayback_internal var _readyDispatched:Boolean; flvplayback_internal var lastUpdateTimeStuckCount:Number; protected var _ns:NetStream; protected var _isLive:Boolean; flvplayback_internal var _bufferState:String; protected var _streamLength:Number; flvplayback_internal var _rtmpDoSeekTimer:Timer; protected var _contentPath:String; flvplayback_internal var lastUpdateTimeStuckCountMax:int;// = 10 protected var _metadata:Object; protected var __visible:Boolean; flvplayback_internal var autoResizeMetadataDelayMax:Number;// = 5 protected var _scaleMode:String; flvplayback_internal var _lastUpdateTime:Number; flvplayback_internal var _sawPlayStop:Boolean; flvplayback_internal var _atEnd:Boolean; flvplayback_internal var _sawSeekNotify:Boolean; flvplayback_internal var _idleTimeoutTimer:Timer; flvplayback_internal var _prevVideoWidth:int; protected var _registrationX:Number; protected var _registrationY:Number; protected var _bufferTime:Number; flvplayback_internal var _cachedState:String; flvplayback_internal var totalDownloadTime:Number; flvplayback_internal var _cachedPlayheadTime:Number; protected var _autoPlay:Boolean; protected var _autoRewind:Boolean; flvplayback_internal var _invalidSeekRecovery:Boolean; flvplayback_internal var _hiddenRewindPlayheadTime:Number; flvplayback_internal var _prevVideoHeight:int; protected var _ncMgr:INCManager; protected var _soundTransform:SoundTransform; flvplayback_internal var _httpDoSeekCount:Number; flvplayback_internal var oldRegistrationBounds:Rectangle; flvplayback_internal var _cmdQueue:Array; flvplayback_internal var _updateTimeTimer:Timer; flvplayback_internal var httpDoSeekMaxCount:Number;// = 4 flvplayback_internal var _startingPlay:Boolean; flvplayback_internal var baselineProgressTime:Number; flvplayback_internal var _autoResizeTimer:Timer; flvplayback_internal var _autoResizeDone:Boolean; flvplayback_internal var _httpDoSeekTimer:Timer; protected var _state:String; protected var _videoWidth:int; flvplayback_internal var _finishAutoResizeTimer:Timer; flvplayback_internal var _resizeImmediatelyOnMetadata:Boolean; flvplayback_internal var _currentPos:Number; flvplayback_internal var oldBounds:Rectangle; protected var _videoHeight:int; flvplayback_internal var waitingForEnough:Boolean; flvplayback_internal var _delayedBufferingTimer:Timer; protected var _registrationHeight:Number; flvplayback_internal var _hiddenForResizeMetadataDelay:Number; flvplayback_internal var autoResizePlayheadTimeout:Number;// = 0.5 flvplayback_internal var _rtmpDoStopAtEndTimer:Timer; flvplayback_internal var _lastSeekTime:Number; flvplayback_internal var totalProgressTime:Number; flvplayback_internal static const FINISH_AUTO_RESIZE_INTERVAL:Number = 250; flvplayback_internal static const DEFAULT_AUTO_RESIZE_PLAYHEAD_TIMEOUT:Number = 0.5; flvplayback_internal static const DEFAULT_AUTO_RESIZE_METADATA_DELAY_MAX:Number = 5; public static const SHORT_VERSION:String = "2.1"; flvplayback_internal static const HTTP_DO_SEEK_INTERVAL:Number = 250; flvplayback_internal static const DEFAULT_HTTP_DO_SEEK_MAX_COUNT:Number = 4; flvplayback_internal static const RTMP_DO_SEEK_INTERVAL:Number = 100; flvplayback_internal static const HTTP_DELAYED_BUFFERING_INTERVAL:Number = 100; public static const DEFAULT_UPDATE_TIME_INTERVAL:Number = 250; flvplayback_internal static const AUTO_RESIZE_INTERVAL:Number = 100; public static const DEFAULT_IDLE_TIMEOUT_INTERVAL:Number = 300000; flvplayback_internal static const DEFAULT_LAST_UPDATE_TIME_STUCK_COUNT_MAX:int = 10; flvplayback_internal static const RTMP_DO_STOP_AT_END_INTERVAL:Number = 500; public static const VERSION:String = "2.1.0.14"; public static const DEFAULT_UPDATE_PROGRESS_INTERVAL:Number = 250; public static var netStreamClientClass:Object = VideoPlayerClient; public static var iNCManagerClass:Object = "fl.video.NCManager"; flvplayback_internal static var BUFFER_FLUSH:String = "bufferFlush"; flvplayback_internal static var BUFFER_FULL:String = "bufferFull"; flvplayback_internal static var BUFFER_EMPTY:String = "bufferEmpty"; public function VideoPlayer(_arg1:int=320, _arg2:int=240){ autoResizePlayheadTimeout = DEFAULT_AUTO_RESIZE_PLAYHEAD_TIMEOUT; autoResizeMetadataDelayMax = DEFAULT_AUTO_RESIZE_METADATA_DELAY_MAX; httpDoSeekMaxCount = DEFAULT_HTTP_DO_SEEK_MAX_COUNT; lastUpdateTimeStuckCountMax = DEFAULT_LAST_UPDATE_TIME_STUCK_COUNT_MAX; super(_arg1, _arg2); _registrationX = x; _registrationY = y; _registrationWidth = _arg1; _registrationHeight = _arg2; _state = VideoState.DISCONNECTED; _cachedState = _state; _bufferState = BUFFER_EMPTY; _sawPlayStop = false; _cachedPlayheadTime = 0; _metadata = null; _startingPlay = false; _invalidSeekTime = false; _invalidSeekRecovery = false; _currentPos = 0; _atEnd = false; _streamLength = 0; _cmdQueue = new Array(); _readyDispatched = false; _autoResizeDone = false; _lastUpdateTime = NaN; lastUpdateTimeStuckCount = 0; _sawSeekNotify = false; _hiddenForResize = false; _hiddenForResizeMetadataDelay = 0; _resizeImmediatelyOnMetadata = false; _videoWidth = -1; _videoHeight = -1; _prevVideoWidth = 0; _prevVideoHeight = 0; _updateTimeTimer = new Timer(DEFAULT_UPDATE_TIME_INTERVAL); _updateTimeTimer.addEventListener(TimerEvent.TIMER, doUpdateTime); _updateProgressTimer = new Timer(DEFAULT_UPDATE_PROGRESS_INTERVAL); _updateProgressTimer.addEventListener(TimerEvent.TIMER, doUpdateProgress); _idleTimeoutTimer = new Timer(DEFAULT_IDLE_TIMEOUT_INTERVAL, 1); _idleTimeoutTimer.addEventListener(TimerEvent.TIMER, doIdleTimeout); _autoResizeTimer = new Timer(AUTO_RESIZE_INTERVAL); _autoResizeTimer.addEventListener(TimerEvent.TIMER, doAutoResize); _rtmpDoStopAtEndTimer = new Timer(RTMP_DO_STOP_AT_END_INTERVAL); _rtmpDoStopAtEndTimer.addEventListener(TimerEvent.TIMER, rtmpDoStopAtEnd); _rtmpDoSeekTimer = new Timer(RTMP_DO_SEEK_INTERVAL); _rtmpDoSeekTimer.addEventListener(TimerEvent.TIMER, rtmpDoSeek); _httpDoSeekTimer = new Timer(HTTP_DO_SEEK_INTERVAL); _httpDoSeekTimer.addEventListener(TimerEvent.TIMER, httpDoSeek); _httpDoSeekCount = 0; _finishAutoResizeTimer = new Timer(FINISH_AUTO_RESIZE_INTERVAL, 1); _finishAutoResizeTimer.addEventListener(TimerEvent.TIMER, finishAutoResize); _delayedBufferingTimer = new Timer(HTTP_DELAYED_BUFFERING_INTERVAL); _delayedBufferingTimer.addEventListener(TimerEvent.TIMER, doDelayedBuffering); _isLive = false; _align = VideoAlign.CENTER; _scaleMode = VideoScaleMode.MAINTAIN_ASPECT_RATIO; _autoPlay = true; _autoRewind = false; _bufferTime = 0.1; _soundTransform = new SoundTransform(); _volume = _soundTransform.volume; __visible = true; _contentPath = ""; waitingForEnough = false; baselineProgressTime = NaN; startProgressTime = NaN; totalDownloadTime = NaN; totalProgressTime = NaN; } public function get playheadTime():Number{ var _local1:Number; _local1 = ((_ns)==null) ? _currentPos : _ns.time; if (((!((_metadata == null))) && (!((_metadata.audiodelay == undefined))))){ _local1 = (_local1 - _metadata.audiodelay); if (_local1 < 0){ _local1 = 0; }; }; return (_local1); } public function stop():void{ if (!isXnOK()){ if ((((((_state == VideoState.CONNECTION_ERROR)) || ((_ncMgr == null)))) || ((_ncMgr.netConnection == null)))){ throw (new VideoError(VideoError.NO_CONNECTION)); }; return; } else { if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; } else { if (!stateResponsive){ queueCmd(QueuedCommand.STOP); return; }; execQueuedCmds(); }; }; if ((((_state == VideoState.STOPPED)) || ((_ns == null)))){ return; }; if (_ncMgr.isRTMP){ if (((_autoRewind) && (!(_isLive)))){ _currentPos = 0; _play(0, 0); _state = VideoState.STOPPED; setState(VideoState.REWINDING); } else { closeNS(true); setState(VideoState.STOPPED); }; } else { _pause(true); if (_autoRewind){ _seek(0); _state = VideoState.STOPPED; setState(VideoState.REWINDING); } else { setState(VideoState.STOPPED); }; }; } flvplayback_internal function execQueuedCmds():void{ var nextCmd:Object; while ((((((_cmdQueue.length > 0)) && (((((stateResponsive) || ((_state == VideoState.DISCONNECTED)))) || ((_state == VideoState.CONNECTION_ERROR)))))) && (((!((_cmdQueue[0].url == null))) || (((!((_state == VideoState.DISCONNECTED))) && (!((_state == VideoState.CONNECTION_ERROR))))))))) { try { nextCmd = _cmdQueue.shift(); _cachedState = _state; _state = VideoState.EXEC_QUEUED_CMD; switch (nextCmd.type){ case QueuedCommand.PLAY: play(nextCmd.url, nextCmd.time, nextCmd.isLive); break; case QueuedCommand.LOAD: load(nextCmd.url, nextCmd.time, nextCmd.isLive); break; case QueuedCommand.PAUSE: pause(); break; case QueuedCommand.STOP: stop(); break; case QueuedCommand.SEEK: seek(nextCmd.time); break; case QueuedCommand.PLAY_WHEN_ENOUGH: playWhenEnoughDownloaded(); break; }; } finally { if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; }; }; }; } public function setScale(_arg1:Number, _arg2:Number):void{ super.scaleX = _arg1; super.scaleY = _arg2; _registrationWidth = width; _registrationHeight = height; switch (_scaleMode){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: startAutoResize(); break; default: super.x = _registrationX; super.y = _registrationY; break; }; } public function set playheadTime(_arg1:Number):void{ seek(_arg1); } override public function get videoWidth():int{ if (_videoWidth > 0){ return (_videoWidth); }; if (((((!((_metadata == null))) && (!(isNaN(_metadata.width))))) && (!(isNaN(_metadata.height))))){ if ((((_metadata.width == _metadata.height)) && (_readyDispatched))){ return (super.videoWidth); }; return (int(_metadata.width)); }; if (_readyDispatched){ return (super.videoWidth); }; return (-1); } public function get scaleMode():String{ return (_scaleMode); } public function get progressInterval():Number{ return (_updateProgressTimer.delay); } public function set align(_arg1:String):void{ if (_align != _arg1){ switch (_arg1){ case VideoAlign.CENTER: case VideoAlign.TOP: case VideoAlign.LEFT: case VideoAlign.BOTTOM: case VideoAlign.RIGHT: case VideoAlign.TOP_LEFT: case VideoAlign.TOP_RIGHT: case VideoAlign.BOTTOM_LEFT: case VideoAlign.BOTTOM_RIGHT: break; default: return; }; _align = _arg1; switch (_scaleMode){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: startAutoResize(); break; }; }; } public function set scaleMode(_arg1:String):void{ if (_scaleMode != _arg1){ switch (_arg1){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: case VideoScaleMode.EXACT_FIT: break; default: return; }; if ((((((_scaleMode == VideoScaleMode.EXACT_FIT)) && (_resizeImmediatelyOnMetadata))) && ((((_videoWidth < 0)) || ((_videoHeight < 0)))))){ _resizeImmediatelyOnMetadata = false; }; _scaleMode = _arg1; startAutoResize(); }; } public function get source():String{ return (_contentPath); } flvplayback_internal function doUpdateTime(_arg1:TimerEvent=null):void{ var _local2:Number; _local2 = playheadTime; if (_local2 != _atEndCheckPlayhead){ _atEndCheckPlayhead = NaN; }; switch (_state){ case VideoState.STOPPED: case VideoState.PAUSED: case VideoState.DISCONNECTED: case VideoState.CONNECTION_ERROR: _updateTimeTimer.stop(); break; case VideoState.PLAYING: case VideoState.BUFFERING: if (((((((((!((_ncMgr == null))) && (!(_ncMgr.isRTMP)))) && ((_lastUpdateTime == _local2)))) && (!((_ns == null))))) && ((_ns.bytesLoaded == _ns.bytesTotal)))){ if (lastUpdateTimeStuckCount > lastUpdateTimeStuckCountMax){ lastUpdateTimeStuckCount = 0; httpDoStopAtEnd(); } else { lastUpdateTimeStuckCount++; }; }; }; if (_lastUpdateTime != _local2){ dispatchEvent(new VideoEvent(VideoEvent.PLAYHEAD_UPDATE, false, false, _state, _local2)); _lastUpdateTime = _local2; lastUpdateTimeStuckCount = 0; }; } flvplayback_internal function rtmpNetStatus(_arg1:NetStatusEvent):void{ if (_state == VideoState.CONNECTION_ERROR){ return; }; switch (_arg1.info.code){ case "NetStream.Play.Stop": if (_startingPlay){ return; }; switch (_state){ case VideoState.RESIZING: if (_hiddenForResize){ finishAutoResize(); }; break; case VideoState.LOADING: case VideoState.STOPPED: case VideoState.PAUSED: break; default: _sawPlayStop = true; if (((!(_rtmpDoStopAtEndTimer.running)) && ((((_bufferState == BUFFER_FLUSH)) || ((((_ns.bufferTime <= 0.1)) && ((_ns.bufferLength <= 0.1)))))))){ _cachedPlayheadTime = playheadTime; _rtmpDoStopAtEndTimer.reset(); _rtmpDoStopAtEndTimer.start(); }; break; }; break; case "NetStream.Buffer.Empty": switch (_bufferState){ case BUFFER_FULL: if (_sawPlayStop){ rtmpDoStopAtEnd(); } else { if (_state == VideoState.PLAYING){ setState(VideoState.BUFFERING); }; }; break; }; _bufferState = BUFFER_EMPTY; _sawPlayStop = false; break; case "NetStream.Buffer.Flush": if (((_sawSeekNotify) && ((_state == VideoState.SEEKING)))){ _bufferState = BUFFER_EMPTY; _sawPlayStop = false; setStateFromCachedState(false); doUpdateTime(); execQueuedCmds(); }; if (((((!(_rtmpDoStopAtEndTimer.running)) && (_sawPlayStop))) && ((((_bufferState == BUFFER_EMPTY)) || ((((_ns.bufferTime <= 0.1)) && ((_ns.bufferLength <= 0.1)))))))){ _cachedPlayheadTime = playheadTime; _rtmpDoStopAtEndTimer.reset(); _rtmpDoStopAtEndTimer.start(); }; switch (_bufferState){ case BUFFER_EMPTY: if (!_hiddenForResize){ if ((((((_state == VideoState.LOADING)) && ((_cachedState == VideoState.PLAYING)))) || ((_state == VideoState.BUFFERING)))){ setState(VideoState.PLAYING); } else { if (_cachedState == VideoState.BUFFERING){ _cachedState = VideoState.PLAYING; }; }; }; _bufferState = BUFFER_FLUSH; break; default: if (_state == VideoState.BUFFERING){ setStateFromCachedState(); }; break; }; break; case "NetStream.Buffer.Full": if (((_sawSeekNotify) && ((_state == VideoState.SEEKING)))){ _bufferState = BUFFER_EMPTY; _sawPlayStop = false; setStateFromCachedState(false); doUpdateTime(); execQueuedCmds(); }; switch (_bufferState){ case BUFFER_EMPTY: _bufferState = BUFFER_FULL; if (!_hiddenForResize){ if ((((((_state == VideoState.LOADING)) && ((_cachedState == VideoState.PLAYING)))) || ((_state == VideoState.BUFFERING)))){ setState(VideoState.PLAYING); } else { if (_cachedState == VideoState.BUFFERING){ _cachedState = VideoState.PLAYING; }; }; if (_rtmpDoStopAtEndTimer.running){ _sawPlayStop = true; _rtmpDoStopAtEndTimer.reset(); }; }; break; case BUFFER_FLUSH: _bufferState = BUFFER_FULL; if (_rtmpDoStopAtEndTimer.running){ _sawPlayStop = true; _rtmpDoStopAtEndTimer.reset(); }; break; }; if (_state == VideoState.BUFFERING){ setStateFromCachedState(); }; break; case "NetStream.Pause.Notify": if ((((_state == VideoState.RESIZING)) && (_hiddenForResize))){ finishAutoResize(); }; break; case "NetStream.Unpause.Notify": if (_state == VideoState.PAUSED){ _state = VideoState.PLAYING; setState(VideoState.BUFFERING); } else { _cachedState = VideoState.PLAYING; }; break; case "NetStream.Play.Start": _rtmpDoStopAtEndTimer.reset(); _bufferState = BUFFER_EMPTY; _sawPlayStop = false; if (_startingPlay){ _startingPlay = false; _cachedPlayheadTime = playheadTime; } else { if (_state == VideoState.PLAYING){ setState(VideoState.BUFFERING); }; }; break; case "NetStream.Play.Reset": _rtmpDoStopAtEndTimer.reset(); if (_state == VideoState.REWINDING){ _rtmpDoSeekTimer.reset(); if ((((playheadTime == 0)) || ((playheadTime < _cachedPlayheadTime)))){ setStateFromCachedState(); } else { _cachedPlayheadTime = playheadTime; _rtmpDoSeekTimer.start(); }; }; break; case "NetStream.Seek.Notify": if (playheadTime != _cachedPlayheadTime){ setStateFromCachedState(false); doUpdateTime(); execQueuedCmds(); } else { _sawSeekNotify = true; _rtmpDoSeekTimer.start(); }; break; case "Netstream.Play.UnpublishNotify": break; case "Netstream.Play.PublishNotify": break; case "NetStream.Play.StreamNotFound": if (!_ncMgr.connectAgain()){ setState(VideoState.CONNECTION_ERROR); }; break; case "NetStream.Play.Failed": case "NetStream.Failed": case "NetStream.Play.FileStructureInvalid": case "NetStream.Play.NoSupportedTrackFound": setState(VideoState.CONNECTION_ERROR); break; }; } public function set progressInterval(_arg1:Number):void{ _updateProgressTimer.delay = _arg1; } flvplayback_internal function onCuePoint(_arg1:Object):void{ if (((!(_hiddenForResize)) || (((!(isNaN(_hiddenRewindPlayheadTime))) && ((playheadTime < _hiddenRewindPlayheadTime)))))){ dispatchEvent(new MetadataEvent(MetadataEvent.CUE_POINT, false, false, _arg1)); }; } flvplayback_internal function createINCManager():void{ var theClass:Class; theClass = null; try { if ((iNCManagerClass is String)){ theClass = Class(getDefinitionByName(String(iNCManagerClass))); } else { if ((iNCManagerClass is Class)){ theClass = Class(iNCManagerClass); }; }; } catch(e:Error) { theClass = null; }; if (theClass == null){ throw (new VideoError(VideoError.INCMANAGER_CLASS_UNSET, ((iNCManagerClass)==null) ? "null" : iNCManagerClass.toString())); }; _ncMgr = new (theClass); _ncMgr.videoPlayer = this; } flvplayback_internal function doAutoResize(_arg1:TimerEvent=null):void{ var _local2:Boolean; var _local3:int; var _local4:int; var _local5:Number; var _local6:Number; if (_autoResizeTimer.running){ switch (_state){ case VideoState.RESIZING: case VideoState.LOADING: break; case VideoState.DISCONNECTED: case VideoState.CONNECTION_ERROR: _autoResizeTimer.reset(); return; default: if (!stateResponsive){ return; }; }; if (((((((((!((super.videoWidth == _prevVideoWidth))) || (!((super.videoHeight == _prevVideoHeight))))) || ((_bufferState == BUFFER_FULL)))) || ((_bufferState == BUFFER_FLUSH)))) || ((_ns.time > autoResizePlayheadTimeout)))){ if (((((_hiddenForResize) && (!(_ns.client.ready)))) && ((_hiddenForResizeMetadataDelay < autoResizeMetadataDelayMax)))){ _hiddenForResizeMetadataDelay++; return; }; _autoResizeTimer.reset(); } else { return; }; }; if (_autoResizeDone){ setState(_cachedState); return; }; oldBounds = new Rectangle(x, y, width, height); oldRegistrationBounds = new Rectangle(registrationX, registrationY, registrationWidth, registrationHeight); _autoResizeDone = true; _local2 = _readyDispatched; _readyDispatched = true; _local3 = videoWidth; _local4 = videoHeight; _readyDispatched = _local2; switch (_scaleMode){ case VideoScaleMode.NO_SCALE: super.width = _local3; super.height = _local4; break; case VideoScaleMode.EXACT_FIT: super.width = registrationWidth; super.height = registrationHeight; break; case VideoScaleMode.MAINTAIN_ASPECT_RATIO: default: _local5 = ((_local3 * _registrationHeight) / _local4); _local6 = ((_local4 * _registrationWidth) / _local3); if (_local6 < _registrationHeight){ super.width = _registrationWidth; super.height = _local6; } else { if (_local5 < _registrationWidth){ super.width = _local5; super.height = _registrationHeight; } else { super.width = _registrationWidth; super.height = _registrationHeight; }; }; }; switch (_align){ case VideoAlign.CENTER: case VideoAlign.TOP: case VideoAlign.BOTTOM: default: super.x = (_registrationX + ((_registrationWidth - width) / 2)); break; case VideoAlign.LEFT: case VideoAlign.TOP_LEFT: case VideoAlign.BOTTOM_LEFT: super.x = _registrationX; break; case VideoAlign.RIGHT: case VideoAlign.TOP_RIGHT: case VideoAlign.BOTTOM_RIGHT: super.x = (_registrationX + (_registrationWidth - width)); break; }; switch (_align){ case VideoAlign.CENTER: case VideoAlign.LEFT: case VideoAlign.RIGHT: default: super.y = (_registrationY + ((_registrationHeight - height) / 2)); break; case VideoAlign.TOP: case VideoAlign.TOP_LEFT: case VideoAlign.TOP_RIGHT: super.y = _registrationY; break; case VideoAlign.BOTTOM: case VideoAlign.BOTTOM_LEFT: case VideoAlign.BOTTOM_RIGHT: super.y = (_registrationY + (_registrationHeight - height)); break; }; if (_hiddenForResize){ _hiddenRewindPlayheadTime = playheadTime; if (_state == VideoState.LOADING){ _cachedState = VideoState.PLAYING; }; if (!_ncMgr.isRTMP){ _pause(true); _seek(0); _finishAutoResizeTimer.reset(); _finishAutoResizeTimer.start(); } else { if (!_isLive){ _currentPos = 0; _play(0, 0); setState(VideoState.RESIZING); } else { if (_autoPlay){ _finishAutoResizeTimer.reset(); _finishAutoResizeTimer.start(); } else { finishAutoResize(); }; }; }; } else { dispatchEvent(new AutoLayoutEvent(AutoLayoutEvent.AUTO_LAYOUT, false, false, oldBounds, oldRegistrationBounds)); }; } public function get totalTime():Number{ return (_streamLength); } public function get ncMgr():INCManager{ if (_ncMgr == null){ createINCManager(); }; return (_ncMgr); } public function set volume(_arg1:Number):void{ var _local2:SoundTransform; _local2 = soundTransform; _local2.volume = _arg1; soundTransform = _local2; } flvplayback_internal function _play(_arg1:int=0, _arg2:int=-1):void{ waitingForEnough = false; _rtmpDoStopAtEndTimer.reset(); _startingPlay = true; _ns.play(_ncMgr.streamName, (_isLive) ? -1 : _arg1, _arg2); } flvplayback_internal function finishAutoResize(_arg1:TimerEvent=null):void{ if (stateResponsive){ return; }; _hiddenForResize = false; super.visible = __visible; volume = _volume; dispatchEvent(new AutoLayoutEvent(AutoLayoutEvent.AUTO_LAYOUT, false, false, oldBounds, oldRegistrationBounds)); if (_autoPlay){ if (_ncMgr.isRTMP){ if (!_isLive){ _currentPos = 0; _play(0); }; if (_state == VideoState.RESIZING){ setState(VideoState.LOADING); _cachedState = VideoState.PLAYING; }; } else { waitingForEnough = true; _cachedState = _state; _state = VideoState.PAUSED; checkReadyForPlay(bytesLoaded, bytesTotal); if (waitingForEnough){ _state = _cachedState; setState(VideoState.PAUSED); } else { _cachedState = VideoState.PLAYING; }; }; } else { setState(VideoState.STOPPED); }; } public function set soundTransform(_arg1:SoundTransform):void{ if (_arg1 == null){ return; }; if (_hiddenForResize){ _volume = _arg1.volume; }; _soundTransform = new SoundTransform(); _soundTransform.volume = (_hiddenForResize) ? 0 : _arg1.volume; _soundTransform.leftToLeft = _arg1.leftToLeft; _soundTransform.leftToRight = _arg1.leftToRight; _soundTransform.rightToLeft = _arg1.rightToLeft; _soundTransform.rightToRight = _arg1.rightToRight; if (_ns != null){ _ns.soundTransform = _soundTransform; }; } flvplayback_internal function httpDoSeek(_arg1:TimerEvent):void{ var _local2:Boolean; _local2 = (((_state == VideoState.REWINDING)) || ((_state == VideoState.SEEKING))); if (((((_local2) && ((_httpDoSeekCount < httpDoSeekMaxCount)))) && ((((_cachedPlayheadTime == playheadTime)) || (_invalidSeekTime))))){ _httpDoSeekCount++; return; }; _httpDoSeekCount = 0; _httpDoSeekTimer.reset(); if (!_local2){ return; }; setStateFromCachedState(false); if (_invalidSeekTime){ _invalidSeekTime = false; _invalidSeekRecovery = true; seek(playheadTime); } else { doUpdateTime(); _lastSeekTime = playheadTime; execQueuedCmds(); }; } public function get bytesLoaded():uint{ if ((((_ns == null)) || (_ncMgr.isRTMP))){ return (uint.MIN_VALUE); }; return (_ns.bytesLoaded); } override public function set height(_arg1:Number):void{ super.height = (_registrationHeight = _arg1); switch (_scaleMode){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: startAutoResize(); break; default: super.height = _arg1; break; }; } flvplayback_internal function httpNetStatus(_arg1:NetStatusEvent):void{ switch (_arg1.info.code){ case "NetStream.Play.Stop": _delayedBufferingTimer.reset(); if (_invalidSeekTime){ _invalidSeekTime = false; _invalidSeekRecovery = true; setState(_cachedState); seek(playheadTime); } else { switch (_state){ case VideoState.SEEKING: httpDoSeek(null); case VideoState.PLAYING: case VideoState.BUFFERING: httpDoStopAtEnd(); break; }; }; break; case "NetStream.Seek.InvalidTime": if (_invalidSeekRecovery){ _invalidSeekTime = false; _invalidSeekRecovery = false; setState(_cachedState); seek(0); } else { _invalidSeekTime = true; _httpDoSeekCount = 0; _httpDoSeekTimer.start(); }; break; case "NetStream.Buffer.Empty": _bufferState = BUFFER_EMPTY; if (_state == VideoState.PLAYING){ _delayedBufferingTimer.reset(); _delayedBufferingTimer.start(); }; break; case "NetStream.Buffer.Full": case "NetStream.Buffer.Flush": _delayedBufferingTimer.reset(); _bufferState = BUFFER_FULL; if (!_hiddenForResize){ if ((((((_state == VideoState.LOADING)) && ((_cachedState == VideoState.PLAYING)))) || ((_state == VideoState.BUFFERING)))){ setState(VideoState.PLAYING); } else { if (_cachedState == VideoState.BUFFERING){ _cachedState = VideoState.PLAYING; }; }; }; break; case "NetStream.Seek.Notify": _invalidSeekRecovery = false; switch (_state){ case VideoState.SEEKING: case VideoState.REWINDING: _httpDoSeekCount = 0; _httpDoSeekTimer.start(); break; }; break; case "NetStream.Play.StreamNotFound": case "NetStream.Play.FileStructureInvalid": case "NetStream.Play.NoSupportedTrackFound": setState(VideoState.CONNECTION_ERROR); break; }; } public function get netConnection():NetConnection{ if (_ncMgr != null){ return (_ncMgr.netConnection); }; return (null); } public function set bufferTime(_arg1:Number):void{ _bufferTime = _arg1; if (_ns != null){ _ns.bufferTime = _bufferTime; }; } flvplayback_internal function onMetaData(_arg1:Object):void{ if (_metadata != null){ return; }; _metadata = _arg1; if (isNaN(_streamLength)){ _streamLength = _arg1.duration; }; if (((_resizeImmediatelyOnMetadata) && (_ns.client.ready))){ _resizeImmediatelyOnMetadata = false; _autoResizeTimer.reset(); _autoResizeDone = false; doAutoResize(); }; dispatchEvent(new MetadataEvent(MetadataEvent.METADATA_RECEIVED, false, false, _arg1)); } flvplayback_internal function queueCmd(_arg1:Number, _arg2:String=null, _arg3:Boolean=false, _arg4:Number=NaN):void{ _cmdQueue.push(new QueuedCommand(_arg1, _arg2, _arg3, _arg4)); } public function set registrationHeight(_arg1:Number):void{ height = _arg1; } override public function get visible():Boolean{ if (!_hiddenForResize){ __visible = super.visible; }; return (__visible); } public function seek(_arg1:Number):void{ if (_invalidSeekTime){ return; }; if (((isNaN(_arg1)) || ((_arg1 < 0)))){ throw (new VideoError(VideoError.INVALID_SEEK)); }; if (!isXnOK()){ if ((((((_state == VideoState.CONNECTION_ERROR)) || ((_ncMgr == null)))) || ((_ncMgr.netConnection == null)))){ throw (new VideoError(VideoError.NO_CONNECTION)); }; flushQueuedCmds(); queueCmd(QueuedCommand.SEEK, null, false, _arg1); setState(VideoState.LOADING); _cachedState = VideoState.LOADING; _ncMgr.reconnect(); return; } else { if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; } else { if (!stateResponsive){ queueCmd(QueuedCommand.SEEK, null, false, _arg1); return; }; execQueuedCmds(); }; }; if (_ns == null){ _createStream(); }; if (((_atEnd) && ((_arg1 < playheadTime)))){ _atEnd = false; }; switch (_state){ case VideoState.PLAYING: _state = VideoState.BUFFERING; case VideoState.BUFFERING: case VideoState.PAUSED: _seek(_arg1); setState(VideoState.SEEKING); break; case VideoState.STOPPED: if (_ncMgr.isRTMP){ _play(0); _pause(true); }; _seek(_arg1); _state = VideoState.PAUSED; setState(VideoState.SEEKING); break; }; } public function get state():String{ return (_state); } public function set autoRewind(_arg1:Boolean):void{ _autoRewind = _arg1; } override public function set scaleX(_arg1:Number):void{ super.scaleX = _arg1; _registrationWidth = width; switch (_scaleMode){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: startAutoResize(); break; }; } override public function set scaleY(_arg1:Number):void{ super.scaleY = _arg1; _registrationHeight = height; switch (_scaleMode){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: startAutoResize(); break; }; } public function get registrationWidth():Number{ return (_registrationWidth); } flvplayback_internal function flushQueuedCmds():void{ while (_cmdQueue.length > 0) { _cmdQueue.pop(); }; } public function get registrationX():Number{ return (_registrationX); } flvplayback_internal function _setUpStream():void{ if (((!(isNaN(_ncMgr.streamLength))) && ((_ncMgr.streamLength >= 0)))){ _streamLength = _ncMgr.streamLength; }; _videoWidth = ((_ncMgr.streamWidth)>=0) ? _ncMgr.streamWidth : -1; _videoHeight = ((_ncMgr.streamHeight)>=0) ? _ncMgr.streamHeight : -1; _resizeImmediatelyOnMetadata = (((((_videoWidth >= 0)) && ((_videoHeight >= 0)))) || ((_scaleMode == VideoScaleMode.EXACT_FIT))); if (!_hiddenForResize){ __visible = super.visible; super.visible = false; _volume = volume; volume = 0; _hiddenForResize = true; }; _hiddenForResizeMetadataDelay = 0; _play(0); if (_currentPos > 0){ _seek(_currentPos); _currentPos = 0; }; _autoResizeTimer.reset(); _autoResizeTimer.start(); } public function get registrationY():Number{ return (_registrationY); } flvplayback_internal function httpDoStopAtEnd():void{ if ((((((_atEndCheckPlayhead == playheadTime)) && (!((_atEndCheckPlayhead == _lastUpdateTime))))) && (!((playheadTime == 0))))){ _atEnd = false; _seek(0); return; }; _atEndCheckPlayhead = NaN; _atEnd = true; if (isNaN(_streamLength)){ _streamLength = _ns.time; }; _pause(true); setState(VideoState.STOPPED); if (_state != VideoState.STOPPED){ return; }; doUpdateTime(); if (_state != VideoState.STOPPED){ return; }; dispatchEvent(new VideoEvent(VideoEvent.COMPLETE, false, false, _state, playheadTime)); if (_state != VideoState.STOPPED){ return; }; if (_autoRewind){ _atEnd = false; _pause(true); _seek(0); setState(VideoState.REWINDING); }; } public function ncConnected():void{ if ((((_ncMgr == null)) || ((_ncMgr.netConnection == null)))){ setState(VideoState.CONNECTION_ERROR); } else { if (_ns == null){ _createStream(); _setUpStream(); }; }; } override public function set visible(_arg1:Boolean):void{ __visible = _arg1; if (!_hiddenForResize){ super.visible = __visible; }; } public function load(_arg1:String, _arg2:Number=NaN, _arg3:Boolean=false):void{ if (_arg1 == null){ throw (new VideoError(VideoError.NULL_URL_LOAD)); }; if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; } else { if (((((!(stateResponsive)) && (!((_state == VideoState.DISCONNECTED))))) && (!((_state == VideoState.CONNECTION_ERROR))))){ queueCmd(QueuedCommand.LOAD, _arg1, _arg3, _arg2); return; }; execQueuedCmds(); }; _autoPlay = false; _load(_arg1, _arg2, _arg3); } override public function set x(_arg1:Number):void{ var _local2:Number; if (this.x != _arg1){ _local2 = (_arg1 - this.x); super.x = _arg1; _registrationX = (_registrationX + _local2); }; } override public function set y(_arg1:Number):void{ var _local2:Number; if (this.y != _arg1){ _local2 = (_arg1 - this.y); super.y = _arg1; _registrationY = (_registrationY + _local2); }; } flvplayback_internal function _pause(_arg1:Boolean):void{ _atEndCheckPlayhead = playheadTime; _rtmpDoStopAtEndTimer.reset(); if (_arg1){ _ns.pause(); } else { _ns.resume(); }; } public function get playheadUpdateInterval():Number{ return (_updateTimeTimer.delay); } flvplayback_internal function doDelayedBuffering(_arg1:TimerEvent):void{ switch (_state){ case VideoState.LOADING: case VideoState.RESIZING: break; case VideoState.PLAYING: _delayedBufferingTimer.reset(); if (((((((((!(isNaN(totalTime))) && ((totalTime > 0)))) && ((bytesLoaded > 0)))) && ((bytesLoaded < uint.MAX_VALUE)))) && ((bytesLoaded < bytesTotal)))){ pause(); if (_state == VideoState.PAUSED){ waitingForEnough = true; playWhenEnoughDownloaded(); }; } else { setState(VideoState.BUFFERING); }; break; default: _delayedBufferingTimer.reset(); break; }; } flvplayback_internal function createNetStreamClient():Object{ var theClass:Class; var theInst:Object; theClass = null; theInst = null; try { if ((netStreamClientClass is String)){ theClass = Class(getDefinitionByName(String(netStreamClientClass))); } else { if ((netStreamClientClass is Class)){ theClass = Class(netStreamClientClass); }; }; if (theClass != null){ theInst = new theClass(this); }; } catch(e:Error) { theClass = null; theInst = null; }; if (theInst == null){ throw (new VideoError(VideoError.NETSTREAM_CLIENT_CLASS_UNSET, ((netStreamClientClass)==null) ? "null" : netStreamClientClass.toString())); }; return (theInst); } public function get align():String{ return (_align); } public function set registrationWidth(_arg1:Number):void{ width = _arg1; } public function get stateResponsive():Boolean{ switch (_state){ case VideoState.STOPPED: case VideoState.PLAYING: case VideoState.PAUSED: case VideoState.BUFFERING: return (true); default: return (false); }; } public function get volume():Number{ return (soundTransform.volume); } public function get soundTransform():SoundTransform{ var _local1:SoundTransform; if (_ns != null){ _soundTransform = _ns.soundTransform; }; _local1 = new SoundTransform(); _local1.volume = (_hiddenForResize) ? _volume : _soundTransform.volume; _local1.leftToLeft = _soundTransform.leftToLeft; _local1.leftToRight = _soundTransform.leftToRight; _local1.rightToLeft = _soundTransform.rightToLeft; _local1.rightToRight = _soundTransform.rightToRight; return (_local1); } public function get bufferTime():Number{ if (_ns != null){ _bufferTime = _ns.bufferTime; }; return (_bufferTime); } public function get metadata():Object{ return (_metadata); } public function play(_arg1:String=null, _arg2:Number=NaN, _arg3:Boolean=false):void{ if (_arg1 != null){ if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; } else { if (((((!(stateResponsive)) && (!((_state == VideoState.DISCONNECTED))))) && (!((_state == VideoState.CONNECTION_ERROR))))){ queueCmd(QueuedCommand.PLAY, _arg1, _arg3, _arg2); return; }; execQueuedCmds(); }; _autoPlay = true; _load(_arg1, _arg2, _arg3); return; }; if (!isXnOK()){ if ((((((_state == VideoState.CONNECTION_ERROR)) || ((_ncMgr == null)))) || ((_ncMgr.netConnection == null)))){ throw (new VideoError(VideoError.NO_CONNECTION)); }; flushQueuedCmds(); queueCmd(QueuedCommand.PLAY); setState(VideoState.LOADING); _cachedState = VideoState.LOADING; _ncMgr.reconnect(); return; } else { if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; } else { if (!stateResponsive){ queueCmd(QueuedCommand.PLAY); return; }; execQueuedCmds(); }; }; if (_ns == null){ _createStream(); }; switch (_state){ case VideoState.BUFFERING: if (_ncMgr.isRTMP){ _play(0); if (_atEnd){ _atEnd = false; _currentPos = 0; setState(VideoState.REWINDING); } else { if (_currentPos > 0){ _seek(_currentPos); _currentPos = 0; }; }; }; case VideoState.PLAYING: return; case VideoState.STOPPED: if (_ncMgr.isRTMP){ if (_isLive){ _play(-1); setState(VideoState.BUFFERING); } else { _play(0); if (_atEnd){ _atEnd = false; _currentPos = 0; _state = VideoState.BUFFERING; setState(VideoState.REWINDING); } else { if (_currentPos > 0){ _seek(_currentPos); _currentPos = 0; setState(VideoState.BUFFERING); } else { setState(VideoState.BUFFERING); }; }; }; } else { _pause(false); if (_atEnd){ _atEnd = false; _seek(0); _state = VideoState.BUFFERING; setState(VideoState.REWINDING); } else { if (_bufferState == BUFFER_EMPTY){ setState(VideoState.BUFFERING); } else { setState(VideoState.PLAYING); }; }; }; break; case VideoState.PAUSED: _pause(false); if (!_ncMgr.isRTMP){ if (_bufferState == BUFFER_EMPTY){ setState(VideoState.BUFFERING); } else { setState(VideoState.PLAYING); }; } else { setState(VideoState.BUFFERING); }; break; }; } public function get isLive():Boolean{ return (_isLive); } flvplayback_internal function setStateFromCachedState(_arg1:Boolean=true):void{ switch (_cachedState){ case VideoState.PLAYING: case VideoState.PAUSED: case VideoState.BUFFERING: setState(_cachedState, _arg1); break; default: setState(VideoState.STOPPED, _arg1); break; }; } public function get idleTimeout():Number{ return (_idleTimeoutTimer.delay); } public function get registrationHeight():Number{ return (_registrationHeight); } public function ncReconnected():void{ if ((((_ncMgr == null)) || ((_ncMgr.netConnection == null)))){ setState(VideoState.CONNECTION_ERROR); } else { _ns = null; _state = VideoState.STOPPED; execQueuedCmds(); }; } flvplayback_internal function startAutoResize():void{ switch (_state){ case VideoState.DISCONNECTED: case VideoState.CONNECTION_ERROR: return; default: if (_ns == null){ return; }; _autoResizeDone = false; if (((stateResponsive) && (((((((((!((super.videoWidth == 0))) || (!((super.videoHeight == 0))))) || ((_bufferState == BUFFER_FULL)))) || ((_bufferState == BUFFER_FLUSH)))) || ((_ns.time > autoResizePlayheadTimeout)))))){ doAutoResize(); } else { _autoResizeTimer.reset(); _autoResizeTimer.start(); }; break; }; } flvplayback_internal function setState(_arg1:String, _arg2:Boolean=true):void{ var _local3:String; if (_arg1 == _state){ return; }; _hiddenRewindPlayheadTime = NaN; _cachedState = _state; _cachedPlayheadTime = playheadTime; _state = _arg1; _local3 = _state; dispatchEvent(new VideoEvent(VideoEvent.STATE_CHANGE, false, false, _local3, playheadTime)); if (!_readyDispatched){ switch (_local3){ case VideoState.STOPPED: case VideoState.PLAYING: case VideoState.PAUSED: case VideoState.BUFFERING: _readyDispatched = true; dispatchEvent(new VideoEvent(VideoEvent.READY, false, false, _local3, playheadTime)); break; }; }; switch (_cachedState){ case VideoState.REWINDING: dispatchEvent(new VideoEvent(VideoEvent.AUTO_REWOUND, false, false, _local3, playheadTime)); if (((_ncMgr.isRTMP) && ((_local3 == VideoState.STOPPED)))){ closeNS(); }; break; }; switch (_local3){ case VideoState.STOPPED: case VideoState.PAUSED: if (_ncMgr.isRTMP){ _idleTimeoutTimer.reset(); _idleTimeoutTimer.start(); }; break; case VideoState.SEEKING: case VideoState.REWINDING: _bufferState = BUFFER_EMPTY; _sawPlayStop = false; _idleTimeoutTimer.reset(); break; case VideoState.PLAYING: case VideoState.BUFFERING: _updateTimeTimer.start(); _idleTimeoutTimer.reset(); break; case VideoState.LOADING: case VideoState.RESIZING: _idleTimeoutTimer.reset(); break; }; if (_arg2){ execQueuedCmds(); }; } flvplayback_internal function _seek(_arg1:Number):void{ _rtmpDoStopAtEndTimer.reset(); if (((((!((_metadata == null))) && (!((_metadata.audiodelay == undefined))))) && (((isNaN(_streamLength)) || (((_arg1 + _metadata.audiodelay) < _streamLength)))))){ _arg1 = (_arg1 + _metadata.audiodelay); }; _ns.seek(_arg1); _lastSeekTime = _arg1; _invalidSeekTime = false; _bufferState = BUFFER_EMPTY; _sawPlayStop = false; _sawSeekNotify = false; } public function get autoRewind():Boolean{ return (_autoRewind); } flvplayback_internal function doIdleTimeout(_arg1:TimerEvent):void{ close(); } public function playWhenEnoughDownloaded():void{ if (((!((_ncMgr == null))) && (_ncMgr.isRTMP))){ play(); return; }; if (!isXnOK()){ throw (new VideoError(VideoError.NO_CONNECTION)); }; if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; } else { if (!stateResponsive){ queueCmd(QueuedCommand.PLAY_WHEN_ENOUGH); return; }; execQueuedCmds(); }; waitingForEnough = true; checkReadyForPlay(bytesLoaded, bytesTotal); } flvplayback_internal function rtmpDoSeek(_arg1:TimerEvent):void{ if (((!((_state == VideoState.REWINDING))) && (!((_state == VideoState.SEEKING))))){ _rtmpDoSeekTimer.reset(); _sawSeekNotify = false; } else { if (playheadTime != _cachedPlayheadTime){ _rtmpDoSeekTimer.reset(); _sawSeekNotify = false; setStateFromCachedState(false); doUpdateTime(); _lastSeekTime = playheadTime; execQueuedCmds(); }; }; } public function get netStream():NetStream{ return (_ns); } override public function get videoHeight():int{ if (_videoHeight > 0){ return (_videoHeight); }; if (((((!((_metadata == null))) && (!(isNaN(_metadata.width))))) && (!(isNaN(_metadata.height))))){ if ((((_metadata.width == _metadata.height)) && (_readyDispatched))){ return (super.videoHeight); }; return (int(_metadata.height)); }; if (_readyDispatched){ return (super.videoHeight); }; return (-1); } public function set registrationX(_arg1:Number):void{ var _local2:Number; if (_registrationX != _arg1){ _local2 = (_arg1 - _registrationX); _registrationX = _arg1; this.x = (this.x + _local2); }; } public function set registrationY(_arg1:Number):void{ var _local2:Number; if (_registrationY != _arg1){ _local2 = (_arg1 - _registrationY); _registrationY = _arg1; this.y = (this.y + _local2); }; } flvplayback_internal function doUpdateProgress(_arg1:TimerEvent):void{ var _local2:uint; var _local3:uint; if (_ns == null){ return; }; _local2 = _ns.bytesLoaded; _local3 = _ns.bytesTotal; if (_local3 < uint.MAX_VALUE){ dispatchEvent(new VideoProgressEvent(VideoProgressEvent.PROGRESS, false, false, _local2, _local3)); }; if ((((((_state == VideoState.DISCONNECTED)) || ((_state == VideoState.CONNECTION_ERROR)))) || ((_local2 >= _local3)))){ _updateProgressTimer.stop(); }; checkEnoughDownloaded(_local2, _local3); } override public function set width(_arg1:Number):void{ super.width = (_registrationWidth = _arg1); switch (_scaleMode){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: startAutoResize(); break; default: super.width = _arg1; break; }; } public function get isRTMP():Boolean{ if (_ncMgr == null){ return (false); }; return (_ncMgr.isRTMP); } public function get bytesTotal():uint{ if ((((_ns == null)) || (_ncMgr.isRTMP))){ return (uint.MAX_VALUE); }; return (_ns.bytesTotal); } public function setSize(_arg1:Number, _arg2:Number):void{ super.width = (_registrationWidth = _arg1); super.height = (_registrationHeight = _arg2); switch (_scaleMode){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: startAutoResize(); break; default: super.x = _registrationX; super.y = _registrationY; break; }; } flvplayback_internal function isXnOK():Boolean{ if (_state == VideoState.LOADING){ return (true); }; if (_state == VideoState.CONNECTION_ERROR){ return (false); }; if (_state != VideoState.DISCONNECTED){ if ((((((_ncMgr == null)) || ((_ncMgr.netConnection == null)))) || (((_ncMgr.isRTMP) && (!(_ncMgr.netConnection.connected)))))){ setState(VideoState.DISCONNECTED); return (false); }; return (true); }; return (false); } flvplayback_internal function _createStream():void{ var _local1:NetStream; _ns = null; _local1 = new NetStream(_ncMgr.netConnection); if (_ncMgr.isRTMP){ _local1.addEventListener(NetStatusEvent.NET_STATUS, rtmpNetStatus); } else { _local1.addEventListener(NetStatusEvent.NET_STATUS, httpNetStatus); }; _local1.client = createNetStreamClient(); _local1.bufferTime = _bufferTime; _local1.soundTransform = soundTransform; _ns = _local1; attachNetStream(_ns); } flvplayback_internal function checkReadyForPlay(_arg1:uint, _arg2:uint):void{ var _local3:Number; if (_arg1 >= _arg2){ waitingForEnough = false; _cachedState = _state; _state = VideoState.EXEC_QUEUED_CMD; play(); execQueuedCmds(); return; }; if (isNaN(baselineProgressTime)){ return; }; if (((isNaN(totalTime)) || ((totalTime < 0)))){ waitingForEnough = false; _cachedState = _state; _state = VideoState.EXEC_QUEUED_CMD; play(); execQueuedCmds(); } else { if (totalDownloadTime > 1.5){ _local3 = ((totalProgressTime - baselineProgressTime) / totalDownloadTime); if ((totalTime - playheadTime) > ((totalTime - totalProgressTime) / _local3)){ waitingForEnough = false; _cachedState = _state; _state = VideoState.EXEC_QUEUED_CMD; play(); execQueuedCmds(); }; }; }; } flvplayback_internal function closeNS(_arg1:Boolean=false):void{ if (_ns != null){ if (_arg1){ doUpdateTime(); _currentPos = _ns.time; }; _updateTimeTimer.reset(); _updateProgressTimer.reset(); _idleTimeoutTimer.reset(); _autoResizeTimer.reset(); _rtmpDoStopAtEndTimer.reset(); _rtmpDoSeekTimer.reset(); _httpDoSeekTimer.reset(); _finishAutoResizeTimer.reset(); _delayedBufferingTimer.reset(); _ns.removeEventListener(NetStatusEvent.NET_STATUS, rtmpNetStatus); _ns.removeEventListener(NetStatusEvent.NET_STATUS, httpNetStatus); _ns.close(); _ns = null; }; } flvplayback_internal function _load(_arg1:String, _arg2:Number, _arg3:Boolean):void{ var _local4:Boolean; _prevVideoWidth = super.videoWidth; _prevVideoHeight = super.videoHeight; _autoResizeDone = false; _cachedPlayheadTime = 0; _bufferState = BUFFER_EMPTY; _sawPlayStop = false; _metadata = null; _startingPlay = false; _invalidSeekTime = false; _invalidSeekRecovery = false; _isLive = _arg3; _contentPath = _arg1; _currentPos = 0; _streamLength = (((isNaN(_arg2)) || ((_arg2 <= 0)))) ? NaN : _arg2; _atEnd = false; _readyDispatched = false; _lastUpdateTime = NaN; lastUpdateTimeStuckCount = 0; _sawSeekNotify = false; waitingForEnough = false; baselineProgressTime = NaN; startProgressTime = NaN; totalDownloadTime = NaN; totalProgressTime = NaN; _httpDoSeekCount = 0; _updateTimeTimer.reset(); _updateProgressTimer.reset(); _idleTimeoutTimer.reset(); _autoResizeTimer.reset(); _rtmpDoStopAtEndTimer.reset(); _rtmpDoSeekTimer.reset(); _httpDoSeekTimer.reset(); _finishAutoResizeTimer.reset(); _delayedBufferingTimer.reset(); closeNS(false); if (_ncMgr == null){ createINCManager(); }; _local4 = _ncMgr.connectToURL(_contentPath); setState(VideoState.LOADING); _cachedState = VideoState.LOADING; if (_local4){ _createStream(); _setUpStream(); }; if (!_ncMgr.isRTMP){ _updateProgressTimer.start(); }; } flvplayback_internal function rtmpDoStopAtEnd(_arg1:TimerEvent=null):void{ if (_rtmpDoStopAtEndTimer.running){ switch (_state){ case VideoState.DISCONNECTED: case VideoState.CONNECTION_ERROR: _rtmpDoStopAtEndTimer.reset(); return; }; if ((((_arg1 == null)) || ((_cachedPlayheadTime == playheadTime)))){ _rtmpDoStopAtEndTimer.reset(); } else { _cachedPlayheadTime = playheadTime; return; }; }; if ((((((((_atEndCheckPlayhead == playheadTime)) && (!((_atEndCheckPlayhead == _lastSeekTime))))) && (!(_isLive)))) && (!((playheadTime == 0))))){ _atEnd = false; _currentPos = 0; _play(0); return; }; _atEndCheckPlayhead = NaN; _bufferState = BUFFER_EMPTY; _sawPlayStop = false; _atEnd = true; setState(VideoState.STOPPED); if (_state != VideoState.STOPPED){ return; }; doUpdateTime(); if (_state != VideoState.STOPPED){ return; }; dispatchEvent(new VideoEvent(VideoEvent.COMPLETE, false, false, _state, playheadTime)); if (_state != VideoState.STOPPED){ return; }; if (((((_autoRewind) && (!(_isLive)))) && (!((playheadTime == 0))))){ _atEnd = false; _currentPos = 0; _play(0, 0); setState(VideoState.REWINDING); } else { closeNS(); }; } public function set idleTimeout(_arg1:Number):void{ _idleTimeoutTimer.delay = _arg1; } public function set playheadUpdateInterval(_arg1:Number):void{ _updateTimeTimer.delay = _arg1; } flvplayback_internal function checkEnoughDownloaded(_arg1:uint, _arg2:uint):void{ if ((((_arg1 == 0)) || ((_arg2 == uint.MAX_VALUE)))){ return; }; if (((isNaN(totalTime)) || ((totalTime <= 0)))){ if (((waitingForEnough) && (stateResponsive))){ waitingForEnough = false; _cachedState = _state; _state = VideoState.EXEC_QUEUED_CMD; play(); execQueuedCmds(); }; return; }; if (_arg1 >= _arg2){ if (waitingForEnough){ waitingForEnough = false; _cachedState = _state; _state = VideoState.EXEC_QUEUED_CMD; play(); execQueuedCmds(); }; return; }; if (isNaN(baselineProgressTime)){ baselineProgressTime = ((_arg1 / _arg2) * totalTime); }; if (isNaN(startProgressTime)){ startProgressTime = getTimer(); } else { totalDownloadTime = ((getTimer() - startProgressTime) / 1000); totalProgressTime = ((_arg1 / _arg2) * totalTime); if (waitingForEnough){ checkReadyForPlay(_arg1, _arg2); }; }; } public function close():void{ closeNS(true); if (((!((_ncMgr == null))) && (_ncMgr.isRTMP))){ _ncMgr.close(); }; setState(VideoState.DISCONNECTED); dispatchEvent(new VideoEvent(VideoEvent.CLOSE, false, false, _state, playheadTime)); } public function pause():void{ if (!isXnOK()){ if ((((((_state == VideoState.CONNECTION_ERROR)) || ((_ncMgr == null)))) || ((_ncMgr.netConnection == null)))){ throw (new VideoError(VideoError.NO_CONNECTION)); }; return; } else { if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; } else { if (!stateResponsive){ queueCmd(QueuedCommand.PAUSE); return; }; execQueuedCmds(); }; }; if ((((((_state == VideoState.PAUSED)) || ((_state == VideoState.STOPPED)))) || ((_ns == null)))){ return; }; _pause(true); setState(VideoState.PAUSED); } } }//package fl.video
Section 40
//VideoPlayerClient (fl.video.VideoPlayerClient) package fl.video { public dynamic class VideoPlayerClient { protected var _owner:VideoPlayer; protected var gotMetadata:Boolean; public function VideoPlayerClient(_arg1:VideoPlayer){ _owner = _arg1; gotMetadata = false; } public function get ready():Boolean{ return (gotMetadata); } public function onMetaData(_arg1:Object, ... _args):void{ _arg1.duration; _arg1.width; _arg1.height; _owner.onMetaData(_arg1); gotMetadata = true; } public function get owner():VideoPlayer{ return (_owner); } public function onCuePoint(_arg1:Object, ... _args):void{ _arg1.name; _arg1.time; _arg1.type; _owner.onCuePoint(_arg1); } } }//package fl.video
Section 41
//VideoPlayerState (fl.video.VideoPlayerState) package fl.video { public class VideoPlayerState { public var autoPlay:Boolean; public var isWaiting:Boolean; public var isLiveSet:Boolean; public var index:int; public var prevState:String; public var preSeekTime:Number; public var minProgressPercent:Number; public var url:String; public var totalTime:Number; public var owner:VideoPlayer; public var isLive:Boolean; public var cmdQueue:Array; public var totalTimeSet:Boolean; public function VideoPlayerState(_arg1:VideoPlayer, _arg2:int){ this.owner = _arg1; this.index = _arg2; this.url = ""; this.isLive = false; this.isLiveSet = true; this.totalTime = NaN; this.totalTimeSet = true; this.autoPlay = (_arg2 == 0); this.isWaiting = false; this.preSeekTime = NaN; this.cmdQueue = null; } } }//package fl.video
Section 42
//VideoProgressEvent (fl.video.VideoProgressEvent) package fl.video { import flash.events.*; public class VideoProgressEvent extends ProgressEvent implements IVPEvent { private var _vp:uint; public static const PROGRESS:String = "progress"; public function VideoProgressEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:uint=0){ super(_arg1, _arg2, _arg3, _arg4, _arg5); _vp = _arg6; } override public function clone():Event{ return (new VideoProgressEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, vp)); } public function set vp(_arg1:uint):void{ _vp = _arg1; } public function get vp():uint{ return (_vp); } } }//package fl.video
Section 43
//VideoScaleMode (fl.video.VideoScaleMode) package fl.video { public final class VideoScaleMode { public static const EXACT_FIT:String = "exactFit"; public static const MAINTAIN_ASPECT_RATIO:String = "maintainAspectRatio"; public static const NO_SCALE:String = "noScale"; } }//package fl.video
Section 44
//VideoState (fl.video.VideoState) package fl.video { public final class VideoState { public static const CONNECTION_ERROR:String = "connectionError"; public static const BUFFERING:String = "buffering"; public static const SEEKING:String = "seeking"; public static const STOPPED:String = "stopped"; public static const PAUSED:String = "paused"; public static const RESIZING:String = "resizing"; public static const PLAYING:String = "playing"; public static const DISCONNECTED:String = "disconnected"; public static const LOADING:String = "loading"; public static const REWINDING:String = "rewinding"; flvplayback_internal static var EXEC_QUEUED_CMD:String = "execQueuedCmd"; } }//package fl.video
Section 45
//TweenerEvent (jp.nium.api.tweener.TweenerEvent) package jp.nium.api.tweener { import flash.events.*; public class TweenerEvent extends Event { private var _metaError:Error; public static const ERROR:String = "error"; public static const COMPLETE:String = "complete"; public static const START:String = "start"; public static const OVERWRITE:String = "overwrite"; public static const UPDATE:String = "update"; public function TweenerEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Error=null){ super(_arg1, _arg2, _arg3); _metaError = _arg4; } override public function toString():String{ return (formatToString("TweenerEvent", "type", "bubbles", "cancelable", "metaError")); } public function get metaError():Error{ return (_metaError); } override public function clone():Event{ return (new TweenerEvent(type, bubbles, cancelable, _metaError)); } } }//package jp.nium.api.tweener
Section 46
//TweenerHelper (jp.nium.api.tweener.TweenerHelper) package jp.nium.api.tweener { import flash.display.*; import caurina.transitions.*; import jp.nium.events.*; import jp.nium.utils.*; public class TweenerHelper extends EventIntegrator { private var _parameters:Object; private var _onOverwriteParams:Array; private var _onErrorFunction:Function; private var _onOverwriteFunction:Function; private var _onOverwriteScope:Object; private var _onStartParams:Array; private var _onUpdateScope:Object; private var _onStartScope:Object; private var _onCompleteParams:Array; private var _scopes:Object; private var _onCompleteFunction:Function; private var _onErrorScope:Object; private var _onUpdateParams:Array; private var _onUpdateFunction:Function; private var _onStartFunction:Function; public function TweenerHelper(_arg1:Object=null, _arg2:Object=null){ var _local3:*; super(); _scopes = _arg1; _parameters = _arg2; switch (true){ case ("_frame" in _parameters): _local3 = _parameters._frame; if ((_local3 is int)){ break; }; if (!(_scopes is MovieClip)){ break; }; _parameters._frame = MovieClipUtil.labelToFrames(MovieClip(_scopes), _local3)[0]; break; }; _onCompleteFunction = _parameters.onComplete; _onCompleteParams = _parameters.onCompleteParams; _onErrorFunction = _parameters.onError; _onErrorScope = _parameters.onErrorScope; _onOverwriteFunction = _parameters.onOverwrite; _onOverwriteParams = _parameters.onOverwriteParams; _onOverwriteScope = _parameters.onOverwriteScope; _onStartFunction = _parameters.onStart; _onStartParams = _parameters.onStartParams; _onStartScope = _parameters.onStartScope; _onUpdateFunction = _parameters.onUpdate; _onUpdateParams = _parameters.onUpdateParams; _onUpdateScope = _parameters.onUpdateScope; _parameters.onComplete = _onComplete; _parameters.onError = _onError; _parameters.onOverwrite = _onOverwrite; _parameters.onStart = _onStart; _parameters.onUpdate = _onUpdate; } private function _onStart():void{ if ((_onStartFunction is Function)){ _onStartFunction.apply(_onStartScope, _onStartParams); }; dispatchEvent(new TweenerEvent(TweenerEvent.START)); } public function removeTweens(... _args):Boolean{ return (Tweener.removeTweens.apply(null, [_scopes].concat(_args))); } public function doTween():Boolean{ return (Tweener.addTween(_scopes, _parameters)); } private function _onError(_arg1:Object, _arg2:Error):void{ if ((_onErrorFunction is Function)){ _onErrorFunction.apply(_onErrorScope, [_arg1, _arg2]); }; dispatchEvent(new TweenerEvent(TweenerEvent.ERROR, false, false, _arg2)); } private function _onOverwrite():void{ if ((_onOverwriteFunction is Function)){ _onOverwriteFunction.apply(_onOverwriteScope, _onOverwriteParams); }; dispatchEvent(new TweenerEvent(TweenerEvent.OVERWRITE)); } private function _onComplete():void{ if ((_onCompleteFunction is Function)){ _onCompleteFunction.apply(_scopes, _onCompleteParams); }; dispatchEvent(new TweenerEvent(TweenerEvent.COMPLETE)); } private function _onUpdate():void{ if ((_onUpdateFunction is Function)){ _onUpdateFunction.apply(_onUpdateScope, _onUpdateParams); }; dispatchEvent(new TweenerEvent(TweenerEvent.UPDATE)); } override public function toString():String{ return ("[object TweenerHelper]"); } public function resumeTweens(... _args):Boolean{ return (Tweener.pauseTweens.apply(null, [_scopes].concat(_args))); } public function pauseTweens(... _args):Boolean{ return (Tweener.pauseTweens.apply(null, [_scopes].concat(_args))); } } }//package jp.nium.api.tweener
Section 47
//ExDisplayCollection (jp.nium.core.collections.ExDisplayCollection) package jp.nium.core.collections { import jp.nium.core.display.*; import flash.utils.*; import jp.nium.core.errors.*; import jp.nium.core.namespaces.*; public class ExDisplayCollection { private static var _nums:Dictionary = new Dictionary(true); private static var _groups:Dictionary = new Dictionary(true); private static var _numInstances:int = 0; private static var _ids:Dictionary = new Dictionary(true); private static var _instances:Dictionary = new Dictionary(true); public function ExDisplayCollection(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "ExDisplayCollection"))); } nium_internal static function getInstancesByGroup(_arg1:String, _arg2:Boolean=false):Array{ var _local3:Array; _local3 = (_groups[_arg1] as Array); _local3 = (_local3) ? _local3.slice() : []; if (_arg2){ _local3.sortOn(["id", "name", "group"]); }; return (_local3); } nium_internal static function addInstanceAtId(_arg1:IExDisplayObject, _arg2:String):String{ var _local3:IExDisplayObject; _arg2 = ((_arg2) || ("")); _local3 = IExDisplayObject(_ids[_arg2]); if (_local3){ _local3.id = ""; delete _ids[_arg2]; }; delete _ids[_arg1.id]; if (_arg2 != ""){ _ids[_arg2] = _arg1; }; return (_arg2); } nium_internal static function getInstancesByRegExp(_arg1:String, _arg2:RegExp, _arg3:Boolean=false):Array{ var _local4:Array; var _local5:IExDisplayObject; _local4 = []; for each (_local5 in _instances) { if (!(_arg1 in _local5)){ } else { _arg2.lastIndex = 0; if (!_arg2.test(String(_local5[_arg1]))){ } else { _local4.push(_local5); }; }; }; if (_arg3){ _local4.sortOn(["id", "name", "group"]); }; return (_local4); } nium_internal static function getInstanceById(_arg1:String):IExDisplayObject{ return (IExDisplayObject(_ids[_arg1])); } nium_internal static function addInstance(_arg1:IExDisplayObject):void{ _instances[_numInstances] = _arg1; _nums[_arg1] = _numInstances++; } nium_internal static function getNumByInstance(_arg1:IExDisplayObject):int{ return (int(_nums[_arg1])); } nium_internal static function addInstanceAtGroup(_arg1:IExDisplayObject, _arg2:String):String{ var _local3:Array; var _local4:int; var _local5:int; _arg2 = ((_arg2) || ("")); _local3 = (_groups[_arg2] as Array); if (_local3){ _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { if (_local3[_local5] != _arg1){ } else { _arg1.group = ""; _local3.splice(_local5, 1); break; }; _local5++; }; }; if (_arg2 != ""){ if (!_groups[_arg2]){ _groups[_arg2] = []; }; _local3 = _groups[_arg2]; _local3.push(_arg1); } else { _local3 = _groups[_arg1.group]; _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { if (_local3[_local5] != _arg1){ } else { _local3.splice(_local5, 1); _arg1.group = ""; break; }; _local5++; }; }; return (_arg2); } } }//package jp.nium.core.collections
Section 48
//ExDisplayObject (jp.nium.core.display.ExDisplayObject) package jp.nium.core.display { import flash.events.*; import flash.display.*; import jp.nium.events.*; import jp.nium.utils.*; import jp.nium.core.errors.*; import jp.nium.core.collections.*; import jp.nium.core.namespaces.*; public class ExDisplayObject implements IExDisplayObject { private var _group:String; private var _displayObject:DisplayObject; private var _className:String; private var _target:IExDisplayObject; private var _id:String; private var _integrator:EventIntegrator; public function ExDisplayObject(_arg1:IExDisplayObject){ if (!(_arg1 is DisplayObject)){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_8002"))); }; _className = ClassUtil.getClassName(_arg1); ExDisplayCollection.addInstance(_arg1); _target = _arg1; _displayObject = DisplayObject(_arg1); _integrator = new EventIntegrator(_arg1); _integrator.initialize({addEventListener:_integrator.addEventListener, removeEventListener:_integrator.removeEventListener, hasEventListener:_integrator.hasEventListener, willTrigger:_integrator.willTrigger, dispatchEvent:_integrator.dispatchEvent}); } public function hasEventListener(_arg1:String):Boolean{ return (_integrator.hasEventListener(_arg1)); } public function willTrigger(_arg1:String):Boolean{ return (_integrator.willTrigger(_arg1)); } public function getInstancesByRegExp(_arg1:String, _arg2:RegExp, _arg3:Boolean=false):Array{ return (ExDisplayCollection.getInstancesByRegExp(_arg1, _arg2, _arg3)); } nium_internal function initialize(_arg1:Object):void{ _integrator.initialize({addEventListener:_arg1.addEventListener, removeEventListener:_arg1.removeEventListener, hasEventListener:_arg1.hasEventListener, willTrigger:_arg1.willTrigger, dispatchEvent:_arg1.dispatchEvent}); } protected function get target():IExDisplayObject{ return (_target); } public function get className():String{ return (_className); } public function getInstancesByGroup(_arg1:String, _arg2:Boolean=false):Array{ return (ExDisplayCollection.getInstancesByGroup(_arg1, _arg2)); } public function setProperties(_arg1:Object):DisplayObject{ ObjectUtil.setProperties(_displayObject, _arg1); return (_displayObject); } public function get id():String{ return (_id); } public function dispatchEvent(_arg1:Event):Boolean{ return (_integrator.dispatchEvent(_arg1)); } public function removeAllListeners(_arg1:Boolean=false):void{ _integrator.removeAllListeners(_arg1); } public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _integrator.removeEventListener(_arg1, _arg2, _arg3); } public function addExclusivelyEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _integrator.addExclusivelyEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _integrator.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public function set id(_arg1:String):void{ _id = ExDisplayCollection.addInstanceAtId(_target, _arg1); } public function toBitmapData(_arg1:Boolean=true, _arg2:uint=4294967295):BitmapData{ var _local3:BitmapData; _local3 = new BitmapData(_displayObject.width, _displayObject.height, _arg1, _arg2); _local3.draw(_displayObject); return (_local3); } public function completelyRemoveEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _integrator.completelyRemoveEventListener(_arg1, _arg2, _arg3); } public function restoreRemovedListeners():void{ _integrator.restoreRemovedListeners(); } public function toString():String{ return ((((((((("[" + _className) + " id=\"") + _id) + "\" name=\"") + _displayObject.name) + "\" group=\"") + _group) + "\"]")); } public function getInstanceById(_arg1:String):DisplayObject{ return (DisplayObject(ExDisplayCollection.getInstanceById(_arg1))); } public function set group(_arg1:String):void{ _group = ExDisplayCollection.addInstanceAtGroup(_target, _arg1); } public function get group():String{ return (_group); } } }//package jp.nium.core.display
Section 49
//ExDisplayObjectContainer (jp.nium.core.display.ExDisplayObjectContainer) package jp.nium.core.display { import flash.display.*; import jp.nium.display.*; import jp.nium.core.namespaces.*; public class ExDisplayObjectContainer extends ExDisplayObject implements IExDisplayObjectContainer { private var _indexer:ChildIndexer; public function ExDisplayObjectContainer(_arg1:IExDisplayObjectContainer){ var _local2:DisplayObjectContainer; _local2 = DisplayObjectContainer(_arg1); _indexer = new ChildIndexer(_local2); super(_arg1); _indexer.initialize({addChild:_local2.addChild, addChildAt:_local2.addChildAt, removeChild:_local2.removeChild, removeChildAt:_local2.removeChildAt, contains:_local2.contains, getChildAt:_local2.getChildAt, getChildByName:_local2.getChildByName, getChildIndex:_local2.getChildIndex, swapChildren:_local2.swapChildren, swapChildrenAt:_local2.swapChildrenAt}); } public function getChildIndex(_arg1:DisplayObject):int{ return (_indexer.getChildIndex(_arg1)); } public function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject{ return (_indexer.addChildAt(_arg1, _arg2)); } override nium_internal function initialize(_arg1:Object):void{ super.initialize(_arg1); _indexer.initialize({addChild:_arg1.addChild, addChildAt:_arg1.addChildAt, removeChild:_arg1.removeChild, removeChildAt:_arg1.removeChildAt, contains:_arg1.contains, getChildAt:_arg1.getChildAt, getChildByName:_arg1.getChildByName, getChildIndex:_arg1.getChildIndex, swapChildren:_arg1.swapChildren, swapChildrenAt:_arg1.swapChildrenAt}); } public function swapChildrenAt(_arg1:int, _arg2:int):void{ _indexer.swapChildrenAt(_arg1, _arg2); } public function removeAllChildren():void{ _indexer.removeAllChildren(); } public function contains(_arg1:DisplayObject):Boolean{ return (_indexer.contains(_arg1)); } public function getChildByName(_arg1:String):DisplayObject{ return (_indexer.getChildByName(_arg1)); } public function get children():Array{ return (_indexer.children); } public function setChildIndex(_arg1:DisplayObject, _arg2:int):void{ _indexer.setChildIndex(_arg1, _arg2); } public function addChildAtAbove(_arg1:DisplayObject, _arg2:int):DisplayObject{ return (_indexer.addChildAtAbove(_arg1, _arg2)); } public function swapChildren(_arg1:DisplayObject, _arg2:DisplayObject):void{ _indexer.swapChildren(_arg1, _arg2); } public function getChildAt(_arg1:int):DisplayObject{ return (_indexer.getChildAt(_arg1)); } public function removeChildAt(_arg1:int):DisplayObject{ return (_indexer.removeChildAt(_arg1)); } public function setChildIndexAbove(_arg1:DisplayObject, _arg2:int):void{ _indexer.setChildIndexAbove(_arg1, _arg2); } public function removeChild(_arg1:DisplayObject):DisplayObject{ return (_indexer.removeChild(_arg1)); } public function addChild(_arg1:DisplayObject):DisplayObject{ return (_indexer.addChild(_arg1)); } } }//package jp.nium.core.display
Section 50
//IExDisplayObject (jp.nium.core.display.IExDisplayObject) package jp.nium.core.display { import flash.display.*; import jp.nium.events.*; public interface IExDisplayObject extends IEventIntegrator { function get className():String; function getInstancesByRegExp(_arg1:String, _arg2:RegExp, _arg3:Boolean=false):Array; function setProperties(_arg1:Object):DisplayObject; function set id(_arg1:String):void; function getInstancesByGroup(_arg1:String, _arg2:Boolean=false):Array; function get id():String; function getInstanceById(_arg1:String):DisplayObject; function set group(_arg1:String):void; function get group():String; } }//package jp.nium.core.display
Section 51
//IExDisplayObjectContainer (jp.nium.core.display.IExDisplayObjectContainer) package jp.nium.core.display { import flash.display.*; public interface IExDisplayObjectContainer extends IExDisplayObject { function swapChildrenAt(_arg1:int, _arg2:int):void; function removeChildAt(_arg1:int):DisplayObject; function getChildIndex(_arg1:DisplayObject):int; function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject; function removeAllChildren():void; function contains(_arg1:DisplayObject):Boolean; function getChildByName(_arg1:String):DisplayObject; function setChildIndexAbove(_arg1:DisplayObject, _arg2:int):void; function setChildIndex(_arg1:DisplayObject, _arg2:int):void; function addChildAtAbove(_arg1:DisplayObject, _arg2:int):DisplayObject; function swapChildren(_arg1:DisplayObject, _arg2:DisplayObject):void; function removeChild(_arg1:DisplayObject):DisplayObject; function getChildAt(_arg1:int):DisplayObject; function addChild(_arg1:DisplayObject):DisplayObject; function get children():Array; } }//package jp.nium.core.display
Section 52
//ErrorMessageConstants (jp.nium.core.errors.ErrorMessageConstants) package jp.nium.core.errors { import jp.nium.lang.*; public class ErrorMessageConstants { private static var _initialized:Boolean = function ():Boolean{ Locale.setString("ERROR_0000", "ja", "不明なエラーです。"); Locale.setString("ERROR_0000", "en", "The error is unknown."); Locale.setString("ERROR_1001", "ja", "メソッド %0 は実装されていません。"); Locale.setString("ERROR_1001", "en", "The method %0 is not implemented."); Locale.setString("ERROR_1074", "ja", "%0 の読み取り専用プロパティ %1 へは書き込みできません。"); Locale.setString("ERROR_1074", "en", "Illegal write to read-only property %1 on %0."); Locale.setString("ERROR_1507", "ja", "引数 %0 を null にすることはできません。"); Locale.setString("ERROR_1507", "en", "Argument %0 cannot be null."); Locale.setString("ERROR_2006", "ja", "指定したインデックスが境界外です。"); Locale.setString("ERROR_2006", "en", "The supplied index is out of bounds."); Locale.setString("ERROR_2008", "ja", "パラメータ %0 は承認された値の 1 つでなければなりません。"); Locale.setString("ERROR_2008", "en", "Parameter %0 must be one of the accepted values."); Locale.setString("ERROR_2012", "ja", "%0 クラスを直接インスタンス化することはできません。"); Locale.setString("ERROR_2012", "en", "%0 class cannot be instantiated."); Locale.setString("ERROR_2025", "ja", "指定した DisplayObject は呼び出し元の子でなければなりません。"); Locale.setString("ERROR_2025", "en", "The supplied DisplayObject must be a child of the caller."); Locale.setString("ERROR_8000", "ja", "パラメータ %0 は実装されていません。"); Locale.setString("ERROR_8000", "en", "The property %0 is not implemented."); Locale.setString("ERROR_8001", "ja", "%0 クラスはドキュメントクラス以外には使用できません。"); Locale.setString("ERROR_8001", "en", ""); Locale.setString("ERROR_8002", "ja", "ExDisplayObject クラスと関連付けるには DisplayObject クラスを継承している必要があります。"); Locale.setString("ERROR_8002", "en", ""); Locale.setString("ERROR_8003", "ja", "指定されたインデックス位置はすでに使用されています。"); Locale.setString("ERROR_8003", "en", ""); Locale.setString("ERROR_8004", "ja", "ExImageLoader クラスは JPG, GIF, PNG 以外の形式のファイルの読み込みには対応していません。"); Locale.setString("ERROR_8004", "en", ""); Locale.setString("ERROR_8005", "ja", "不正なフォーマットです。"); Locale.setString("ERROR_8005", "en", ""); Locale.setString("ERROR_8006", "ja", "改行コード以外を指定することはできません。"); Locale.setString("ERROR_8006", "en", ""); Locale.setString("ERROR_8007", "ja", "別の ChildIndexer オブジェクトに管理されている DisplayObjectContainer オブジェクトを指定することはできません。"); Locale.setString("ERROR_8007", "en", ""); Locale.setString("ERROR_9000", "ja", "コンテンツを再生するにはバージョン %0 以降の Flash Player が必要です。"); Locale.setString("ERROR_9000", "en", ""); Locale.setString("ERROR_9001", "ja", "すでに登録済みの Progression 識別子を設定することはできません。"); Locale.setString("ERROR_9001", "en", ""); Locale.setString("ERROR_9002", "ja", "ルートシーンとして使用するクラスは、SceneObject クラスを継承している必要があります。"); Locale.setString("ERROR_9002", "en", ""); Locale.setString("ERROR_9003", "ja", "ルートシーンのパラメータ name は変更できません。"); Locale.setString("ERROR_9003", "en", ""); Locale.setString("ERROR_9004", "ja", "同一階層上に同じ名前のシーン名を重複して設定することはできません。"); Locale.setString("ERROR_9004", "en", ""); Locale.setString("ERROR_9005", "ja", "%0 インスタンスの子シーンには、%0 インスタンス以外設定することはできません。"); Locale.setString("ERROR_9005", "en", ""); Locale.setString("ERROR_9006", "ja", "対象は DisplayObject または CastObject を継承している必要があります。"); Locale.setString("ERROR_9006", "en", ""); Locale.setString("ERROR_9007", "ja", "シーンパスの書式が正しくありません。"); Locale.setString("ERROR_9007", "en", ""); Locale.setString("ERROR_9008", "ja", "パラメータ centering が true の状態でパラメータ %0 の値を変更することはできません。"); Locale.setString("ERROR_9008", "en", ""); Locale.setString("ERROR_9009", "ja", "インスタンスを stage のディスプレイリストから削除することはできません。"); Locale.setString("ERROR_9009", "en", ""); Locale.setString("ERROR_9010", "ja", "初めて Progression インスタンス作成する際には stage を省略することはできません。"); Locale.setString("ERROR_9010", "en", ""); Locale.setString("ERROR_9011", "ja", "読み込み操作開始後にパラメータ %0 を設定することは出来ません。"); Locale.setString("ERROR_9011", "en", ""); Locale.setString("ERROR_9012", "ja", "パラメータ accessKey には A ~ Z の値を指定する必要があります。"); Locale.setString("ERROR_9012", "en", ""); Locale.setString("ERROR_9013", "ja", "CastPreloader クラスをドキュメントクラスに使用した SWF ファイルを、他の SWF ファイルに読み込むことはできません。"); Locale.setString("ERROR_9013", "en", ""); Locale.setString("ERROR_9014", "ja", "パラメータ root に設定する SceneObject はツリー構造部分の一番上である必要があります。"); Locale.setString("ERROR_9014", "en", ""); Locale.setString("ERROR_9018", "ja", "指定された sceneId に関連付けられている Progression インスタンスが存在しません。"); Locale.setString("ERROR_9018", "en", ""); Locale.setString("ERROR_9019", "ja", "<scene> 要素の属性 cls には、%0 クラス以外は設定することができません。"); Locale.setString("ERROR_9019", "en", ""); Locale.setString("ERROR_9020", "ja", "%0 要素はパラメータ %1 の値を省略することはできません。"); Locale.setString("ERROR_9020", "en", ""); Locale.setString("ERROR_9021", "ja", "%0 コマンドの処理がタイムアウトしました。"); Locale.setString("ERROR_9021", "en", ""); Locale.setString("ERROR_9022", "ja", "パラメータ contextMenu を使用することは出来ません。代わりにパラメータ uiContextMenu を使用してください。"); Locale.setString("ERROR_9022", "en", ""); Locale.setString("ERROR_9023", "ja", "対象は %0 インターフェイスを実装している必要があります。"); Locale.setString("ERROR_9023", "en", ""); Locale.setString("ERROR_9024", "ja", "2 つ以上の Loader コンポーネントを同時使用することはできません。"); Locale.setString("ERROR_9024", "en", ""); Locale.setString("ERROR_9025", "ja", "XML ファイルが PRML 形式に準拠していません。"); Locale.setString("ERROR_9025", "en", ""); Locale.setString("ERROR_9026", "ja", "XML ファイルに PRML 形式に対応した MIME タイプが設定されていません。"); Locale.setString("ERROR_9026", "en", ""); Locale.setString("ERROR_9027", "ja", "パラメータ parallelMode の値は、コマンド実行中に変更できません。"); Locale.setString("ERROR_9027", "en", ""); Locale.setString("ERROR_9028", "ja", "対応していない型のオブジェクトが指定されました。"); Locale.setString("ERROR_9028", "en", ""); Locale.setString("ERROR_9030", "ja", "AIR プロジェクトでパラメータ uiContextMenu を使用することはできません。"); Locale.setString("ERROR_9030", "en", ""); Locale.setString("ERROR_9031", "ja", "メソッド %0 は将来的にサポートされない機能です。代わりにメソッド %1 を使用してください。"); Locale.setString("ERROR_9031", "en", ""); Locale.setString("ERROR_9032", "ja", "パラメータ %0 は将来的にサポートされない機能です。代わりにパラメータ %1 を使用してください。"); Locale.setString("ERROR_9032", "en", ""); Locale.setString("ERROR_9033", "ja", "ルートシーンオブジェクトを別のシーンの子として登録することはできません。"); Locale.setString("ERROR_9033", "en", ""); Locale.setString("ERROR_9034", "ja", "scene_ は予約された書式なので使用することができません。"); Locale.setString("ERROR_9034", "en", ""); return (true); }.apply(); public function ErrorMessageConstants(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "ErrorMessageConstants"))); } public static function getMessage(_arg1:String, ... _args):String{ var _local3:String; var _local4:int; var _local5:int; _local3 = ((Locale.getString(_arg1)) || (Locale.getString("0000"))); _local4 = _args.length; _local5 = 0; while (_local5 < _local4) { _local3 = _local3.replace(new RegExp(("%" + _local5), "g"), _args[_local5]); _local5++; }; return (((("Error #" + _arg1.replace("ERROR_", "")) + ": ") + _local3)); } } }//package jp.nium.core.errors
Section 53
//FormatError (jp.nium.core.errors.FormatError) package jp.nium.core.errors { public class FormatError extends Error { public function FormatError(_arg1:String){ super(_arg1); } } }//package jp.nium.core.errors
Section 54
//nium_internal (jp.nium.core.namespaces.nium_internal) package jp.nium.core.namespaces { public namespace nium_internal = "http://nium.jp/namespaces/nium_internal"; }//package jp.nium.core.namespaces
Section 55
//ChildIndexer (jp.nium.display.ChildIndexer) package jp.nium.display { import flash.events.*; import flash.display.*; import jp.nium.events.*; import flash.utils.*; import jp.nium.core.errors.*; import jp.nium.core.namespaces.*; public class ChildIndexer { private var _container:DisplayObjectContainer; private var _getChildIndex:Function; private var _swapChildren:Function; private var _swapChildrenAt:Function; private var _getChildByName:Function; private var _addChildAt:Function; private var _removeChild:Function; private var _removeChildAt:Function; private var _getChildAt:Function; private var _childrenToIndex:Dictionary; private var _addAbove:Boolean;// = false private var _children:Array; private var _indexesToChild:Dictionary; private var _addChild:Function; private var _numChildren:int;// = 0 private var _contains:Function; private static var _indexers:Dictionary = new Dictionary(true); public function ChildIndexer(_arg1:DisplayObjectContainer){ _numChildren = 0; _addAbove = false; super(); if (_indexers[_arg1]){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_8007"))); }; _container = _arg1; _indexers[_container] = this; initialize({addChild:_arg1.addChild, addChildAt:_arg1.addChildAt, removeChild:_arg1.removeChild, removeChildAt:_arg1.removeChildAt, contains:_arg1.contains, getChildAt:_arg1.getChildAt, getChildByName:_arg1.getChildByName, getChildIndex:_arg1.getChildIndex, swapChildren:_arg1.swapChildren, swapChildrenAt:_arg1.swapChildrenAt}); } public function swapChildrenAt(_arg1:int, _arg2:int):void{ var _local3:DisplayObject; var _local4:DisplayObject; _local3 = _indexesToChild[_arg1]; _local4 = _indexesToChild[_arg2]; if (((!(_local3)) || (!(_local4)))){ throw (new RangeError(ErrorMessageConstants.getMessage("ERROR_8003"))); }; removeChild(_local3); removeChild(_local4); addChildAt(_local3, _arg2); addChildAt(_local4, _arg1); } public function getChildByName(_arg1:String):DisplayObject{ return (_getChildByName(_arg1)); } public function getChildIndex(_arg1:DisplayObject):int{ return (_childrenToIndex[_arg1]); } public function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject{ var _local3:int; var _local4:DisplayObjectContainer; var _local5:int; var _local6:ChildIndexer; var _local7:int; var _local8:int; var _local9:DisplayObject; var _local10:DisplayObject; var _local11:int; _local3 = _arg2; if (_local3 < 0){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2025"))); }; _local4 = DisplayObjectContainer(_arg1.parent); if (_local4){ _local6 = _indexers[_local4]; if (_local6){ _local6.removeChild(_arg1); } else { _local4.removeChild(_arg1); }; }; if (_indexesToChild[_local3]){ _local5 = _getChildIndex(_indexesToChild[_local3]); if (_addAbove){ _local3++; _local5++; _addAbove = false; }; _local7 = numChildren; _local8 = _local5; while (_local8 < _local7) { _local9 = _getChildAt(Math.max(_local5, (_local8 - 1))); _local10 = _getChildAt(_local8); if (_childrenToIndex[_local9] != _childrenToIndex[_local10]){ break; }; _local11 = (_childrenToIndex[_local10] + 1); delete _indexesToChild[_childrenToIndex[_local10]]; _indexesToChild[_local11] = _local10; _childrenToIndex[_local10] = _local11; _local8++; }; } else { _local7 = _children.length; _local8 = 0; while (_local8 < _local7) { if (_childrenToIndex[_children[_local8]] > _local3){ break; }; _local8++; }; _local5 = _local8; }; return (_addChildAt(_registerChild(_arg1, _local3), _local5)); } nium_internal function initialize(_arg1:Object):void{ var l:int; var i:int; var child:DisplayObject; var initObject = _arg1; _addChild = initObject.addChild; _addChildAt = initObject.addChildAt; _removeChild = initObject.removeChild; _removeChildAt = initObject.removeChildAt; _contains = initObject.contains; _getChildAt = initObject.getChildAt; _getChildByName = initObject.getChildByName; _getChildIndex = initObject.getChildIndex; _swapChildren = initObject.swapChildren; _swapChildrenAt = initObject.swapChildrenAt; _children = []; _indexesToChild = new Dictionary(true); _childrenToIndex = new Dictionary(true); if ((_container is IEventIntegrator)){ try { IEventIntegrator(_container).addExclusivelyEventListener(Event.ADDED, _added, true, int.MAX_VALUE, true); IEventIntegrator(_container).addExclusivelyEventListener(Event.REMOVED, _removed, false, int.MAX_VALUE, true); } catch(e:Error) { }; } else { _container.addEventListener(Event.ADDED, _added, true, int.MAX_VALUE, true); _container.addEventListener(Event.REMOVED, _removed, false, int.MAX_VALUE, true); }; l = _container.numChildren; i = 0; for (;i < l;(i = (i + 1))) { child = _getChildAt(i); //unresolved jump var _slot1 = e; continue; _indexesToChild[i] = child; _childrenToIndex[child] = i; _children.push(child); }; _numChildren = _children.length; } private function _unregisterChild(_arg1:DisplayObject):DisplayObject{ var _local2:int; var _local3:int; var _local4:DisplayObject; if (!isNaN(_childrenToIndex[_arg1])){ delete _indexesToChild[_childrenToIndex[_arg1]]; delete _childrenToIndex[_arg1]; _local2 = _children.length; _local3 = 0; while (_local3 < _local2) { _local4 = DisplayObject(_children[_local3]); if (_local4 != _arg1){ } else { _children.splice(_local3, 1); break; }; _local3++; }; }; _numChildren = _children.length; return (_arg1); } public function removeAllChildren():void{ var _local1:Array; var _local2:int; var _local3:int; _local1 = _children.slice(); _children = []; _indexesToChild = new Dictionary(true); _childrenToIndex = new Dictionary(true); _numChildren = 0; _local2 = _local1.length; _local3 = 0; while (_local3 < _local2) { _removeChild(_local1[_local3]); _local3++; }; } public function contains(_arg1:DisplayObject):Boolean{ return (_contains(_arg1)); } private function _removed(_arg1:Event):void{ var _local2:DisplayObject; var _local3:DisplayObjectContainer; var _local4:ChildIndexer; _local2 = DisplayObject(_arg1.target); _local3 = _local2.parent; if (_local3 != _container){ return; }; if (_childrenToIndex[_local2] == undefined){ return; }; _local4 = ChildIndexer(_indexers[_container]); _local4._unregisterChild(_local2); } private function _added(_arg1:Event):void{ var _local2:DisplayObject; var _local3:DisplayObjectContainer; var _local4:ChildIndexer; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:DisplayObject; var _local10:int; _local2 = DisplayObject(_arg1.target); _local3 = _local2.parent; if (_local3 != _container){ return; }; if (_childrenToIndex[_local2] != undefined){ return; }; _local4 = ChildIndexer(_indexers[_local3]); _local5 = _local4._getChildIndex(_local2); _local6 = -1; _local7 = _local3.numChildren; _local8 = 0; while (_local8 < _local7) { _local9 = _local4._getChildAt(_local8); if (!_local9){ } else { _local10 = _local4._getChildIndex(_local9); switch (true){ case (_local5 > _local10): _local6 = _local4.getChildIndex(_local9); break; case (_local5 == _local10): _local6++; delete _indexesToChild[_local6]; break; default: var _local11 = _childrenToIndex; var _local12 = _local9; var _local13 = (_local11[_local12] + 1); _local11[_local12] = _local13; }; }; _local8++; }; _local4._registerChild(_local2, _local6); } public function get numChildren():int{ return (_numChildren); } public function addChildAtAbove(_arg1:DisplayObject, _arg2:int):DisplayObject{ _addAbove = true; return (addChildAt(_arg1, _arg2)); } public function getChildAt(_arg1:int):DisplayObject{ return (_indexesToChild[_arg1]); } private function _registerChild(_arg1:DisplayObject, _arg2:int):DisplayObject{ var _local3:Array; var _local4:int; var _local5:int; var _local6:int; if (_indexesToChild[_arg2]){ throw (new RangeError(ErrorMessageConstants.getMessage("ERROR_8003"))); }; if (!isNaN(_childrenToIndex[_arg1])){ _unregisterChild(_arg1); }; _indexesToChild[_arg2] = _arg1; _childrenToIndex[_arg1] = _arg2; _local3 = []; for each (_local4 in _childrenToIndex) { _local3.push(_local4); }; _local3.sort(Array.NUMERIC); _children = []; _local5 = _local3.length; _local6 = 0; while (_local6 < _local5) { _children.push(_indexesToChild[_local3[_local6]]); _local6++; }; _numChildren = _children.length; return (_arg1); } public function swapChildren(_arg1:DisplayObject, _arg2:DisplayObject):void{ var _local3:int; var _local4:int; _local3 = _childrenToIndex[_arg1]; _local4 = _childrenToIndex[_arg2]; if (((!((_arg1.parent == _container))) || (!((_arg2.parent == _container))))){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2025"))); }; removeChild(_arg1); removeChild(_arg2); addChildAt(_arg1, _local4); addChildAt(_arg2, _local3); } public function setChildIndex(_arg1:DisplayObject, _arg2:int):void{ addChildAt(removeChild(_arg1), _arg2); } public function removeChildAt(_arg1:int):DisplayObject{ return (removeChild(_indexesToChild[_arg1])); } public function setChildIndexAbove(_arg1:DisplayObject, _arg2:int):void{ addChildAtAbove(removeChild(_arg1), _arg2); } public function toString():String{ return ("[object ChildIndexer]"); } public function removeChild(_arg1:DisplayObject):DisplayObject{ return (_removeChild(_unregisterChild(_arg1))); } public function addChild(_arg1:DisplayObject):DisplayObject{ var _local2:DisplayObjectContainer; var _local3:int; var _local4:ChildIndexer; _local2 = DisplayObjectContainer(_arg1.parent); if (_local2){ _local4 = _indexers[_local2]; if (_local4){ _local4.removeChild(_arg1); } else { _local2.removeChild(_arg1); }; }; _local3 = (numChildren) ? (_childrenToIndex[_getChildAt((numChildren - 1))] + 1) : 0; return (_addChild(_registerChild(_arg1, _local3))); } public function get children():Array{ return (_children.slice()); } } }//package jp.nium.display
Section 56
//ExMovieClip (jp.nium.display.ExMovieClip) package jp.nium.display { import flash.events.*; import flash.display.*; import flash.geom.*; import jp.nium.core.display.*; import jp.nium.events.*; import jp.nium.utils.*; public class ExMovieClip extends MovieClip implements IExDisplayObjectContainer, IEventIntegrator { private var _isPlaying:Boolean;// = false private var _isDragging:Boolean;// = false private var _previousFrameNum:Number;// = 1 private var _exDisplayObject:ExDisplayObjectContainer; private var _repeat:Boolean;// = false public function ExMovieClip(){ _isDragging = false; _isPlaying = false; _repeat = false; _previousFrameNum = 1; _isPlaying = (totalFrames > 1); addFrameScript((totalFrames - 1), _complete); _exDisplayObject = new ExDisplayObjectContainer(this); super(); _exDisplayObject.initialize({addChild:super.addChild, addChildAt:super.addChildAt, removeChild:super.removeChild, removeChildAt:super.removeChildAt, contains:super.contains, getChildAt:super.getChildAt, getChildByName:super.getChildByName, getChildIndex:super.getChildIndex, swapChildren:super.swapChildren, swapChildrenAt:super.swapChildrenAt, addEventListener:super.addEventListener, removeEventListener:super.removeEventListener, hasEventListener:super.hasEventListener, willTrigger:super.willTrigger, dispatchEvent:super.dispatchEvent}); } override public function stop():void{ _isPlaying = false; super.stop(); } override public function hasEventListener(_arg1:String):Boolean{ return (_exDisplayObject.hasEventListener(_arg1)); } public function set group(_arg1:String):void{ _exDisplayObject.group = _arg1; } public function get children():Array{ return (_exDisplayObject.children); } public function getInstancesByRegExp(_arg1:String, _arg2:RegExp, _arg3:Boolean=false):Array{ return (_exDisplayObject.getInstancesByRegExp(_arg1, _arg2, _arg3)); } public function hasFrame(_arg1):Boolean{ return (MovieClipUtil.hasFrame(this, _arg1)); } override public function getChildIndex(_arg1:DisplayObject):int{ return (_exDisplayObject.getChildIndex(_arg1)); } override public function setChildIndex(_arg1:DisplayObject, _arg2:int):void{ _exDisplayObject.setChildIndex(_arg1, _arg2); } public function get id():String{ return (_exDisplayObject.id); } public function get className():String{ return (_exDisplayObject.className); } override public function contains(_arg1:DisplayObject):Boolean{ return (_exDisplayObject.contains(_arg1)); } override public function play():void{ _isPlaying = (totalFrames > 1); super.play(); } public function setProperties(_arg1:Object):DisplayObject{ return (_exDisplayObject.setProperties(_arg1)); } public function set id(_arg1:String):void{ _exDisplayObject.id = _arg1; } override public function getChildAt(_arg1:int):DisplayObject{ return (_exDisplayObject.getChildAt(_arg1)); } override public function nextFrame():void{ _isPlaying = false; super.nextFrame(); } public function addExclusivelyEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _exDisplayObject.addExclusivelyEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } override public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _exDisplayObject.removeEventListener(_arg1, _arg2, _arg3); } override public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _exDisplayObject.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } override public function removeChildAt(_arg1:int):DisplayObject{ return (_exDisplayObject.removeChildAt(_arg1)); } override public function stopDrag():void{ _isDragging = false; super.stopDrag(); } public function completelyRemoveEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _exDisplayObject.completelyRemoveEventListener(_arg1, _arg2, _arg3); } override public function dispatchEvent(_arg1:Event):Boolean{ return (_exDisplayObject.dispatchEvent(_arg1)); } public function toBitmapData(_arg1:Boolean=true, _arg2:uint=4294967295):BitmapData{ return (_exDisplayObject.toBitmapData(_arg1, _arg2)); } override public function toString():String{ return (_exDisplayObject.toString()); } public function restoreRemovedListeners():void{ _exDisplayObject.restoreRemovedListeners(); } override public function addChild(_arg1:DisplayObject):DisplayObject{ return (_exDisplayObject.addChild(_arg1)); } public function set repeat(_arg1:Boolean):void{ _repeat = _arg1; } public function getInstanceById(_arg1:String):DisplayObject{ return (DisplayObject(_exDisplayObject.getInstanceById(_arg1))); } override public function swapChildrenAt(_arg1:int, _arg2:int):void{ _exDisplayObject.swapChildrenAt(_arg1, _arg2); } override public function willTrigger(_arg1:String):Boolean{ return (_exDisplayObject.willTrigger(_arg1)); } override public function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject{ return (_exDisplayObject.addChildAt(_arg1, _arg2)); } override public function getChildByName(_arg1:String):DisplayObject{ return (_exDisplayObject.getChildByName(_arg1)); } override public function gotoAndStop(_arg1:Object, _arg2:String=null):void{ _isPlaying = false; super.gotoAndStop(_arg1, _arg2); } private function _complete():void{ if (_repeat){ gotoAndPlay(1); } else { gotoAndStop(totalFrames); }; } public function get isDragging():Boolean{ return (_isDragging); } public function get group():String{ return (_exDisplayObject.group); } public function switchAtPlaying():void{ if (_isPlaying){ stop(); } else { play(); }; } public function addChildAtAbove(_arg1:DisplayObject, _arg2:int):DisplayObject{ return (_exDisplayObject.addChildAtAbove(_arg1, _arg2)); } override public function swapChildren(_arg1:DisplayObject, _arg2:DisplayObject):void{ _exDisplayObject.swapChildren(_arg1, _arg2); } public function get isPlaying():Boolean{ return (_isPlaying); } public function removeAllListeners(_arg1:Boolean=false):void{ _exDisplayObject.removeAllListeners(_arg1); } override public function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void{ _isDragging = true; super.startDrag(_arg1, _arg2); } public function get repeat():Boolean{ return (_repeat); } override public function gotoAndPlay(_arg1:Object, _arg2:String=null):void{ _isPlaying = (totalFrames > 1); super.gotoAndPlay(_arg1, _arg2); } public function removeAllChildren():void{ _exDisplayObject.removeAllChildren(); } public function getInstancesByGroup(_arg1:String, _arg2:Boolean=false):Array{ return (_exDisplayObject.getInstancesByGroup(_arg1, _arg2)); } public function setChildIndexAbove(_arg1:DisplayObject, _arg2:int):void{ _exDisplayObject.setChildIndexAbove(_arg1, _arg2); } override public function removeChild(_arg1:DisplayObject):DisplayObject{ return (_exDisplayObject.removeChild(_arg1)); } override public function prevFrame():void{ _isPlaying = false; super.prevFrame(); } } }//package jp.nium.display
Section 57
//ExSprite (jp.nium.display.ExSprite) package jp.nium.display { import flash.events.*; import flash.display.*; import flash.geom.*; import jp.nium.core.display.*; import jp.nium.events.*; public class ExSprite extends Sprite implements IExDisplayObjectContainer, IEventIntegrator { private var _isDragging:Boolean;// = false private var _exDisplayObject:ExDisplayObjectContainer; public function ExSprite(){ _isDragging = false; _exDisplayObject = new ExDisplayObjectContainer(this); super(); _exDisplayObject.initialize({addChild:super.addChild, addChildAt:super.addChildAt, removeChild:super.removeChild, removeChildAt:super.removeChildAt, contains:super.contains, getChildAt:super.getChildAt, getChildByName:super.getChildByName, getChildIndex:super.getChildIndex, swapChildren:super.swapChildren, swapChildrenAt:super.swapChildrenAt, addEventListener:super.addEventListener, removeEventListener:super.removeEventListener, hasEventListener:super.hasEventListener, willTrigger:super.willTrigger, dispatchEvent:super.dispatchEvent}); } override public function addChild(_arg1:DisplayObject):DisplayObject{ return (_exDisplayObject.addChild(_arg1)); } public function set group(_arg1:String):void{ _exDisplayObject.group = _arg1; } public function get children():Array{ return (_exDisplayObject.children); } public function getInstancesByRegExp(_arg1:String, _arg2:RegExp, _arg3:Boolean=false):Array{ return (_exDisplayObject.getInstancesByRegExp(_arg1, _arg2, _arg3)); } override public function getChildIndex(_arg1:DisplayObject):int{ return (_exDisplayObject.getChildIndex(_arg1)); } public function get id():String{ return (_exDisplayObject.id); } override public function contains(_arg1:DisplayObject):Boolean{ return (_exDisplayObject.contains(_arg1)); } public function get className():String{ return (_exDisplayObject.className); } override public function setChildIndex(_arg1:DisplayObject, _arg2:int):void{ _exDisplayObject.setChildIndex(_arg1, _arg2); } public function setProperties(_arg1:Object):DisplayObject{ return (_exDisplayObject.setProperties(_arg1)); } public function set id(_arg1:String):void{ _exDisplayObject.id = _arg1; } override public function getChildAt(_arg1:int):DisplayObject{ return (_exDisplayObject.getChildAt(_arg1)); } public function addExclusivelyEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _exDisplayObject.addExclusivelyEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public function removeAllListeners(_arg1:Boolean=false):void{ _exDisplayObject.removeAllListeners(_arg1); } override public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _exDisplayObject.removeEventListener(_arg1, _arg2, _arg3); } override public function removeChildAt(_arg1:int):DisplayObject{ return (_exDisplayObject.removeChildAt(_arg1)); } override public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _exDisplayObject.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } override public function stopDrag():void{ _isDragging = false; super.stopDrag(); } override public function dispatchEvent(_arg1:Event):Boolean{ return (_exDisplayObject.dispatchEvent(_arg1)); } public function toBitmapData(_arg1:Boolean=true, _arg2:uint=4294967295):BitmapData{ return (_exDisplayObject.toBitmapData(_arg1, _arg2)); } override public function toString():String{ return (_exDisplayObject.toString()); } public function setChildIndexAbove(_arg1:DisplayObject, _arg2:int):void{ _exDisplayObject.setChildIndexAbove(_arg1, _arg2); } public function restoreRemovedListeners():void{ _exDisplayObject.restoreRemovedListeners(); } public function get group():String{ return (_exDisplayObject.group); } public function getInstanceById(_arg1:String):DisplayObject{ return (DisplayObject(_exDisplayObject.getInstanceById(_arg1))); } override public function swapChildrenAt(_arg1:int, _arg2:int):void{ _exDisplayObject.swapChildrenAt(_arg1, _arg2); } public function getInstancesByGroup(_arg1:String, _arg2:Boolean=false):Array{ return (_exDisplayObject.getInstancesByGroup(_arg1, _arg2)); } override public function willTrigger(_arg1:String):Boolean{ return (_exDisplayObject.willTrigger(_arg1)); } override public function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject{ return (_exDisplayObject.addChildAt(_arg1, _arg2)); } override public function getChildByName(_arg1:String):DisplayObject{ return (_exDisplayObject.getChildByName(_arg1)); } public function get isDragging():Boolean{ return (_isDragging); } public function addChildAtAbove(_arg1:DisplayObject, _arg2:int):DisplayObject{ return (_exDisplayObject.addChildAtAbove(_arg1, _arg2)); } override public function swapChildren(_arg1:DisplayObject, _arg2:DisplayObject):void{ _exDisplayObject.swapChildren(_arg1, _arg2); } override public function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void{ _isDragging = true; super.startDrag(_arg1, _arg2); } public function removeAllChildren():void{ _exDisplayObject.removeAllChildren(); } public function completelyRemoveEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _exDisplayObject.completelyRemoveEventListener(_arg1, _arg2, _arg3); } override public function hasEventListener(_arg1:String):Boolean{ return (_exDisplayObject.hasEventListener(_arg1)); } override public function removeChild(_arg1:DisplayObject):DisplayObject{ return (_exDisplayObject.removeChild(_arg1)); } } }//package jp.nium.display
Section 58
//EventAggregater (jp.nium.events.EventAggregater) package jp.nium.events { import flash.events.*; import flash.utils.*; public class EventAggregater extends EventIntegrator { private var _numDispatchers:int;// = 0 private var _dispatchers:Dictionary; public function EventAggregater(){ _dispatchers = new Dictionary(true); _numDispatchers = 0; super(); } public function reset():void{ var _local1:Object; for each (_local1 in _dispatchers) { _local1.dispatched = false; }; } public function removeAllEventDispatcher():void{ var _local1:Object; for each (_local1 in _dispatchers) { _local1.dispatcher.removeEventListener(_local1.type, _aggregate); }; _dispatchers = new Dictionary(true); } public function addEventDispatcher(_arg1:IEventDispatcher, _arg2:String):void{ removeEventDispatcher(_arg1, _arg2); var _local3 = ++_numDispatchers; _dispatchers[_local3] = {id:_numDispatchers, dispatcher:_arg1, type:_arg2, dispatched:false}; _arg1.addEventListener(_arg2, _aggregate, false, int.MAX_VALUE, true); } override public function toString():String{ return ("[object EventAggregater]"); } private function _aggregate(_arg1:Event):void{ var _local2:Object; for each (_local2 in _dispatchers) { if (_local2.dispatcher != _arg1.target){ } else { if (_local2.type != _arg1.type){ } else { _local2.dispatched = true; break; }; }; }; for each (_local2 in _dispatchers) { if (!_local2.dispatched){ return; }; }; dispatchEvent(new Event(Event.COMPLETE)); } public function removeEventDispatcher(_arg1:IEventDispatcher, _arg2:String):void{ var _local3:Object; for each (_local3 in _dispatchers) { if (_local3.dispatcher != _arg1){ } else { if (_local3.type != _arg2){ } else { delete _dispatchers[_local3.id]; break; }; }; }; _arg1.removeEventListener(_arg2, _aggregate); } } }//package jp.nium.events
Section 59
//EventIntegrator (jp.nium.events.EventIntegrator) package jp.nium.events { import flash.events.*; import flash.utils.*; import jp.nium.core.namespaces.*; public class EventIntegrator extends EventDispatcher implements IEventIntegrator { private var _listeners:Dictionary; private var _dispatchEvent:Function; private var _stack:Array; private var _removeEventListener:Function; private var _hasEventListener:Function; private var _willTrigger:Function; private var _addEventListener:Function; private var _numListeners:int;// = 0 public function EventIntegrator(_arg1:IEventIntegrator=null){ _listeners = new Dictionary(true); _stack = []; _numListeners = 0; super(_arg1); initialize({addEventListener:super.addEventListener, removeEventListener:super.removeEventListener, hasEventListener:super.hasEventListener, willTrigger:super.willTrigger, dispatchEvent:super.dispatchEvent}); } override public function dispatchEvent(_arg1:Event):Boolean{ return (_dispatchEvent(_arg1)); } public function addExclusivelyEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } nium_internal function initialize(_arg1:Object):void{ var _local2:Array; var _local3:String; _addEventListener = _arg1.addEventListener; _removeEventListener = _arg1.removeEventListener; _hasEventListener = _arg1.hasEventListener; _willTrigger = _arg1.willTrigger; _dispatchEvent = _arg1.dispatchEvent; while (_stack.length > 0) { _local2 = (_stack.shift() as Array); _local3 = _local2.shift(); this[_local3].apply(this, _local2); }; } override public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ if (removeEventListener == _removeEventListener){ _stack.push(["removeEventListener", _arg1, _arg2, _arg3]); return; }; _removeEventListener(_arg1, _arg2, _arg3); } override public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _unregisterListener(_arg1, _arg2, _arg3); _registerListener(_arg1, _arg2, _arg3, _arg4, _arg5); if (addEventListener == _addEventListener){ _stack.push(["addEventListener", _arg1, _arg2, _arg3, _arg4, _arg5]); return; }; _addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } override public function willTrigger(_arg1:String):Boolean{ return (_willTrigger(_arg1)); } public function removeAllListeners(_arg1:Boolean=false):void{ var _local2:Object; for each (_local2 in _listeners) { _removeEventListener(_local2.type, _local2.listener, _local2.useCapture); }; if (_arg1){ _listeners = new Dictionary(true); }; } public function completelyRemoveEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _unregisterListener(_arg1, _arg2, _arg3); _removeEventListener(_arg1, _arg2, _arg3); } private function _registerListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ var _local6 = ++_numListeners; _listeners[_local6] = {id:_numListeners, type:_arg1, listener:_arg2, useCapture:_arg3, priority:_arg4, useWeakReference:_arg5}; } override public function toString():String{ return ("[object EventIntegrator]"); } public function restoreRemovedListeners():void{ var _local1:Object; for each (_local1 in _listeners) { _addEventListener(_local1.type, _local1.listener, _local1.useCapture, _local1.priority, _local1.useWeakReference); }; } private function _unregisterListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ var _local4:Object; for each (_local4 in _listeners) { if (_local4.type != _arg1){ } else { if (_local4.listener != _arg2){ } else { if (_local4.useCapture != _arg3){ } else { delete _listeners[_local4.id]; break; }; }; }; }; } override public function hasEventListener(_arg1:String):Boolean{ return (_hasEventListener(_arg1)); } } }//package jp.nium.events
Section 60
//IEventIntegrator (jp.nium.events.IEventIntegrator) package jp.nium.events { import flash.events.*; public interface IEventIntegrator extends IEventDispatcher { function removeAllListeners(_arg1:Boolean=false):void; function completelyRemoveEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void; function addExclusivelyEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void; function restoreRemovedListeners():void; } }//package jp.nium.events
Section 61
//BrowserInterface (jp.nium.external.BrowserInterface) package jp.nium.external { import flash.events.*; import jp.nium.events.*; import jp.nium.utils.*; import jp.nium.core.errors.*; import flash.external.*; public class BrowserInterface { private static var _enabled:Boolean = function ():Boolean{ var data:*; _integrator = new EventIntegrator(); if (!ExternalInterface.available){ return (false); }; try { if (ExternalInterface.call("function() { return \"true\"; }") != "true"){ return (false); }; } catch(e:Error) { return (false); }; data = call(((((((("function() { return " + "navigator.appCodeName + \"||||\" + ") + "navigator.appCodeName + \"||||\" + ") + "navigator.appName + \"||||\" + ") + "navigator.appVersion + \"||||\" + ") + "navigator.platform + \"||||\" + ") + "navigator.userAgent;") + " }")).split("||||"); _appCodeName = data[0]; _appName = data[1]; _appVersion = data[2]; _platform = data[3]; _userAgent = data[4]; return (true); }.apply(); private static var _userAgent:String; private static var _appName:String; private static var _platform:String; private static var _appVersion:String; private static var _appCodeName:String; private static var _integrator:EventIntegrator; public function BrowserInterface(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "BrowserInterface"))); } public static function get locationHref():String{ return (call("function() { return window.location.href; }")); } public static function get enabled():Boolean{ return (_enabled); } public static function hasEventListener(_arg1:String):Boolean{ return (_integrator.hasEventListener(_arg1)); } public static function addCallback(_arg1:String, _arg2:Function):void{ if (!enabled){ return; }; ExternalInterface.addCallback(_arg1, _arg2); } public static function confirm(... _args):Boolean{ var _local2:String; _local2 = _args.join(" "); trace("BrowserInterface.confirm() :", _local2); return (!(!(StringUtil.toProperType(call((("function() { alert( \"" + _local2) + "\" ); }")))))); } public static function removeAllListeners(_arg1:Boolean=false):void{ _integrator.removeAllListeners(_arg1); } public static function addExclusivelyEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _integrator.addExclusivelyEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public static function get appName():String{ return (_appName); } public static function dispatchEvent(_arg1:Event):Boolean{ return (_integrator.dispatchEvent(_arg1)); } public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _integrator.removeEventListener(_arg1, _arg2, _arg3); } public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _integrator.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public static function willTrigger(_arg1:String):Boolean{ return (_integrator.willTrigger(_arg1)); } public static function get appCodeName():String{ return (_appCodeName); } public static function alert(... _args):void{ var _local2:String; _local2 = _args.join(" "); trace("BrowserInterface.alert() :", _local2); call((("function() { alert( \"" + _local2) + "\" ); }")); } public static function call(_arg1:String, ... _args){ var _local3:String; if (!enabled){ return (""); }; _args.unshift(_arg1); _local3 = ExternalInterface.call.apply(null, _args); return (StringUtil.toProperType(_local3)); } public static function reload():void{ call("function() { window.location.reload(); }"); } public static function completelyRemoveEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _integrator.completelyRemoveEventListener(_arg1, _arg2, _arg3); } public static function print():void{ call("function() { window.print(); }"); } public static function get platform():String{ return (_platform); } public static function get appVersion():String{ return (_appVersion); } public static function get userAgent():String{ return (_userAgent); } public static function restoreRemovedListeners():void{ _integrator.restoreRemovedListeners(); } } }//package jp.nium.external
Section 62
//Locale (jp.nium.lang.Locale) package jp.nium.lang { import jp.nium.events.*; import flash.utils.*; import jp.nium.core.errors.*; import flash.system.*; public class Locale { public static const EN:String = "en"; public static const JA:String = "ja"; private static var _integrator:EventIntegrator = new EventIntegrator(); private static var _language:String = Capabilities.language; private static var _defaultLanguage:String = "en"; private static var _dictionary:Dictionary = new Dictionary(); public function Locale(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "Locale"))); } public static function getString(_arg1:String):String{ return (getStringByLang(_arg1, language)); } public static function setString(_arg1:String, _arg2:String, _arg3:String):void{ _dictionary[_arg2] = ((_dictionary[_arg2]) || (new Dictionary())); _dictionary[_arg2][_arg1] = _arg3; } public static function set language(_arg1:String):void{ _language = ((_arg1) || (Capabilities.language)); } public static function getStringByLang(_arg1:String, _arg2:String=null):String{ _arg2 = ((_arg2) || (language)); if (_dictionary[_arg2]){ return (((_dictionary[_arg2][_arg1]) || (""))); }; return (((_dictionary[_defaultLanguage][_arg1]) || (""))); } public static function get language():String{ return (_language); } public static function get defaultLanguage():String{ return (_defaultLanguage); } } }//package jp.nium.lang
Section 63
//Query (jp.nium.net.Query) package jp.nium.net { import flash.events.*; import jp.nium.events.*; import flash.utils.*; import jp.nium.utils.*; import jp.nium.core.errors.*; import flash.errors.*; public dynamic class Query extends Proxy implements IEventIntegrator { private var _readOnly:Boolean;// = false private var _properties:Object; private var _propertyList:Array; private var _integrator:EventIntegrator; private static const _NAME_REGEXP:RegExp = new RegExp("^[a-z][a-z0-9-_]*$", "i"); public function Query(_arg1:Boolean=false, _arg2:Object=null){ var _local3:String; _readOnly = false; _properties = {}; _propertyList = []; _integrator = new EventIntegrator(); super(); for (_local3 in _arg2) { setProperty(_local3, _arg2[_local3]); }; _readOnly = _arg1; } public function dispatchEvent(_arg1:Event):Boolean{ return (_integrator.dispatchEvent(_arg1)); } public function addExclusivelyEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _integrator.addExclusivelyEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public function removeAllListeners(_arg1:Boolean=false):void{ _integrator.removeAllListeners(_arg1); } public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _integrator.removeEventListener(_arg1, _arg2, _arg3); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ return (_properties[_arg1]); } public function toString():String{ return (ObjectUtil.toQueryString(this)); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{ return ((_arg1 in _properties)); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function callProperty(_arg1, ... _args){ } public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _integrator.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public function willTrigger(_arg1:String):Boolean{ return (_integrator.willTrigger(_arg1)); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ var _local3:*; if (_readOnly){ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_1074", "Query", _arg1))); }; if (((_arg1) && (!(_NAME_REGEXP.test(_arg1))))){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_8005"))); }; switch (true){ case (_arg2 is Boolean): case (_arg2 is Number): case (_arg2 is int): case (_arg2 is uint): case (_arg2 is String): break; default: _arg2 = String(_arg2); }; _local3 = _properties[_arg1]; _properties[_arg1] = _arg2; if (_local3 != _arg2){ _integrator.dispatchEvent(new Event(Event.CHANGE)); }; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{ var _local2:*; if (_arg1 == 0){ _propertyList = []; for (_local2 in _properties) { _propertyList.push(_local2); }; }; return (((_arg1)<_propertyList.length) ? (_arg1 + 1) : 0); } public function clone(_arg1:Boolean=false):Query{ return (new Query(_arg1, this)); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{ return (_propertyList[(_arg1 - 1)]); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{ if (_readOnly){ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_1074", "Query", _arg1))); }; return (delete _properties[_arg1]); } public function restoreRemovedListeners():void{ _integrator.restoreRemovedListeners(); } public function hasEventListener(_arg1:String):Boolean{ return (_integrator.hasEventListener(_arg1)); } public function completelyRemoveEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _integrator.completelyRemoveEventListener(_arg1, _arg2, _arg3); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextValue(_arg1:int){ return (_properties[_propertyList[(_arg1 - 1)]]); } public function equals(_arg1:Query):Boolean{ var _local2:Array; var _local3:Array; var _local4:String; var _local5:int; var _local6:int; var _local7:String; _local2 = []; _local3 = []; for (_local4 in _properties) { _local2.push(_local4); }; for (_local4 in _arg1._properties) { _local3.push(_local4); }; if (_local2.length != _local3.length){ return (false); }; _local5 = _local2.length; _local6 = 0; while (_local6 < _local5) { _local7 = _local2[_local6]; if (_properties[_local7] != _arg1._properties[_local7]){ return (false); }; _local6++; }; return (true); } } }//package jp.nium.net
Section 64
//URLObject (jp.nium.net.URLObject) package jp.nium.net { import flash.net.*; import flash.events.*; import jp.nium.utils.*; import jp.nium.core.errors.*; public class URLObject { private var _scheme:String; private var _fileName:String; private var _query:Query; private var _host:String; private var _path:String; private var _port:String; private var _fileExtension:String; private var _user:String; private var _password:String; private var _fragment:String; private static const _HOST_REGEXP:RegExp = new RegExp("^([a-z0-9-_.!~*'();&=+$,]|%[0-9a-f][0-9a-f])*$", "i"); private static const _AUTHORITY_REGEXP:RegExp = new RegExp("^((([^@:.]+):([^@:.]+)@)|.*@)?([^:]+)(:(.+))?$"); private static const _SEGMENTS_REGEXP:RegExp = new RegExp("^((/[^/.]+)*)(/(([^/]+)\\.([^/.]+))?)?$"); private static const _FILEEXTENSION_REGEXP:RegExp = new RegExp("^[a-z0-9]*$", "i"); private static const _FILENAME_REGEXP:RegExp = new RegExp("^([a-z0-9-_.!~'()@&=+$,]|%[0-9a-f][0-9a-f])*$", "i"); private static const _URL_REGEXP:RegExp = new RegExp("^(([^:/?#]+):)?(///?([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"); private static const _FRAGMENT_REGEXP:RegExp = new RegExp("^([a-z0-9-_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*$", "i"); private static const _VALIDATE_REGEXP:RegExp = function ():RegExp{ var _local1:*; var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:*; var _local10:*; var _local11:*; var _local12:*; var _local13:*; var _local14:*; var _local15:*; var _local16:*; var _local17:*; var _local18:*; var _local19:*; var _local20:*; var _local21:*; var _local22:*; var _local23:*; var _local24:*; var _local25:*; var _local26:*; var _local27:*; var _local28:*; var _local29:*; var _local30:*; var _local31:*; var _local32:*; _local1 = "a-z"; _local2 = "A-Z"; _local3 = "0-9"; _local4 = (_local1 + _local2); _local5 = (_local4 + _local3); _local6 = "-_.!~*'()"; _local7 = ";/?:@&=+$,"; _local8 = (_local5 + _local6); _local9 = "0-9A-Fa-f"; _local10 = (((("%[" + _local9) + "][") + _local9) + "]"); _local11 = ((((("([" + _local7) + _local8) + "]|") + _local10) + ")"); _local12 = (((("([" + _local8) + ":@&=+$,]|") + _local10) + ")"); _local13 = (((("([" + _local8) + ";:&=+$,]|") + _local10) + ")"); _local14 = (((((((("([" + _local5) + "]|[") + _local5) + "][") + _local5) + "-][") + _local5) + "])"); _local15 = (((((((("([" + _local4) + "]|[") + _local4) + "][") + _local5) + "-][") + _local5) + "])"); _local16 = (((("(" + _local14) + ".)*") + _local15) + "\\.?"); _local17 = (((((((("[" + _local3) + "]+\\.[") + _local3) + "]+\\.[") + _local3) + "]+\\.[") + _local3) + "]+"); _local18 = (((("(" + _local16) + "|") + _local17) + ")"); _local19 = (("[" + _local3) + "]*"); _local20 = (((_local18 + "(:") + _local19) + ")?"); _local21 = (((("((" + _local13) + "@)?") + _local20) + ")?"); _local22 = (_local12 + "*"); _local23 = (((_local12 + "*(;") + _local22) + ")*"); _local24 = (((_local23 + "(/") + _local23) + ")*"); _local25 = ("/" + _local24); _local26 = (((("([" + _local8) + ";?:@&=+$,]|") + _local10) + ")"); _local27 = ((_local26 + _local11) + "*"); _local28 = ((((("[" + _local4) + "][") + _local4) + _local3) + "+-.]*"); _local29 = _local21; _local30 = (((("(" + _local25) + "|") + _local27) + ")?"); _local31 = (_local11 + "*"); _local32 = (_local11 + "*"); return (new RegExp(((((((((("^" + _local28) + ":///?") + _local29) + _local30) + "(\\?") + _local31) + ")?(#") + _local32) + ")?"))); }.apply(); private static const _SCHEME_REGEXP:RegExp = new RegExp("^[a-z][a-z0-9+-.]*$", "i"); private static const _PORT_REGEXP:RegExp = new RegExp("^[0-9]+$"); private static const _PATH_REGEXP:RegExp = new RegExp("^([a-z0-9-_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(/([a-z0-9-_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*$", "i"); private static const _PASSWORD_REGEXP:RegExp = new RegExp("^([a-z0-9-_.!~*'();&=+$,]|%[0-9a-f][0-9a-f])*$", "i"); private static const _USER_REGEXP:RegExp = new RegExp("^([a-z0-9-_.!~*'();&=+$,]|%[0-9a-f][0-9a-f])*$", "i"); public function URLObject(_arg1:String){ _query = new Query(); super(); _query.addExclusivelyEventListener(Event.CHANGE, _change, false, int.MAX_VALUE, true); this.url = _arg1; } public function set port(_arg1:String):void{ if (((_arg1) && (!(_PORT_REGEXP.test(_arg1))))){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_8005"))); }; _port = _arg1; } public function set scheme(_arg1:String):void{ if (((_arg1) && (!(_SCHEME_REGEXP.test(_arg1))))){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_8005"))); }; _scheme = _arg1; } public function get user():String{ return (((_user) || (""))); } public function set fileExtension(_arg1:String):void{ if (((_arg1) && (!(_FILEEXTENSION_REGEXP.test(_arg1))))){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_8005"))); }; _fileExtension = _arg1; } public function set host(_arg1:String):void{ if (((_arg1) && (!(_HOST_REGEXP.test(_arg1))))){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_8005"))); }; _host = _arg1; } public function set path(_arg1:String):void{ if (((_arg1) && (!(_PATH_REGEXP.test(_arg1))))){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_8005"))); }; _path = _arg1; } public function set user(_arg1:String):void{ if (((_arg1) && (!(_USER_REGEXP.test(_arg1))))){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_8005"))); }; _user = _arg1; } public function get port():String{ return (((_port) || (""))); } public function get password():String{ return (((_password) || (""))); } public function get query():Query{ return (_query); } public function set fileName(_arg1:String):void{ if (((_arg1) && (!(_FILENAME_REGEXP.test(_arg1))))){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_8005"))); }; _fileName = _arg1; } public function set url(_arg1:String):void{ var _local2:Array; var _local3:Array; var _local4:Array; if (!validate(_arg1)){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_8005"))); }; _local2 = ((_URL_REGEXP.exec(_arg1)) || ([])); _local3 = ((_AUTHORITY_REGEXP.exec(_local2[4])) || ([])); _local4 = ((_SEGMENTS_REGEXP.exec(_local2[5])) || ([])); scheme = _local2[2]; user = _local3[3]; password = _local3[4]; host = _local3[5]; port = _local3[7]; path = _local4[1]; fileName = _local4[5]; fileExtension = _local4[6]; _query.completelyRemoveEventListener(Event.CHANGE, _change); _query = new Query(false, StringUtil.queryToObject(_local2[7])); _query.addExclusivelyEventListener(Event.CHANGE, _change, false, int.MAX_VALUE, true); fragment = _local2[9]; } public function get fragment():String{ return (((_fragment) || (""))); } public function get fileExtension():String{ return (((_fileExtension) || (""))); } public function get scheme():String{ return (((_scheme) || (""))); } public function get fileName():String{ return (((_fileName) || (""))); } public function get host():String{ return (((_host) || (""))); } public function get path():String{ return (((_path) || (""))); } public function navigateTo(_arg1:String=null):void{ navigateToURL(new URLRequest(url), ((_arg1) || ("_self"))); } public function get url():String{ var _local1:String; var _local2:String; var _local3:String; var _local4:String; _local1 = (scheme + "://"); _local2 = (((user + ":") + password) + "@"); if (new RegExp("^(.+):(.+)@$").test(_local2)){ _local1 = (_local1 + _local2); }; _local1 = (_local1 + host); if (port){ _local1 = (_local1 + (":" + port)); }; _local1 = (_local1 + path); _local3 = ((fileName + ".") + fileExtension); if (new RegExp("^(.+)\\.(.+)$").test(_local3)){ _local1 = (_local1 + ("/" + _local3)); }; _local4 = ObjectUtil.toQueryString(query); if (_local4){ _local1 = (_local1 + ("?" + _local4)); }; if (fragment){ _local1 = (_local1 + ("#" + fragment)); }; return (_local1); } private function _change(_arg1:Event):void{ scheme = scheme; } public function toString():String{ return (url); } public function set password(_arg1:String):void{ if (((_arg1) && (!(_PASSWORD_REGEXP.test(_arg1))))){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_8005"))); }; _password = _arg1; } public function set fragment(_arg1:String):void{ if (((_arg1) && (!(_FRAGMENT_REGEXP.test(_arg1))))){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_8005"))); }; _fragment = _arg1; } public function toURLRequest():URLRequest{ return (new URLRequest(url)); } public static function validate(_arg1:String):Boolean{ return (_VALIDATE_REGEXP.test(_arg1)); } } }//package jp.nium.net
Section 65
//ArrayUtil (jp.nium.utils.ArrayUtil) package jp.nium.utils { import jp.nium.core.errors.*; public class ArrayUtil { public function ArrayUtil(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "ArrayUtil"))); } public static function getItemIndex(_arg1:Array, _arg2):int{ var _local3:int; var _local4:int; _local3 = _arg1.length; _local4 = 0; while (_local4 < _local3) { if (_arg1[_local4] == _arg2){ return (_local4); }; _local4++; }; return (-1); } public static function toString(_arg1:Array):String{ var _local2:String; var _local3:int; var _local4:int; var _local5:*; _local2 = "["; _local3 = _arg1.length; _local4 = 0; while (_local4 < _local3) { _local5 = _arg1[_local4]; switch (true){ case (_local5 is Array): _local2 = (_local2 + ArrayUtil.toString(_local5)); break; case (_local5 is Boolean): case (_local5 is Number): case (_local5 is int): case (_local5 is uint): _local2 = (_local2 + _local5); break; case (_local5 is String): _local2 = (_local2 + (("\"" + _local5) + "\"")); break; default: _local2 = (_local2 + ObjectUtil.toString(_local5)); }; _local2 = (_local2 + ", "); _local4++; }; if (_local4 > 0){ _local2 = _local2.slice(0, -2); }; _local2 = (_local2 + "]"); return (_local2); } public static function combine(_arg1:Array):Array{ var _local2:Array; var _local3:int; var _local4:int; var _local5:*; _local2 = []; _local3 = _arg1.length; _local4 = 0; while (_local4 < _local3) { _local5 = _arg1[_local4]; switch (true){ case (_local5 is Array): _local2 = _local2.concat(combine((_local5 as Array))); break; default: _local2.push(_local5); }; _local4++; }; return (_local2); } } }//package jp.nium.utils
Section 66
//ClassUtil (jp.nium.utils.ClassUtil) package jp.nium.utils { import flash.utils.*; import jp.nium.core.errors.*; public class ClassUtil { public function ClassUtil(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "ClassUtil"))); } public static function getPackage(_arg1):String{ return (getQualifiedClassName(_arg1).split("::").shift()); } public static function isFinal(_arg1):Boolean{ return (Boolean(StringUtil.toProperType(describeType(_arg1).attribute("isFinal")))); } public static function isDynamic(_arg1):Boolean{ return (Boolean(StringUtil.toProperType(describeType(_arg1).attribute("isDynamic")))); } public static function getClassName(_arg1):String{ return (getQualifiedClassName(_arg1).split("::").pop()); } public static function getClassPath(_arg1):String{ return (getQualifiedClassName(_arg1).replace(new RegExp("::", "g"), ".")); } } }//package jp.nium.utils
Section 67
//MathUtil (jp.nium.utils.MathUtil) package jp.nium.utils { import jp.nium.core.errors.*; public class MathUtil { public function MathUtil(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "MathUtil"))); } public static function even(_arg1:Number):Boolean{ var _local2:Number; _local2 = (_arg1 / 2); return ((_local2 == Math.ceil(_local2))); } public static function percent(_arg1:Number, _arg2:Number):Number{ if (_arg2 == 0){ return (0); }; return (((_arg1 / _arg2) * 100)); } public static function range(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number; if (_arg2 > _arg3){ _local4 = _arg2; _arg2 = _arg3; _arg3 = _local4; }; return (Math.max(_arg2, Math.min(_arg1, _arg3))); } public static function cycle(_arg1:Number, _arg2:Number):Number{ return ((((_arg1 % _arg2) + _arg2) % _arg2)); } } }//package jp.nium.utils
Section 68
//MovieClipUtil (jp.nium.utils.MovieClipUtil) package jp.nium.utils { import flash.events.*; import flash.display.*; import flash.utils.*; import jp.nium.core.errors.*; public class MovieClipUtil { public function MovieClipUtil(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "MovieClipUtil"))); } public static function doLater(_arg1, _arg2:Function, ... _args):void{ var timer:Timer; var scope = _arg1; var callBack = _arg2; var args = _args; timer = new Timer(1, 1); timer.addEventListener(TimerEvent.TIMER_COMPLETE, function (_arg1:TimerEvent):void{ Timer(_arg1.target).removeEventListener(_arg1.type, arguments.callee); callBack.apply(scope, args); }); timer.start(); } public static function hasFrame(_arg1:MovieClip, _arg2):Boolean{ var _local3:Array; var _local4:int; var _local5:int; var _local6:FrameLabel; switch (true){ case (_arg2 is int): return ((_arg2 <= _arg1.totalFrames)); case (_arg2 is String): _local3 = _getFrameLabels(_arg1); _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { _local6 = FrameLabel(_local3[_local5]); if (_arg2 == _local6.name){ return (true); }; _local5++; }; }; return (false); } private static function _getFrameLabels(_arg1:MovieClip):Array{ var _local2:Array; var _local3:Array; var _local4:int; var _local5:int; var _local6:Scene; var _local7:int; var _local8:int; _local2 = []; _local3 = _arg1.scenes; _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { _local6 = Scene(_local3[_local5]); _local7 = _local6.labels.length; _local8 = 0; while (_local8 < _local7) { _local2.push(_local6.labels[_local8]); _local8++; }; _local5++; }; return (_local2); } public static function playheadWithinFrames(_arg1:MovieClip, _arg2, _arg3):Boolean{ var _local4:int; var _local5:int; var _local6:int; var _local7:int; _local4 = _getFrame(_arg1, _arg2); _local5 = _getFrame(_arg1, _arg3); _local6 = _arg1.currentFrame; if (_local4 > _local5){ _local7 = _local4; _local4 = _local5; _local5 = _local7; }; return ((((_local4 <= _local6)) && ((_local6 <= _local5)))); } private static function _getFrame(_arg1:MovieClip, _arg2):int{ switch (true){ case (_arg2 is String): return (labelToFrames(_arg1, _arg2)[0]); case (_arg2 is int): return ((_arg2 as int)); }; return (-1); } public static function frameToLabels(_arg1:MovieClip, _arg2:int):Array{ var _local3:Array; var _local4:Array; var _local5:int; var _local6:int; var _local7:FrameLabel; _local3 = []; _local4 = _getFrameLabels(_arg1); _local5 = _local4.length; _local6 = 0; while (_local6 < _local5) { _local7 = FrameLabel(_local4[_local6]); if (_arg2 == _local7.frame){ _local3.push(_local7.name); }; _local6++; }; return (_local3); } public static function getMarginFrames(_arg1:MovieClip, _arg2, _arg3):int{ var _local4:int; var _local5:int; _local4 = _getFrame(_arg1, _arg2); _local5 = _getFrame(_arg1, _arg3); return (Math.abs((_local5 - _local4))); } public static function labelToFrames(_arg1:MovieClip, _arg2:String):Array{ var _local3:Array; var _local4:Array; var _local5:int; var _local6:int; var _local7:FrameLabel; _local3 = []; _local4 = _getFrameLabels(_arg1); _local5 = _local4.length; _local6 = 0; while (_local6 < _local5) { _local7 = FrameLabel(_local4[_local6]); if (_arg2 == _local7.name){ _local3.push(_local7.frame); }; _local6++; }; return (_local3); } } }//package jp.nium.utils
Section 69
//ObjectUtil (jp.nium.utils.ObjectUtil) package jp.nium.utils { import flash.utils.*; import jp.nium.core.errors.*; public class ObjectUtil { public function ObjectUtil(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "ObjectUtil"))); } public static function toQueryString(_arg1:Object):String{ var _local2:String; var _local3:String; _local2 = ""; _arg1 = ((_arg1) || ({})); for (_local3 in _arg1) { _local2 = (_local2 + (((_local3 + "=") + _arg1[_local3]) + "&")); }; if (_local3){ _local2 = _local2.slice(0, -1); }; return (encodeURI(decodeURI(_local2))); } public static function toString(_arg1:Object):String{ var _local2:String; var _local3:String; var _local4:*; if ((_arg1 is Array)){ return (ArrayUtil.toString((_arg1 as Array))); }; _local2 = "{"; for (_local3 in _arg1) { _local2 = (_local2 + (_local3 + ":")); _local4 = _arg1[_local3]; switch (true){ case (_local4 is Array): _local2 = (_local2 + ArrayUtil.toString(_local4)); break; case (_local4 is Boolean): case (_local4 is Number): case (_local4 is int): case (_local4 is uint): _local2 = (_local2 + _local4); break; case (_local4 is String): _local2 = (_local2 + (("\"" + _local4) + "\"")); break; default: _local2 = (_local2 + ObjectUtil.toString(_local4)); }; _local2 = (_local2 + ", "); }; if (_local3){ _local2 = _local2.slice(0, -2); }; _local2 = (_local2 + "}"); return (_local2); } public static function clone(_arg1:Object):Object{ var _local2:ByteArray; _local2 = new ByteArray(); _local2.writeObject(_arg1); _local2.position = 0; return (Object(_local2.readObject())); } public static function setProperties(_arg1:Object, _arg2:Object):void{ var targets:Array; var l:int; var i:int; var prop:String; var item:*; var value:*; var target = _arg1; var props = _arg2; targets = [target]; if ((target is Array)){ targets = target.slice(); }; l = targets.length; i = 0; while (i < l) { for (prop in props) { if (!(prop in targets[i])){ } else { item = targets[i]; value = props[prop]; switch (true){ case (value is Array): case (value is Boolean): case (value is Number): case (value is int): case (value is uint): case (value is String): case (value is Function): item[prop] = value; break; case (ClassUtil.getClassName(value) == "Object"): try { item[prop] = ((item[prop]) || ({})); } catch(e:Error) { }; setProperties(item[prop], value); break; }; }; }; i = (i + 1); }; } public static function length(_arg1:Object):int{ var _local2:int; var _local3:String; _local2 = 0; for (_local3 in _arg1) { _local2++; }; return (_local2); } } }//package jp.nium.utils
Section 70
//StageUtil (jp.nium.utils.StageUtil) package jp.nium.utils { import flash.display.*; import jp.nium.core.errors.*; public class StageUtil { public function StageUtil(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "StageUtil"))); } public static function getMarginTop(_arg1:Stage):Number{ var root:Sprite; var rootHeight:Number; var stgHeight:Number; var stage = _arg1; root = getDocument(stage); try { rootHeight = root.loaderInfo.height; stgHeight = stage.stageHeight; } catch(e:Error) { return (-1); }; switch (stage.scaleMode){ case StageScaleMode.NO_SCALE: switch (stage.align){ case StageAlign.BOTTOM_LEFT: case StageAlign.LEFT: case StageAlign.TOP_LEFT: return (0); case StageAlign.BOTTOM_RIGHT: case StageAlign.RIGHT: case StageAlign.TOP_RIGHT: return ((stgHeight - rootHeight)); default: return (((stgHeight - rootHeight) / 2)); }; case StageScaleMode.EXACT_FIT: case StageScaleMode.NO_BORDER: case StageScaleMode.SHOW_ALL: return (0); }; return (0); } public static function getDocument(_arg1:Stage):Sprite{ var _local2:int; var _local3:int; var _local4:Sprite; _local2 = _arg1.numChildren; _local3 = 0; while (_local3 < _local2) { _local4 = Sprite(_arg1.getChildAt(_local3)); if (_local4.root == _local4){ return (_local4); }; _local3++; }; return (null); } public static function getMarginLeft(_arg1:Stage):Number{ var root:Sprite; var rootWidth:Number; var stgWidth:Number; var stage = _arg1; root = getDocument(stage); try { rootWidth = root.loaderInfo.width; stgWidth = stage.stageWidth; } catch(e:Error) { return (0); }; switch (stage.scaleMode){ case StageScaleMode.NO_SCALE: switch (stage.align){ case StageAlign.BOTTOM_LEFT: case StageAlign.LEFT: case StageAlign.TOP_LEFT: return (0); case StageAlign.BOTTOM_RIGHT: case StageAlign.RIGHT: case StageAlign.TOP_RIGHT: return ((stgWidth - rootWidth)); default: return (((stgWidth - rootWidth) / 2)); }; case StageScaleMode.EXACT_FIT: case StageScaleMode.NO_BORDER: case StageScaleMode.SHOW_ALL: return (0); }; return (0); } public static function toSWFBasePath(_arg1:Stage, _arg2:String):String{ var folder:Array; var pattern:String; var stage = _arg1; var url = _arg2; if (!stage){ return (""); }; if (new RegExp("^[a-z][a-z0-9+-.]*://", "i").test(url)){ return (url); }; folder = stage.loaderInfo.url.split("/"); folder.splice((folder.length - 1), 1, url); url = folder.join("/"); url = url.replace("/./", "/"); pattern = "/[^/]+/[^/]+/../"; while (new RegExp(pattern, "g").test(url)) { url = url.replace(new RegExp(pattern, "g"), function ():String{ return ((String(arguments[0]).split("/").slice(0, 2).join("/") + "/")); }); }; return (url); } } }//package jp.nium.utils
Section 71
//StringUtil (jp.nium.utils.StringUtil) package jp.nium.utils { import jp.nium.core.errors.*; public class StringUtil { private static const _COLLECTBREAK_REGEXP:RegExp = new RegExp("(\r\n|\n|\r)", "g"); public function StringUtil(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "StringUtil"))); } public static function toProperType(_arg1:String, _arg2:Boolean=true){ var _local3:Number; _local3 = parseFloat(_arg1); if (_arg2){ if (!isNaN(_local3)){ return (_local3); }; } else { if (_local3.toString() == _arg1){ return (_local3); }; }; switch (_arg1){ case "true": return (true); case "false": return (false); case "": case "null": return (null); case "undefined": return (undefined); case "Infinity": return (Infinity); case "-Infinity": return (-(Infinity)); case "NaN": return (NaN); }; return (_arg1); } public static function queryToObject(_arg1:String):Object{ var _local2:Object; var _local3:Array; var _local4:int; var _local5:int; var _local6:Array; _local2 = {}; _local3 = (_arg1) ? _arg1.split("&") : []; _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { _local6 = String(_local3[_local5]).split("="); _local2[_local6[0]] = StringUtil.toProperType(_local6[1]); _local5++; }; return (_local2); } public static function repeat(_arg1:String, _arg2:int=0):String{ var _local3:String; var _local4:int; _local3 = ""; _arg2 = Math.max(0, _arg2); _local4 = 0; while (_local4 < _arg2) { _local3 = (_local3 + _arg1); _local4++; }; return (_local3); } public static function collectBreak(_arg1:String, _arg2:String=" "):String{ switch (_arg2){ case "\r": case "\n": case "\r\n": return (_arg1.replace(_COLLECTBREAK_REGEXP, _arg2)); }; throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_8006"))); } public static function toUpperCaseFirstLetter(_arg1:String):String{ return ((_arg1.charAt(0).toUpperCase() + _arg1.slice(1).toLowerCase())); } } }//package jp.nium.utils
Section 72
//XMLUtil (jp.nium.utils.XMLUtil) package jp.nium.utils { import jp.nium.core.errors.*; public class XMLUtil { public function XMLUtil(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "XMLUtil"))); } public static function xmlToObject(_arg1:XMLList):Object{ var _local2:Object; var _local3:XML; _local2 = {}; for each (_local3 in _arg1) { _local2[String(_local3.name())] = StringUtil.toProperType(_local3.valueOf(), false); }; return (_local2); } } }//package jp.nium.utils
Section 73
//Version (jp.nium.version.Version) package jp.nium.version { import jp.nium.core.errors.*; public class Version { private var _minorVersion:int;// = 0 private var _release:String; private var _buildVersion:int;// = 0 private var _majorVersion:int;// = 0 private static const _FORMAT_REGEXP:RegExp = new RegExp("^([0-9]+)(.[0-9]+)?(.[0-9]+)?( .*$)?"); public function Version(_arg1, _arg2:int=0, _arg3:int=0, _arg4:String=null){ var _local5:Array; var _local6:Array; _majorVersion = 0; _minorVersion = 0; _buildVersion = 0; super(); switch (true){ case (_arg1 is String): if (!_FORMAT_REGEXP.test(_arg1)){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_8005"))); }; _local5 = String(_arg1).split(" "); _local6 = new RegExp("^([0-9]+)([^0-9]([0-9]*))?([^0-9]([0-9]*))?.*$").exec(_local5.shift()); if (!_local6){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_8005"))); }; _majorVersion = parseInt(_local6[1]); _minorVersion = parseInt(_local6[3]); _buildVersion = parseInt(_local6[5]); _release = String(_local5.join(" ")); break; case (_arg1 is int): case (_arg1 is uint): case (_arg1 is Number): _majorVersion = Math.floor(_arg1); _minorVersion = _arg2; _buildVersion = _arg3; _release = ((_arg4) || ("")); break; default: throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_8005"))); }; } public function get minorVersion():int{ return (_minorVersion); } public function compare(_arg1:Version):int{ if (_majorVersion > _arg1.majorVersion){ return (3); }; if (_majorVersion < _arg1.majorVersion){ return (-3); }; if (_minorVersion > _arg1.minorVersion){ return (2); }; if (_minorVersion < _arg1.minorVersion){ return (-2); }; if (_buildVersion > _arg1.buildVersion){ return (1); }; if (_buildVersion < _arg1.buildVersion){ return (-1); }; return (0); } public function equals(_arg1:Version):Boolean{ return ((toString() == _arg1.toString())); } public function get buildVersion():int{ return (_buildVersion); } public function toString():String{ return ((((((_majorVersion + ".") + _minorVersion) + ".") + _buildVersion) + (_release) ? (" " + _release) : "")); } public function get release():String{ return (_release); } public function clone():Version{ return (new Version(_majorVersion, _minorVersion, _buildVersion, _release)); } public function get majorVersion():int{ return (_majorVersion); } } }//package jp.nium.version
Section 74
//CastButton (jp.progression.casts.CastButton) package jp.progression.casts { import jp.progression.*; import flash.net.*; import flash.events.*; import flash.display.*; import jp.progression.core.ui.*; import jp.progression.scenes.*; import jp.progression.core.commands.*; import flash.ui.*; import jp.progression.events.*; import com.asual.swfaddress.*; import jp.progression.core.events.*; import jp.nium.core.errors.*; import jp.progression.core.utils.*; import jp.progression.core.collections.*; import jp.nium.external.*; import jp.nium.display.*; import flash.errors.*; public class CastButton extends ExMovieClip implements ICastObject { private var _href:String; private var _stage:Stage; private var __onCastRollOut:Function; private var _executor:CommandExecutor; private var _openNewWindow:Boolean;// = false private var _uiContextMenu:CastButtonContextMenu; private var _toolTip:ToolTip; private var __onCastMouseUp:Function; private var __onCastRollOver:Function; private var _isChild:Boolean;// = false private var _accessKey:String; private var __onCastMouseDown:Function; private var _progression:Progression; private var _eventHandlerEnabled:Boolean;// = true private var _isMouseDown:Boolean;// = false private var _isCTRLKeyDown:Boolean;// = false private var _isCurrent:Boolean;// = false private var _sceneId:SceneId; private var _windowTarget:String; private var _buttonEnabled:Boolean;// = true private var _isParent:Boolean;// = false private var _isRollOver:Boolean;// = false private static const _ACCESSKEY_REGEXP:RegExp = new RegExp("^[a-z]?$", "i"); public function CastButton(_arg1:Object=null){ _buttonEnabled = true; _isCurrent = false; _isParent = false; _isChild = false; _isRollOver = false; _isMouseDown = false; _isCTRLKeyDown = false; _openNewWindow = false; _eventHandlerEnabled = true; _executor = CommandExecutor.__createInstance(this); super(); _toolTip = ToolTip.__createInstance(this); var _local2 = new ContextMenu(); super.contextMenu = _local2; _uiContextMenu = CastButtonContextMenu.__createInstance(this, _local2); buttonEnabled = true; eventHandlerEnabled = true; setProperties(_arg1); addExclusivelyEventListener(Event.ADDED, _added, false, int.MAX_VALUE, true); addExclusivelyEventListener(Event.ADDED_TO_STAGE, _addedToStage, false, int.MAX_VALUE, true); addExclusivelyEventListener(Event.REMOVED, _removed, false, int.MAX_VALUE, true); addExclusivelyEventListener(Event.REMOVED_FROM_STAGE, _removedFromStage, false, int.MAX_VALUE, true); _executor.addExclusivelyEventListener(CastMouseEvent.CAST_MOUSE_DOWN, dispatchEvent, false, 0, true); _executor.addExclusivelyEventListener(CastMouseEvent.CAST_MOUSE_UP, dispatchEvent, false, 0, true); _executor.addExclusivelyEventListener(CastMouseEvent.CAST_ROLL_OVER, dispatchEvent, false, 0, true); _executor.addExclusivelyEventListener(CastMouseEvent.CAST_ROLL_OUT, dispatchEvent, false, 0, true); ProgressionCollection.addExclusivelyEventListener(CollectionEvent.COLLECTION_UPDATE, _collectionUpdate, false, int.MAX_VALUE, true); } private function _added(_arg1:Event):void{ var _local2:DisplayObject; var _local3:DisplayObjectContainer; var _local4:ICommandExecutable; _local2 = (_arg1.target as DisplayObject); _local3 = (_arg1.currentTarget as DisplayObjectContainer); if (!_local2){ return; }; if (_local2.parent != _local3){ return; }; _local4 = (_local2 as ICommandExecutable); if (_local4){ executor.__addExecutable(_local4); }; } private function _addedToStage(_arg1:Event):void{ _stage = stage; _stage.addEventListener(KeyboardEvent.KEY_DOWN, _keyDown, false, int.MAX_VALUE, true); _stage.addEventListener(KeyboardEvent.KEY_UP, _keyUp, false, int.MAX_VALUE, true); } public function get isChild():Boolean{ return (_isChild); } private function _castMouseUp(_arg1:CastMouseEvent):void{ onCastMouseUp(); } public function get isRollOver():Boolean{ return (_isRollOver); } public function get navigateURL():String{ if (_href){ return (_href); }; if (((((_progression) && (_progression.sync))) && (BrowserInterface.enabled))){ return (((BrowserInterface.locationHref.split("#")[0] + "#") + SceneIdUtil.toShortPath(_sceneId))); }; return (""); } public function get parallelMode():Boolean{ return (_executor.__parallelMode); } final protected function _onCastAdded():void{ } public function insertCommand(... _args):void{ _executor.__insertCommand.apply(this, _args); } private function _rollOver(_arg1:MouseEvent):void{ _isRollOver = true; SWFAddress.setStatus(navigateURL); executor.__execute(new CastMouseEvent(CastMouseEvent.CAST_ROLL_OVER, _arg1.bubbles, _arg1.cancelable, _arg1.localX, _arg1.localY, _arg1.relatedObject, _arg1.ctrlKey, _arg1.altKey, _arg1.shiftKey, _arg1.buttonDown, _arg1.delta), {}, false, true); _arg1.stopPropagation(); } public function set href(_arg1:String):void{ _href = _arg1; } public function clearCommand(_arg1:Boolean=false):void{ _executor.__clearCommand(_arg1); } public function get accessKey():String{ return (_accessKey); } private function _keyDown(_arg1:KeyboardEvent):void{ _isCTRLKeyDown = _arg1.ctrlKey; } private function _keyUp(_arg1:KeyboardEvent):void{ _isCTRLKeyDown = false; if (((!(_accessKey)) || (!((_arg1.charCode == _accessKey.toLowerCase().charCodeAt()))))){ return; }; navigateTo(); } private function _castMouseDown(_arg1:CastMouseEvent):void{ onCastMouseDown(); } public function get isParent():Boolean{ return (_isParent); } protected function _onCastMouseUp():void{ } protected function _onCastMouseDown():void{ } public function set parallelMode(_arg1:Boolean):void{ _executor.__parallelMode = _arg1; } private function _rollOut(_arg1:MouseEvent):void{ _isRollOver = false; SWFAddress.resetStatus(); executor.__execute(new CastMouseEvent(CastMouseEvent.CAST_ROLL_OUT, _arg1.bubbles, _arg1.cancelable, _arg1.localX, _arg1.localY, _arg1.relatedObject, _arg1.ctrlKey, _arg1.altKey, _arg1.shiftKey, _arg1.buttonDown, _arg1.delta), {}, true, true); _arg1.stopPropagation(); } private function _mouseUpStage(_arg1:MouseEvent):void{ if (!_stage){ return; }; _stage.removeEventListener(MouseEvent.MOUSE_UP, _mouseUpStage); _isMouseDown = false; executor.__execute(new CastMouseEvent(CastMouseEvent.CAST_MOUSE_UP, _arg1.bubbles, _arg1.cancelable, _arg1.localX, _arg1.localY, _arg1.relatedObject, _arg1.ctrlKey, _arg1.altKey, _arg1.shiftKey, _arg1.buttonDown, _arg1.delta), {}, true, true); _arg1.stopPropagation(); } public function get uiContextMenu():CastButtonContextMenu{ return (_uiContextMenu); } public function get onCastMouseUp():Function{ return (((__onCastMouseUp) || (_onCastMouseUp))); } public function get progression():Progression{ return (_progression); } public function set accessKey(_arg1:String):void{ if (!_ACCESSKEY_REGEXP.test(_arg1)){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_9012"))); }; _accessKey = _arg1; } public function get onCastRemoved():Function{ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_8000", "onCastRemoved"))); } final protected function _onCastRemoved():void{ } public function get sceneId():SceneId{ return (_sceneId); } public function get onCastRollOver():Function{ return (((__onCastRollOver) || (_onCastRollOver))); } public function get onCastMouseDown():Function{ return (((__onCastMouseDown) || (_onCastMouseDown))); } public function get executor():CommandExecutor{ return (_executor); } public function get isMouseDown():Boolean{ return (_isMouseDown); } private function _mouseUp(_arg1:MouseEvent):void{ _stage.removeEventListener(MouseEvent.MOUSE_UP, _mouseUpStage); _isMouseDown = false; _openNewWindow = _isCTRLKeyDown; executor.addExclusivelyEventListener(CommandEvent.COMMAND_COMPLETE, _commandCompleteMouseUp, false, 0, true); executor.__execute(new CastMouseEvent(CastMouseEvent.CAST_MOUSE_UP, _arg1.bubbles, _arg1.cancelable, _arg1.localX, _arg1.localY, _arg1.relatedObject, _arg1.ctrlKey, _arg1.altKey, _arg1.shiftKey, _arg1.buttonDown, _arg1.delta), {}, true, true); _arg1.stopPropagation(); } protected function _onCastRollOver():void{ } public function get isCurrent():Boolean{ return (_isCurrent); } public function set onCastMouseUp(_arg1:Function):void{ __onCastMouseUp = _arg1; } override public function set useHandCursor(_arg1:Boolean):void{ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_8000", "useHandCursor"))); } public function get href():String{ return (_href); } private function _castRollOver(_arg1:CastMouseEvent):void{ onCastRollOver(); } private function _removed(_arg1:Event):void{ var _local2:DisplayObject; var _local3:DisplayObjectContainer; var _local4:ICommandExecutable; _local2 = (_arg1.target as DisplayObject); _local3 = (_arg1.currentTarget as DisplayObjectContainer); if (!_local2){ return; }; if (_local2.parent != _local3){ return; }; _local4 = (_local2 as ICommandExecutable); if (_local4){ executor.__removeExecutable(_local4); }; } public function set windowTarget(_arg1:String):void{ _windowTarget = _arg1; } private function _processScene(_arg1:ProcessEvent):void{ var _local2:SceneObject; var _local3:Boolean; var _local4:Boolean; var _local5:Boolean; _local2 = _arg1.scene; if (!_local2){ _isCurrent = false; _isParent = false; _isChild = false; return; }; _local3 = _isCurrent; _local4 = _isParent; _local5 = _isChild; _isCurrent = _sceneId.equals(_local2.sceneId); _isParent = ((!(_isCurrent)) && (_local2.sceneId.contains(_sceneId))); _isChild = ((!(_isCurrent)) && (_sceneId.contains(_local2.sceneId))); switch (true){ case !((_local3 == _isCurrent)): case !((_local4 == _isParent)): case !((_local5 == _isChild)): dispatchEvent(new CastEvent(CastEvent.STATUS_CHANGE)); break; }; } private function _removedFromStage(_arg1:Event):void{ _stage.removeEventListener(KeyboardEvent.KEY_DOWN, _keyDown); _stage.removeEventListener(KeyboardEvent.KEY_UP, _keyUp); _stage = null; } override public function set contextMenu(_arg1:ContextMenu):void{ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9022"))); } public function set buttonEnabled(_arg1:Boolean):void{ if ((_buttonEnabled = _arg1)){ addExclusivelyEventListener(MouseEvent.MOUSE_DOWN, _mouseDown, false, int.MAX_VALUE, true); addExclusivelyEventListener(MouseEvent.MOUSE_UP, _mouseUp, false, int.MAX_VALUE, true); addExclusivelyEventListener(MouseEvent.ROLL_OVER, _rollOver, false, int.MAX_VALUE, true); addExclusivelyEventListener(MouseEvent.ROLL_OUT, _rollOut, false, int.MAX_VALUE, true); } else { completelyRemoveEventListener(MouseEvent.MOUSE_DOWN, _mouseDown); completelyRemoveEventListener(MouseEvent.MOUSE_UP, _mouseUp); completelyRemoveEventListener(MouseEvent.ROLL_OVER, _rollOver); completelyRemoveEventListener(MouseEvent.ROLL_OUT, _rollOut); }; super.buttonMode = _arg1; super.useHandCursor = _arg1; dispatchEvent(new CastEvent(CastEvent.BUTTON_ENABLED_CHANGE)); } private function _collectionUpdate(_arg1:CollectionEvent):void{ _updateProgression(); } public function addCommand(... _args):void{ _executor.__addCommand.apply(this, _args); } private function _commandCompleteMouseUp(_arg1:CommandEvent):void{ executor.completelyRemoveEventListener(CommandEvent.COMMAND_COMPLETE, _commandCompleteMouseUp); navigateTo(null, (_openNewWindow) ? "_blank" : _windowTarget); _openNewWindow = false; } private function _mouseDown(_arg1:MouseEvent):void{ _stage.addEventListener(MouseEvent.MOUSE_UP, _mouseUpStage, false, int.MAX_VALUE, true); _isMouseDown = true; executor.__execute(new CastMouseEvent(CastMouseEvent.CAST_MOUSE_DOWN, _arg1.bubbles, _arg1.cancelable, _arg1.localX, _arg1.localY, _arg1.relatedObject, _arg1.ctrlKey, _arg1.altKey, _arg1.shiftKey, _arg1.buttonDown, _arg1.delta), {}, false, true); _arg1.stopPropagation(); } public function set onCastRemoved(_arg1:Function):void{ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_8000", "onCastRemoved"))); } override public function get useHandCursor():Boolean{ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_8000", "useHandCursor"))); } public function set sceneId(_arg1:SceneId):void{ _sceneId = _arg1; _updateProgression(); } public function set onCastMouseDown(_arg1:Function):void{ __onCastMouseDown = _arg1; } private function _castRollOut(_arg1:CastMouseEvent):void{ onCastRollOut(); } public function set onCastRollOver(_arg1:Function):void{ __onCastRollOver = _arg1; } public function get windowTarget():String{ return (_windowTarget); } public function set eventHandlerEnabled(_arg1:Boolean):void{ if ((_eventHandlerEnabled = _arg1)){ addExclusivelyEventListener(CastMouseEvent.CAST_MOUSE_DOWN, _castMouseDown, false, 0, true); addExclusivelyEventListener(CastMouseEvent.CAST_MOUSE_UP, _castMouseUp, false, 0, true); addExclusivelyEventListener(CastMouseEvent.CAST_ROLL_OVER, _castRollOver, false, 0, true); addExclusivelyEventListener(CastMouseEvent.CAST_ROLL_OUT, _castRollOut, false, 0, true); } else { completelyRemoveEventListener(CastMouseEvent.CAST_MOUSE_DOWN, _castMouseDown); completelyRemoveEventListener(CastMouseEvent.CAST_MOUSE_UP, _castMouseUp); completelyRemoveEventListener(CastMouseEvent.CAST_ROLL_OVER, _castRollOver); completelyRemoveEventListener(CastMouseEvent.CAST_ROLL_OUT, _castRollOut); }; } override public function get contextMenu():ContextMenu{ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9022"))); } private function _updateProgression():void{ var _local1:Progression; _local1 = _progression; if (_progression){ _progression.completelyRemoveEventListener(ProcessEvent.PROCESS_SCENE, _processScene); }; _progression = (_sceneId) ? ProgressionCollection.__getInstanceBySceneId(_sceneId) : null; if (_progression){ _progression.addExclusivelyEventListener(ProcessEvent.PROCESS_SCENE, _processScene, false, int.MAX_VALUE, true); _processScene(new ProcessEvent(ProcessEvent.PROCESS_SCENE, false, false, _progression.current, _progression.eventType)); }; if (_local1 != _progression){ dispatchEvent(new CastEvent(CastEvent.UPDATE)); }; } public function get buttonEnabled():Boolean{ return (_buttonEnabled); } public function navigateTo(_arg1=null, _arg2:String=null):void{ var _local3:URLRequest; var _local4:SceneId; switch (true){ case (_arg1 is String): _local3 = new URLRequest(_arg1); break; case (_arg1 is URLRequest): _local3 = URLRequest(_arg1); break; case (_arg1 is SceneId): _local4 = SceneId(_arg1); break; default: _local3 = (_href) ? new URLRequest(_href) : null; _local4 = _sceneId; }; _arg2 = ((_arg2) || (((_windowTarget) || ("_self")))); if (_local3){ navigateToURL(_local3, _arg2); } else { if (_local4){ if (((_progression) && ((_arg2 == "_self")))){ _progression.goto(_local4); } else { navigateToURL(new URLRequest(("#" + SceneIdUtil.toShortPath(_local4))), _arg2); }; }; }; } public function get eventHandlerEnabled():Boolean{ return (_eventHandlerEnabled); } public function get onCastAdded():Function{ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_8000", "onCastAdded"))); } public function get toolTip():ToolTip{ return (_toolTip); } public function set onCastAdded(_arg1:Function):void{ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_8000", "onCastAdded"))); } override public function set buttonMode(_arg1:Boolean):void{ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_8000", "buttonMode"))); } public function set onCastRollOut(_arg1:Function):void{ __onCastRollOut = _arg1; } public function get onCastRollOut():Function{ return (((__onCastRollOut) || (_onCastRollOut))); } protected function _onCastRollOut():void{ } override public function get buttonMode():Boolean{ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_8000", "buttonMode"))); } } }//package jp.progression.casts
Section 75
//CastMovieClip (jp.progression.casts.CastMovieClip) package jp.progression.casts { import flash.events.*; import jp.progression.core.ui.*; import jp.progression.core.commands.*; import flash.ui.*; import jp.nium.core.errors.*; import jp.nium.display.*; import flash.errors.*; public class CastMovieClip extends ExMovieClip implements ICastObject { private var __onCastAdded:Function; private var _uiContextMenu:CastObjectContextMenu; private var _toolTip:ToolTip; private var __onCastRemoved:Function; private var _castObject:CastObject; public function CastMovieClip(_arg1:Object=null){ _castObject = new CastObject(this); super(); _toolTip = ToolTip.__createInstance(this); var _local2 = new ContextMenu(); super.contextMenu = _local2; _uiContextMenu = CastObjectContextMenu.__createInstance(this, _local2); setProperties(_arg1); addExclusivelyEventListener(Event.ADDED, _added, false, int.MAX_VALUE, true); addExclusivelyEventListener(Event.REMOVED, _removed, false, int.MAX_VALUE, true); } private function _added(_arg1:Event):void{ var _local2:ICommandExecutable; if (_arg1.eventPhase != EventPhase.AT_TARGET){ return; }; _local2 = (parent as ICommandExecutable); if (_local2){ _local2.executor.__addExecutable(this); }; } protected function _onCastAdded():void{ } public function clearCommand(_arg1:Boolean=false):void{ _castObject.clearCommand(_arg1); } public function get parallelMode():Boolean{ return (_castObject.parallelMode); } public function insertCommand(... _args):void{ _castObject.insertCommand.apply(this, _args); } public function set parallelMode(_arg1:Boolean):void{ _castObject.parallelMode = _arg1; } public function get uiContextMenu():CastObjectContextMenu{ return (_uiContextMenu); } public function get onCastRemoved():Function{ return (((__onCastRemoved) || (_onCastRemoved))); } protected function _onCastRemoved():void{ } public function get executor():CommandExecutor{ return (_castObject.executor); } private function _removed(_arg1:Event):void{ var _local2:ICommandExecutable; if (_arg1.eventPhase != EventPhase.AT_TARGET){ return; }; _local2 = (parent as ICommandExecutable); if (_local2){ _local2.executor.__removeExecutable(this); }; } override public function set contextMenu(_arg1:ContextMenu):void{ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9022"))); } public function addCommand(... _args):void{ _castObject.addCommand.apply(this, _args); } public function set onCastRemoved(_arg1:Function):void{ __onCastRemoved = _arg1; } public function set eventHandlerEnabled(_arg1:Boolean):void{ _castObject.eventHandlerEnabled = _arg1; } override public function get contextMenu():ContextMenu{ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9022"))); } public function get eventHandlerEnabled():Boolean{ return (_castObject.eventHandlerEnabled); } public function set onCastAdded(_arg1:Function):void{ __onCastAdded = _arg1; } public function get toolTip():ToolTip{ return (_toolTip); } public function get onCastAdded():Function{ return (((__onCastAdded) || (_onCastAdded))); } } }//package jp.progression.casts
Section 76
//CastObject (jp.progression.casts.CastObject) package jp.progression.casts { import flash.display.*; import jp.progression.core.commands.*; import jp.nium.events.*; import jp.progression.events.*; public class CastObject extends EventIntegrator implements ICastObject { private var __onCastAdded:Function; private var _eventHandlerEnabled:Boolean;// = true private var _target:DisplayObject; private var _executor:CommandExecutor; private var __onCastRemoved:Function; public function CastObject(_arg1:DisplayObject){ _eventHandlerEnabled = true; super(); _target = _arg1; _executor = CommandExecutor.__createInstance(this); eventHandlerEnabled = true; addExclusivelyEventListener(CastEvent.CAST_ADDED, _target.dispatchEvent, false, 0, true); addExclusivelyEventListener(CastEvent.CAST_REMOVED, _target.dispatchEvent, false, 0, true); } public function set onCastRemoved(_arg1:Function):void{ __onCastRemoved = _arg1; } private function _castAdded(_arg1:CastEvent):void{ var _local2:ICastObject; _local2 = (((_target as ICastObject)) || (this)); _local2.onCastAdded.apply(_local2); } public function get target():DisplayObject{ return (_target); } public function set parallelMode(_arg1:Boolean):void{ _executor.__parallelMode = _arg1; } public function set eventHandlerEnabled(_arg1:Boolean):void{ if ((_eventHandlerEnabled = _arg1)){ addExclusivelyEventListener(CastEvent.CAST_ADDED, _castAdded, false, 0, true); addExclusivelyEventListener(CastEvent.CAST_REMOVED, _castRemoved, false, 0, true); } else { completelyRemoveEventListener(CastEvent.CAST_ADDED, _castAdded); completelyRemoveEventListener(CastEvent.CAST_REMOVED, _castRemoved); }; } protected function _onCastAdded():void{ } private function _castRemoved(_arg1:CastEvent):void{ var _local2:ICastObject; _local2 = (((_target as ICastObject)) || (this)); _local2.onCastRemoved.apply(_local2); } public function clearCommand(_arg1:Boolean=false):void{ _executor.__clearCommand(_arg1); } protected function _onCastRemoved():void{ } public function get onCastRemoved():Function{ return (((__onCastRemoved) || (_onCastRemoved))); } public function insertCommand(... _args):void{ _executor.__insertCommand.apply(null, _args); } public function get eventHandlerEnabled():Boolean{ return (_eventHandlerEnabled); } public function get executor():CommandExecutor{ return (_executor); } public function set onCastAdded(_arg1:Function):void{ __onCastAdded = _arg1; } public function get parallelMode():Boolean{ return (_executor.__parallelMode); } public function addCommand(... _args):void{ _executor.__addCommand.apply(null, _args); } public function get onCastAdded():Function{ return (((__onCastAdded) || (_onCastAdded))); } override public function toString():String{ return ("[object CastObject]"); } } }//package jp.progression.casts
Section 77
//CastSprite (jp.progression.casts.CastSprite) package jp.progression.casts { import flash.events.*; import jp.progression.core.ui.*; import jp.progression.core.commands.*; import flash.ui.*; import jp.nium.core.errors.*; import jp.nium.display.*; import flash.errors.*; public class CastSprite extends ExSprite implements ICastObject { private var __onCastAdded:Function; private var _castObject:CastObject; private var _uiContextMenu:CastObjectContextMenu; private var _toolTip:ToolTip; private var __onCastRemoved:Function; public function CastSprite(_arg1:Object=null){ _castObject = new CastObject(this); super(); _toolTip = ToolTip.__createInstance(this); var _local2 = new ContextMenu(); super.contextMenu = _local2; _uiContextMenu = CastObjectContextMenu.__createInstance(this, _local2); setProperties(_arg1); addExclusivelyEventListener(Event.ADDED, _added, false, int.MAX_VALUE, true); addExclusivelyEventListener(Event.REMOVED, _removed, false, int.MAX_VALUE, true); } private function _added(_arg1:Event):void{ var _local2:ICommandExecutable; if (_arg1.eventPhase != EventPhase.AT_TARGET){ return; }; _local2 = (parent as ICommandExecutable); if (_local2){ _local2.executor.__addExecutable(this); }; } public function get toolTip():ToolTip{ return (_toolTip); } protected function _onCastAdded():void{ } public function clearCommand(_arg1:Boolean=false):void{ _castObject.clearCommand(_arg1); } override public function set contextMenu(_arg1:ContextMenu):void{ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9022"))); } public function get parallelMode():Boolean{ return (_castObject.parallelMode); } private function _removed(_arg1:Event):void{ var _local2:ICommandExecutable; if (_arg1.eventPhase != EventPhase.AT_TARGET){ return; }; _local2 = (parent as ICommandExecutable); if (_local2){ _local2.executor.__removeExecutable(this); }; } public function addCommand(... _args):void{ _castObject.addCommand.apply(this, _args); } public function set parallelMode(_arg1:Boolean):void{ _castObject.parallelMode = _arg1; } public function set onCastRemoved(_arg1:Function):void{ __onCastRemoved = _arg1; } public function set eventHandlerEnabled(_arg1:Boolean):void{ _castObject.eventHandlerEnabled = _arg1; } override public function get contextMenu():ContextMenu{ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9022"))); } public function get uiContextMenu():CastObjectContextMenu{ return (_uiContextMenu); } public function insertCommand(... _args):void{ _castObject.insertCommand.apply(this, _args); } public function get onCastRemoved():Function{ return (((__onCastRemoved) || (_onCastRemoved))); } protected function _onCastRemoved():void{ } public function get eventHandlerEnabled():Boolean{ return (_castObject.eventHandlerEnabled); } public function get executor():CommandExecutor{ return (_castObject.executor); } public function set onCastAdded(_arg1:Function):void{ __onCastAdded = _arg1; } public function get onCastAdded():Function{ return (((__onCastAdded) || (_onCastAdded))); } } }//package jp.progression.casts
Section 78
//ICastObject (jp.progression.casts.ICastObject) package jp.progression.casts { import jp.progression.core.commands.*; public interface ICastObject extends ICommandExecutable { function get onCastAdded():Function; function get parallelMode():Boolean; function insertCommand(... _args):void; function set onCastRemoved(_arg1:Function):void; function addCommand(... _args):void; function get onCastRemoved():Function; function set parallelMode(_arg1:Boolean):void; function set onCastAdded(_arg1:Function):void; function clearCommand(_arg1:Boolean=false):void; } }//package jp.progression.casts
Section 79
//AddChild (jp.progression.commands.AddChild) package jp.progression.commands { import flash.display.*; import jp.progression.casts.*; import jp.progression.core.commands.*; import jp.progression.events.*; import jp.nium.core.errors.*; import fl.transitions.easing.*; public class AddChild extends Command { private var _display:DisplayObject; private var _child; private var _container:DisplayObjectContainer; private var _executor:CommandExecutor; private var _autoAlpha:int;// = 0 public function AddChild(_arg1:DisplayObjectContainer=null, _arg2=null, _arg3:Object=null){ _autoAlpha = 0; _container = _arg1; this.child = _arg2; super(_execute, _interrupt, _arg3); _executor = CommandExecutor.__createInstance(this); } public function set container(_arg1:DisplayObjectContainer):void{ _container = _arg1; } public function get child(){ return (_child); } private function _commandError(_arg1:CommandEvent):void{ _catchError(this, _arg1.errorObject); } private function _commandInterrupt(_arg1:CommandEvent):void{ _executor.completelyRemoveEventListener(CommandEvent.COMMAND_START, _commandStart); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_ERROR, _commandError); if (((_child) && (("executor" in _child)))){ _executor.__removeExecutable(_child); }; if (interrupting){ interruptComplete(); } else { interrupt(enforcedInterrupting, extra); }; } public function set child(_arg1):void{ switch (true){ case (_arg1 == null): _display = _arg1; break; case (_arg1 is DisplayObject): _display = (_arg1 as DisplayObject); break; case (_arg1 is CastObject): _display = CastObject(_arg1).target; break; default: throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_9006"))); }; _child = _arg1; } public function get container():DisplayObjectContainer{ return (_container); } private function _execute():void{ if (_container.contains(_display)){ executeComplete(); return; }; _container.addChild(_display); if (((_child) && (("executor" in _child)))){ _executor.__addExecutable(_child); }; _executor.addExclusivelyEventListener(CommandEvent.COMMAND_START, _commandStart, false, int.MAX_VALUE, true); _executor.addExclusivelyEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete, false, int.MAX_VALUE, true); _executor.addExclusivelyEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt, false, int.MAX_VALUE, true); _executor.addExclusivelyEventListener(CommandEvent.COMMAND_ERROR, _commandError, false, int.MAX_VALUE, true); _executor.__execute(new CastEvent(CastEvent.CAST_ADDED), extra, false, false); } private function _commandStart(_arg1:CommandEvent):void{ if (_autoAlpha > 0){ _display.alpha = 0; _executor.__insertCommand(new DoTween(_display, {alpha:1}, Regular.easeInOut, _autoAlpha)); }; } override public function clone():Command{ return (new AddChild(_container, _child, this).setProperties({autoAlpha:_autoAlpha})); } public function set autoAlpha(_arg1:int):void{ _autoAlpha = Math.max(0, _arg1); } private function _commandComplete(_arg1:CommandEvent):void{ _executor.completelyRemoveEventListener(CommandEvent.COMMAND_START, _commandStart); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_ERROR, _commandError); if (((_child) && (("executor" in _child)))){ _executor.__removeExecutable(_child); }; executeComplete(); } private function _interrupt():void{ if (!_container.contains(_display)){ _container.addChild(_display); }; if (((_child) && (("executor" in _child)))){ _executor.__addExecutable(_child); }; _executor.addExclusivelyEventListener(CommandEvent.COMMAND_START, _commandStart, false, int.MAX_VALUE, true); _executor.addExclusivelyEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete, false, int.MAX_VALUE, true); _executor.addExclusivelyEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt, false, int.MAX_VALUE, true); _executor.addExclusivelyEventListener(CommandEvent.COMMAND_ERROR, _commandError, false, int.MAX_VALUE, true); _executor.__interrupt(new CastEvent(CastEvent.CAST_ADDED), extra, false, false); } public function get autoAlpha():int{ return (_autoAlpha); } } }//package jp.progression.commands
Section 80
//DoTween (jp.progression.commands.DoTween) package jp.progression.commands { import flash.events.*; import jp.progression.core.commands.*; import jp.nium.events.*; import fl.transitions.*; public class DoTween extends Command { private var _duration:int; private var _target:Object; private var _aggregater:EventAggregater; private var _tweens:Array; private var _easing:Function; private var _props:Object; public function DoTween(_arg1:Object=null, _arg2:Object=null, _arg3:Function=null, _arg4:int=0, _arg5:Object=null){ _tweens = []; _target = _arg1; _props = _arg2; _easing = _arg3; _duration = _arg4; super(_execute, _interrupt, _arg5); _aggregater = new EventAggregater(); } public function get target():Object{ return (_target); } private function _complete(_arg1:Event):void{ _aggregater.completelyRemoveEventListener(Event.COMPLETE, _complete); executeComplete(); } public function set target(_arg1:Object):void{ _target = _arg1; } public function get easing():Function{ return (_easing); } public function set duration(_arg1:int):void{ _duration = _arg1; } private function _interrupt():void{ var _local1:int; var _local2:int; var _local3:Tween; _aggregater.removeAllEventDispatcher(); _local1 = _tweens.length; _local2 = 0; while (_local2 < _local1) { _local3 = Tween(_tweens[_local2]); _local3.stop(); _aggregater.removeEventDispatcher(_local3, TweenEvent.MOTION_FINISH); _local2++; }; interruptComplete(); } public function get duration():int{ return (_duration); } private function _execute():void{ var _local1:String; var _local2:int; var _local3:int; var _local4:Tween; _tweens = []; _aggregater.removeAllEventDispatcher(); _aggregater.reset(); _aggregater.addExclusivelyEventListener(Event.COMPLETE, _complete, false, int.MAX_VALUE, true); for (_local1 in _props) { if (!(_local1 in _target)){ } else { _local4 = new Tween(_target, _local1, _easing, _target[_local1], _props[_local1], (_duration / 1000), true); _aggregater.addEventDispatcher(_local4, TweenEvent.MOTION_FINISH); _tweens.push(_local4); }; }; if (_tweens.length == 0){ executeComplete(); return; }; _local2 = _tweens.length; _local3 = 0; while (_local3 < _local2) { Tween(_tweens[_local3]).start(); _local3++; }; } public function set easing(_arg1:Function):void{ _easing = _arg1; } override public function clone():Command{ return (new DoTween(_target, _props, _easing, _duration, this)); } public function set props(_arg1:Object):void{ _props = _arg1; } public function get props():Object{ return (_props); } } }//package jp.progression.commands
Section 81
//DoTweener (jp.progression.commands.DoTweener) package jp.progression.commands { import jp.progression.core.commands.*; import jp.nium.api.tweener.*; public class DoTweener extends Command { private var _tweenerHelper:TweenerHelper; private var _parameters:Object; private var _target:Object; public function DoTweener(_arg1:Object=null, _arg2:Object=null, _arg3:Object=null){ _target = _arg1; _parameters = _arg2; super(_execute, _interrupt, _arg3); } public function get target():Object{ return (_target); } public function set target(_arg1:Object):void{ _target = _arg1; } private function _complete(_arg1:TweenerEvent):void{ _tweenerHelper.completelyRemoveEventListener(TweenerEvent.COMPLETE, _complete); _tweenerHelper.addExclusivelyEventListener(TweenerEvent.ERROR, _error); executeComplete(); } private function _execute():void{ _tweenerHelper = new TweenerHelper(_target, _parameters); _tweenerHelper.addExclusivelyEventListener(TweenerEvent.COMPLETE, _complete, false, int.MAX_VALUE, true); _tweenerHelper.addExclusivelyEventListener(TweenerEvent.ERROR, _error, false, int.MAX_VALUE, true); if (_tweenerHelper.doTween()){ return; }; executeComplete(); } private function _error(_arg1:TweenerEvent):void{ _tweenerHelper.completelyRemoveEventListener(TweenerEvent.COMPLETE, _complete); _tweenerHelper.addExclusivelyEventListener(TweenerEvent.ERROR, _error); _catchError(this, _arg1.metaError); } public function set parameters(_arg1:Object):void{ _parameters = _arg1; } override public function clone():Command{ return (new DoTweener(_target, _parameters, this)); } public function get parameters():Object{ return (_parameters); } private function _interrupt():void{ _tweenerHelper.removeTweens(); interruptComplete(); } } }//package jp.progression.commands
Section 82
//Func (jp.progression.commands.Func) package jp.progression.commands { import flash.events.*; import jp.progression.core.commands.*; public class Func extends Command { private var _func:Function; private var _args:Array; private var _dispatcher:IEventDispatcher; private var _listening:Boolean;// = false private var _eventType:String; public function Func(_arg1:Function=null, _arg2:Array=null, _arg3:IEventDispatcher=null, _arg4:String=null, _arg5:Object=null){ _listening = false; _func = _arg1; _args = _arg2; _dispatcher = _arg3; _eventType = _arg4; super(_execute, _interrupt, _arg5); } private function _interrupt():void{ if (((_dispatcher) && (_eventType))){ _dispatcher.removeEventListener(_eventType, _listener); }; interruptComplete(); } public function set func(_arg1:Function):void{ _func = _arg1; } public function get dispatcher():IEventDispatcher{ return (_dispatcher); } private function _listener(_arg1:Event):void{ _dispatcher.removeEventListener(_eventType, _listener); executeComplete(); } public function get args():Array{ return (_args); } public function set args(_arg1:Array):void{ _args = _arg1; } public function get listening():Boolean{ return (_listening); } private function _execute():void{ _listening = ((_dispatcher) && (_eventType)); if (_listening){ _dispatcher.addEventListener(_eventType, _listener, false, 0, true); }; _func.apply(this, _args); if (_listening){ return; }; executeComplete(); } override public function clone():Command{ return (new Func(_func, _args, _dispatcher, _eventType, this)); } public function get eventType():String{ return (_eventType); } public function set eventType(_arg1:String):void{ _eventType = _arg1; _listening = false; if (((running) && (_dispatcher))){ _listening = true; _dispatcher.addEventListener(_eventType, _listener, false, 0, true); }; } public function set dispatcher(_arg1:IEventDispatcher):void{ _dispatcher = _arg1; _listening = false; if (((running) && (_eventType))){ _listening = true; _dispatcher.addEventListener(_eventType, _listener, false, 0, true); }; } public function get func():Function{ return (_func); } } }//package jp.progression.commands
Section 83
//ParallelList (jp.progression.commands.ParallelList) package jp.progression.commands { import jp.progression.core.commands.*; import jp.progression.events.*; import jp.nium.core.errors.*; import flash.errors.*; public class ParallelList extends CommandList { private var _interrupted:Boolean;// = false private var _commands:Array; public function ParallelList(_arg1:Object=null, ... _args){ _commands = []; _interrupted = false; super(_execute, _interrupt, _arg1); timeOut = (_arg1) ? _arg1.timeOut : 0; addCommand.apply(null, _args); } public function toSerialList():SerialList{ return (new SerialList(this)); } private function _commandError(_arg1:CommandEvent):void{ _catchError(Command(_arg1.target), _arg1.errorObject); } private function _convertCommand(_arg1:Array):Array{ var _local2:int; var _local3:int; var _local4:*; _local2 = _arg1.length; _local3 = 0; while (_local3 < _local2) { _local4 = _arg1[_local3]; switch (true){ case (_local4 == ""): case (_local4 == null): case (_local4 is Command): break; case (_local4 is Function): _arg1[_local3] = new Func(_local4); break; case (_local4 is Array): _arg1[_local3] = new SerialList().addCommand.apply(null, (_local4 as Array)); break; default: throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9028"))); }; _local3++; }; return (_arg1); } private function _interrupt():void{ var _local1:Array; var _local2:int; var _local3:int; var _local4:Command; _commands = []; while (hasNextCommand()) { _local4 = nextCommand(); _local4.addExclusivelyEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete, false, 0, true); _local4.addExclusivelyEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt, false, 0, true); _local4.addExclusivelyEventListener(CommandEvent.COMMAND_ERROR, _commandError, false, 0, true); _commands.push(_local4); }; if (_commands.length == 0){ interruptComplete(); return; }; _local1 = _commands.slice(); _local2 = _local1.length; _local3 = 0; while (_local3 < _local2) { Command(_local1[_local3]).interrupt(false, extra); _local3++; }; } override public function insertCommand(... _args):CommandList{ return (super.insertCommand.apply(null, _convertCommand(_args))); } private function _commandInterrupt(_arg1:CommandEvent):void{ _interrupted = true; _commandComplete(_arg1); } override public function clone():Command{ return (new ParallelList(this)); } private function _commandComplete(_arg1:CommandEvent):void{ var _local2:int; var _local3:int; var _local4:Command; _local2 = _commands.length; _local3 = 0; while (_local3 < _local2) { _local4 = Command(_commands[_local3]); if (_local4 != _arg1.target){ } else { _local4.completelyRemoveEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete); _local4.completelyRemoveEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt); _local4.completelyRemoveEventListener(CommandEvent.COMMAND_ERROR, _commandError); _commands.splice(_local3, 1); break; }; _local3++; }; if (_commands.length > 0){ return; }; if (interrupting){ interruptComplete(); } else { if (_interrupted){ interrupt(enforcedInterrupting, extra); } else { executeComplete(); }; }; } override public function addCommand(... _args):CommandList{ return (super.addCommand.apply(null, _convertCommand(_args))); } private function _execute():void{ var _local1:Array; var _local2:int; var _local3:int; var _local4:Command; _commands = []; _interrupted = false; reset(); while (hasNextCommand()) { _local4 = nextCommand(); _local4.addExclusivelyEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete, false, 0, true); _local4.addExclusivelyEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt, false, 0, true); _local4.addExclusivelyEventListener(CommandEvent.COMMAND_ERROR, _commandError, false, 0, true); _commands.push(_local4); }; if (_commands.length == 0){ executeComplete(); return; }; _local1 = _commands.slice(); _local2 = _local1.length; _local3 = 0; while (_local3 < _local2) { Command(_local1[_local3]).execute(extra); _local3++; }; } } }//package jp.progression.commands
Section 84
//RemoveChild (jp.progression.commands.RemoveChild) package jp.progression.commands { import flash.display.*; import jp.progression.casts.*; import jp.progression.core.commands.*; import jp.progression.events.*; import jp.nium.core.errors.*; import fl.transitions.easing.*; public class RemoveChild extends Command { private var _display:DisplayObject; private var _child; private var _container:DisplayObjectContainer; private var _executor:CommandExecutor; private var _autoAlpha:int;// = 0 public function RemoveChild(_arg1:DisplayObjectContainer=null, _arg2=null, _arg3:Object=null){ _autoAlpha = 0; _container = _arg1; this.child = _arg2; super(_execute, _interrupt, _arg3); _executor = CommandExecutor.__createInstance(this); } public function set container(_arg1:DisplayObjectContainer):void{ _container = _arg1; } public function get child(){ return (_child); } private function _commandError(_arg1:CommandEvent):void{ _catchError(this, _arg1.errorObject); } private function _commandInterrupt(_arg1:CommandEvent):void{ _executor.completelyRemoveEventListener(CommandEvent.COMMAND_START, _commandStart); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_ERROR, _commandError); if (_container.contains(_display)){ _container.removeChild(_display); }; if (((_child) && (("executor" in _child)))){ _executor.__removeExecutable(_child); }; interruptComplete(); } public function set child(_arg1):void{ switch (true){ case (_arg1 == null): _display = _arg1; break; case (_arg1 is DisplayObject): _display = (_arg1 as DisplayObject); break; case (_arg1 is CastObject): _display = CastObject(_arg1).target; break; default: throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_9006"))); }; _child = _arg1; } public function get container():DisplayObjectContainer{ return (_container); } private function _execute():void{ if (!_container.contains(_display)){ executeComplete(); return; }; if (((_child) && (("executor" in _child)))){ _executor.__addExecutable(_child); }; _executor.addExclusivelyEventListener(CommandEvent.COMMAND_START, _commandStart, false, int.MAX_VALUE, true); _executor.addExclusivelyEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete, false, int.MAX_VALUE, true); _executor.addExclusivelyEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt, false, int.MAX_VALUE, true); _executor.addExclusivelyEventListener(CommandEvent.COMMAND_ERROR, _commandError, false, int.MAX_VALUE, true); _executor.__execute(new CastEvent(CastEvent.CAST_REMOVED), extra, true, false); } private function _commandStart(_arg1:CommandEvent):void{ if (_autoAlpha > 0){ _executor.__addCommand(new DoTween(_display, {alpha:0}, Regular.easeInOut, _autoAlpha)); }; } override public function clone():Command{ return (new RemoveChild(_container, _child, this).setProperties({autoAlpha:_autoAlpha})); } public function set autoAlpha(_arg1:int):void{ _autoAlpha = Math.max(0, _arg1); } private function _commandComplete(_arg1:CommandEvent):void{ _executor.completelyRemoveEventListener(CommandEvent.COMMAND_START, _commandStart); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_ERROR, _commandError); if (_container.contains(_display)){ _container.removeChild(_display); }; if (((_child) && (("executor" in _child)))){ _executor.__removeExecutable(_child); }; executeComplete(); } private function _interrupt():void{ interruptComplete(); } public function get autoAlpha():int{ return (_autoAlpha); } } }//package jp.progression.commands
Section 85
//SerialList (jp.progression.commands.SerialList) package jp.progression.commands { import jp.progression.core.commands.*; import jp.progression.events.*; import jp.nium.core.errors.*; import flash.errors.*; public class SerialList extends CommandList { private var _currentCommand:Command; public function SerialList(_arg1:Object=null, ... _args){ super(_execute, _interrupt, _arg1); timeOut = (_arg1) ? _arg1.timeOut : 0; addCommand.apply(null, _args); } private function _executeLoop():void{ if (hasNextCommand()){ _currentCommand = nextCommand(); _currentCommand.addExclusivelyEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete, false, 0, true); _currentCommand.addExclusivelyEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt, false, 0, true); _currentCommand.addExclusivelyEventListener(CommandEvent.COMMAND_ERROR, _commandError, false, 0, true); _currentCommand.execute(extra); return; }; executeComplete(); } private function _interruptLoop():void{ if (enforcedInterrupting){ interruptComplete(); return; }; if (hasNextCommand()){ _currentCommand = nextCommand(); _currentCommand.addExclusivelyEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete, false, 0, true); _currentCommand.addExclusivelyEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt, false, 0, true); _currentCommand.addExclusivelyEventListener(CommandEvent.COMMAND_ERROR, _commandError, false, 0, true); _currentCommand.interrupt(enforcedInterrupting, extra); return; }; interruptComplete(); } private function _commandError(_arg1:CommandEvent):void{ _catchError(Command(_arg1.target), _arg1.errorObject); } private function _convertCommand(_arg1:Array):Array{ var _local2:int; var _local3:int; var _local4:*; _local2 = _arg1.length; _local3 = 0; while (_local3 < _local2) { _local4 = _arg1[_local3]; switch (true){ case (_local4 == ""): case (_local4 == null): case (_local4 is Command): break; case (_local4 is Function): _arg1[_local3] = new Func(_local4); break; case (_local4 is Array): _arg1[_local3] = new ParallelList().addCommand.apply(null, (_local4 as Array)); break; default: throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9028"))); }; _local3++; }; return (_arg1); } private function _interrupt():void{ if (_currentCommand){ _currentCommand.addExclusivelyEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete, false, 0, true); _currentCommand.addExclusivelyEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt, false, 0, true); _currentCommand.addExclusivelyEventListener(CommandEvent.COMMAND_ERROR, _commandError, false, 0, true); _currentCommand.interrupt(enforcedInterrupting, extra); return; }; _interruptLoop(); } override public function insertCommand(... _args):CommandList{ return (super.insertCommand.apply(null, _convertCommand(_args))); } private function _commandInterrupt(_arg1:CommandEvent):void{ _currentCommand.completelyRemoveEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete); _currentCommand.completelyRemoveEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt); _currentCommand.completelyRemoveEventListener(CommandEvent.COMMAND_ERROR, _commandError); _currentCommand = null; if (interrupting){ _interruptLoop(); } else { interrupt(_arg1.enforcedInterrupted, extra); }; } override public function clone():Command{ return (new SerialList(this)); } public function toParallelList():ParallelList{ return (new ParallelList(this)); } private function _commandComplete(_arg1:CommandEvent):void{ _currentCommand.completelyRemoveEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete); _currentCommand.completelyRemoveEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt); _currentCommand.completelyRemoveEventListener(CommandEvent.COMMAND_ERROR, _commandError); _currentCommand = null; _executeLoop(); } override public function addCommand(... _args):CommandList{ return (super.addCommand.apply(null, _convertCommand(_args))); } private function _execute():void{ reset(); _executeLoop(); } } }//package jp.progression.commands
Section 86
//Background (jp.progression.core.casts.Background) package jp.progression.core.casts { import flash.events.*; import jp.progression.casts.*; import jp.nium.core.errors.*; import jp.progression.core.namespaces.*; import flash.errors.*; public class Background extends CastSprite { private static var _internallyCalled:Boolean = false; public function Background(){ if (!_internallyCalled){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "Background"))); }; _internallyCalled = false; addExclusivelyEventListener(Event.REMOVED_FROM_STAGE, _removedFromStage, false, int.MAX_VALUE, true); } private function _removedFromStage(_arg1:Event):void{ _arg1.stopImmediatePropagation(); throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9009"))); } progression_internal static function __createInstance():Background{ _internallyCalled = true; return (new (Background)); } } }//package jp.progression.core.casts
Section 87
//Container (jp.progression.core.casts.Container) package jp.progression.core.casts { import flash.events.*; import flash.display.*; import jp.progression.casts.*; import jp.nium.core.errors.*; import jp.progression.core.namespaces.*; import flash.errors.*; public class Container extends CastSprite { private var _centeringY:Boolean;// = false private var _centeringX:Boolean;// = false private static var _internallyCalled:Boolean = false; public function Container(){ _centeringX = false; _centeringY = false; super(); if (!_internallyCalled){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "Container"))); }; _internallyCalled = false; addExclusivelyEventListener(Event.ADDED_TO_STAGE, _addedToStage, false, int.MAX_VALUE, true); addExclusivelyEventListener(Event.REMOVED_FROM_STAGE, _removedFromStage, false, int.MAX_VALUE, true); } private function _resize(_arg1:Event):void{ super.x = (_centeringX) ? Math.round((stage.stageWidth / 2)) : 0; super.y = (_centeringY) ? Math.round((stage.stageHeight / 2)) : 0; } private function _addedToStage(_arg1:Event):void{ centeringX = _centeringX; centeringY = _centeringY; } public function set centeringX(_arg1:Boolean):void{ if ((_centeringX = _arg1)){ stage.addEventListener(Event.RESIZE, _resize, false, int.MAX_VALUE, true); } else { if (!_centeringY){ stage.removeEventListener(Event.RESIZE, _resize); }; }; super.x = (_arg1) ? (stage.stageWidth / 2) : 0; } private function _removedFromStage(_arg1:Event):void{ _arg1.stopImmediatePropagation(); throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9009"))); } override public function get x():Number{ return (super.x); } override public function get y():Number{ return (super.y); } public function set centeringY(_arg1:Boolean):void{ if ((_centeringY = _arg1)){ stage.addEventListener(Event.RESIZE, _resize, false, int.MAX_VALUE, true); } else { if (!_centeringX){ stage.removeEventListener(Event.RESIZE, _resize); }; }; super.y = (_arg1) ? (stage.stageHeight / 2) : 0; } public function get centeringX():Boolean{ return (_centeringX); } public function get centeringY():Boolean{ return (_centeringY); } override public function get root():DisplayObject{ return (this); } override public function set x(_arg1:Number):void{ if (_centeringX){ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9008", "x"))); }; super.x = _arg1; } override public function set y(_arg1:Number):void{ if (_centeringY){ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9008", "y"))); }; super.y = _arg1; } progression_internal static function __createInstance():Container{ _internallyCalled = true; return (new (Container)); } } }//package jp.progression.core.casts
Section 88
//CommandCollection (jp.progression.core.collections.CommandCollection) package jp.progression.core.collections { import jp.progression.core.commands.*; import flash.utils.*; import jp.nium.core.errors.*; import jp.progression.core.namespaces.*; public class CommandCollection { private static var _nums:Dictionary = new Dictionary(true); private static var _groups:Dictionary = new Dictionary(true); private static var _numInstances:int = 0; private static var _ids:Dictionary = new Dictionary(true); private static var _instances:Dictionary = new Dictionary(true); public function CommandCollection(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "CommandCollection"))); } progression_internal static function __getInstancesByGroup(_arg1:String, _arg2:Boolean=false):Array{ var _local3:Array; _local3 = (_groups[_arg1] as Array); _local3 = (_local3) ? _local3.slice() : []; if (_arg2){ _local3.sortOn(["id", "name", "group"]); }; return (_local3); } progression_internal static function __addInstanceAtId(_arg1:Command, _arg2:String):String{ var _local3:Command; _arg2 = ((_arg2) || ("")); _local3 = Command(_ids[_arg2]); if (_local3){ _local3.id = ""; delete _ids[_arg2]; }; delete _ids[_arg1.id]; if (_arg2 != ""){ _ids[_arg2] = _arg1; }; return (_arg2); } progression_internal static function __getInstancesByRegExp(_arg1:String, _arg2:RegExp, _arg3:Boolean=false):Array{ var _local4:Array; var _local5:Command; _local4 = []; for each (_local5 in _instances) { if (!(_arg1 in _local5)){ } else { _arg2.lastIndex = 0; if (!_arg2.test(String(_local5[_arg1]))){ } else { _local4.push(_local5); }; }; }; if (_arg3){ _local4.sortOn(["id", "name", "group"]); }; return (_local4); } progression_internal static function __getInstanceById(_arg1:String):Command{ return (Command(_ids[_arg1])); } progression_internal static function __addInstance(_arg1:Command):void{ _instances[_numInstances] = _arg1; _nums[_arg1] = _numInstances++; } progression_internal static function __getNumByInstance(_arg1:Command):int{ return (int(_nums[_arg1])); } progression_internal static function __addInstanceAtGroup(_arg1:Command, _arg2:String):String{ var _local3:Array; var _local4:int; var _local5:int; _arg2 = ((_arg2) || ("")); _local3 = (_groups[_arg2] as Array); if (_local3){ _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { if (_local3[_local5] != _arg1){ } else { _arg1.group = ""; _local3.splice(_local5, 1); break; }; _local5++; }; }; if (_arg2 != ""){ if (!_groups[_arg2]){ _groups[_arg2] = []; }; _local3 = _groups[_arg2]; _local3.push(_arg1); } else { _local3 = _groups[_arg1.group]; _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { if (_local3[_local5] != _arg1){ } else { _local3.splice(_local5, 1); _arg1.group = ""; break; }; _local5++; }; }; return (_arg2); } } }//package jp.progression.core.collections
Section 89
//ProgressionCollection (jp.progression.core.collections.ProgressionCollection) package jp.progression.core.collections { import jp.progression.*; import flash.events.*; import jp.progression.scenes.*; import jp.nium.events.*; import jp.progression.core.events.*; import flash.utils.*; import jp.nium.core.errors.*; import jp.progression.core.namespaces.*; public class ProgressionCollection { private static var _nums:Dictionary = new Dictionary(true); private static var _groups:Dictionary = new Dictionary(true); private static var _numInstances:int = 0; private static var _ids:Dictionary = new Dictionary(true); private static var _integrator:EventIntegrator = new EventIntegrator(); private static var _instances:Dictionary = new Dictionary(true); public function ProgressionCollection(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "ProgressionCollection"))); } public static function dispatchEvent(_arg1:Event):Boolean{ return (_integrator.dispatchEvent(_arg1)); } public static function removeAllListeners(_arg1:Boolean=false):void{ _integrator.removeAllListeners(_arg1); } public static function addExclusivelyEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _integrator.addExclusivelyEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } progression_internal static function __addInstance(_arg1:Progression):void{ _instances[_numInstances] = _arg1; _nums[_arg1] = _numInstances++; dispatchEvent(new CollectionEvent(CollectionEvent.COLLECTION_UPDATE, false, false, _arg1)); } public static function willTrigger(_arg1:String):Boolean{ return (_integrator.willTrigger(_arg1)); } public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _integrator.removeEventListener(_arg1, _arg2, _arg3); } progression_internal static function __addInstanceAtId(_arg1:Progression, _arg2:String):String{ _arg2 = ((_arg2) || ("")); delete _ids[_arg1.id]; if (_arg2 != ""){ _ids[_arg2] = _arg1; }; return (_arg2); } public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _integrator.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } progression_internal static function __getInstanceBySceneId(_arg1:SceneId):Progression{ return (Progression(_ids[_arg1.getNameByIndex(0)])); } progression_internal static function __getNumByInstance(_arg1:Progression):int{ return (int(_nums[_arg1])); } progression_internal static function __getInstanceById(_arg1:String):Progression{ return (Progression(_ids[_arg1])); } progression_internal static function __getInstancesByGroup(_arg1:String, _arg2:Boolean=false):Array{ var _local3:Array; _local3 = (_groups[_arg1] as Array); _local3 = (_local3) ? _local3.slice() : []; if (_arg2){ _local3.sortOn(["id", "group"]); }; return (_local3); } public static function completelyRemoveEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _integrator.completelyRemoveEventListener(_arg1, _arg2, _arg3); } progression_internal static function __getInstancesByRegExp(_arg1:String, _arg2:RegExp, _arg3:Boolean=false):Array{ var _local4:Array; var _local5:Progression; _local4 = []; for each (_local5 in _instances) { if (!(_arg1 in _local5)){ } else { _arg2.lastIndex = 0; if (!_arg2.test(String(_local5[_arg1]))){ } else { _local4.push(_local5); }; }; }; if (_arg3){ _local4.sortOn(["id", "group"]); }; return (_local4); } public static function restoreRemovedListeners():void{ _integrator.restoreRemovedListeners(); } public static function hasEventListener(_arg1:String):Boolean{ return (_integrator.hasEventListener(_arg1)); } progression_internal static function __addInstanceAtGroup(_arg1:Progression, _arg2:String):String{ var _local3:Array; var _local4:int; var _local5:int; _arg2 = ((_arg2) || ("")); _local3 = (_groups[_arg2] as Array); if (_local3){ _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { if (_local3[_local5] != _arg1){ } else { _arg1.group = ""; _local3.splice(_local5, 1); break; }; _local5++; }; }; if (_arg2 != ""){ if (!_groups[_arg2]){ _groups[_arg2] = []; }; _local3 = _groups[_arg2]; _local3.push(_arg1); } else { _local3 = _groups[_arg1.group]; _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { if (_local3[_local5] != _arg1){ } else { _local3.splice(_local5, 1); _arg1.group = ""; break; }; _local5++; }; }; return (_arg2); } } }//package jp.progression.core.collections
Section 90
//SceneCollection (jp.progression.core.collections.SceneCollection) package jp.progression.core.collections { import jp.progression.*; import jp.progression.scenes.*; import flash.utils.*; import jp.nium.core.errors.*; import jp.progression.core.namespaces.*; public class SceneCollection { private static var _nums:Dictionary = new Dictionary(true); private static var _groups:Dictionary = new Dictionary(true); private static var _numInstances:int = 0; private static var _ids:Dictionary = new Dictionary(true); private static var _instances:Dictionary = new Dictionary(true); public function SceneCollection(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "SceneCollection"))); } progression_internal static function __getInstancesByGroup(_arg1:String, _arg2:Boolean=false):Array{ var _local3:Array; _local3 = (_groups[_arg1] as Array); _local3 = (_local3) ? _local3.slice() : []; if (_arg2){ _local3.sortOn(["id", "name", "group"]); }; return (_local3); } progression_internal static function __addInstanceAtId(_arg1:SceneObject, _arg2:String):String{ var _local3:SceneObject; _arg2 = ((_arg2) || ("")); _local3 = SceneObject(_ids[_arg2]); if (_local3){ _local3.id = ""; delete _ids[_arg2]; }; delete _ids[_arg1.id]; if (_arg2 != ""){ _ids[_arg2] = _arg1; }; return (_arg2); } progression_internal static function __getInstanceBySceneId(_arg1:SceneId):SceneObject{ var _local2:Progression; var _local3:SceneObject; var _local4:int; var _local5:int; var _local6:String; _local2 = ProgressionCollection.__getInstanceBySceneId(_arg1); if (!_local2){ return (null); }; _local3 = _local2.root; _local4 = _arg1.length; _local5 = 1; while (_local5 < _local4) { _local6 = _arg1.getNameByIndex(_local5); _local3 = _local3.getSceneByName(_local6); if (!_local3){ return (null); }; _local5++; }; return (_local3); } progression_internal static function __getInstancesByRegExp(_arg1:String, _arg2:RegExp, _arg3:Boolean=false):Array{ var _local4:Array; var _local5:SceneObject; _local4 = []; for each (_local5 in _instances) { if (!(_arg1 in _local5)){ } else { _arg2.lastIndex = 0; if (!_arg2.test(String(_local5[_arg1]))){ } else { _local4.push(_local5); }; }; }; if (_arg3){ _local4.sortOn(["id", "name", "group"]); }; return (_local4); } progression_internal static function __getInstanceById(_arg1:String):SceneObject{ return (SceneObject(_ids[_arg1])); } progression_internal static function __addInstance(_arg1:SceneObject):void{ _instances[_numInstances] = _arg1; _nums[_arg1] = _numInstances++; } progression_internal static function __getNumByInstance(_arg1:SceneObject):int{ return (int(_nums[_arg1])); } progression_internal static function __addInstanceAtGroup(_arg1:SceneObject, _arg2:String):String{ var _local3:Array; var _local4:int; var _local5:int; _arg2 = ((_arg2) || ("")); _local3 = (_groups[_arg2] as Array); if (_local3){ _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { if (_local3[_local5] != _arg1){ } else { _arg1.group = ""; _local3.splice(_local5, 1); break; }; _local5++; }; }; if (_arg2 != ""){ if (!_groups[_arg2]){ _groups[_arg2] = []; }; _local3 = _groups[_arg2]; _local3.push(_arg1); } else { _local3 = _groups[_arg1.group]; _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { if (_local3[_local5] != _arg1){ } else { _local3.splice(_local5, 1); _arg1.group = ""; break; }; _local5++; }; }; return (_arg2); } } }//package jp.progression.core.collections
Section 91
//Command (jp.progression.core.commands.Command) package jp.progression.core.commands { import flash.events.*; import jp.nium.events.*; import jp.progression.events.*; import flash.utils.*; import jp.nium.utils.*; import jp.nium.core.errors.*; import jp.progression.core.collections.*; import jp.progression.core.debug.*; import jp.progression.core.errors.*; import jp.progression.core.namespaces.*; public class Command extends EventIntegrator { private var _errorFunction:Function; private var _enabled:Boolean;// = true private var _length:int;// = 1 private var _timeOut:int;// = 15000 private var _extra:Object; private var _timerTimeOut:Timer; private var _executeFunction:Function; private var _scope:Object; private var _previous:Command; private var _afterArgs:Array; private var _enforcedInterrupting:Boolean;// = false private var _name:String; private var _latestData; private var _interrupting:Boolean;// = false private var _group:String; private var _running:Boolean;// = false private var _delay:int;// = 0 private var _beforeArgs:Array; private var _beforeFunction:Function; private var _className:String; private var _processing:Boolean;// = false private var _id:String; private var _root:Command; private var _parent:CommandList; private var _indent:String;// = " " private var _next:Command; private var _afterFunction:Function; private var _interruptFunction:Function; private var _timerDelay:Timer; private static var __processNum:int = 0; private static var _thresholdLength:int = 200; private static var _executedCommands:Array = []; public function Command(_arg1:Function=null, _arg2:Function=null, _arg3:Object=null){ var _local4:Command; _length = 1; _indent = " "; _enabled = true; _running = false; _interrupting = false; _enforcedInterrupting = false; _processing = false; _delay = 0; _timeOut = 15000; _beforeArgs = []; _afterArgs = []; super(); _className = ClassUtil.getClassName(this); CommandCollection.__addInstance(this); _executeFunction = ((_arg1) || (executeComplete)); _interruptFunction = ((_arg2) || (interruptComplete)); this.name = null; this.scope = this; setProperties(_arg3); if ((_arg3 is Command)){ _local4 = Command(_arg3); _delay = _local4._delay; _extra = _local4._extra; _executeFunction = _local4._executeFunction; _interruptFunction = _local4._interruptFunction; _beforeFunction = _local4._beforeFunction; _beforeArgs = _local4._beforeArgs.slice(); _afterFunction = _local4._afterFunction; _afterArgs = _local4._afterArgs.slice(); _errorFunction = _local4._errorFunction; }; } public function set delay(_arg1:int):void{ _delay = Math.max(0, _arg1); } public function get extra():Object{ return (_extra); } progression_internal function set __parent(_arg1:CommandList):void{ _parent = _arg1; } public function set name(_arg1:String):void{ _name = ((_arg1) || (("command_" + CommandCollection.__getNumByInstance(this)))); } public function error(_arg1:Function):Command{ _errorFunction = _arg1; return (this); } public function get id():String{ return (_id); } public function get className():String{ return (_className); } private function _timerCompleteDelay(_arg1:TimerEvent):void{ _timerDelay.removeEventListener(TimerEvent.TIMER_COMPLETE, _timerCompleteDelay); _timerDelay = null; _executeStart(); } public function setProperties(_arg1:Object):Command{ ObjectUtil.setProperties(this, _arg1); return (this); } public function set id(_arg1:String):void{ _id = CommandCollection.__addInstanceAtId(this, _arg1); } public function getCommandsByRegExp(_arg1:String, _arg2:RegExp, _arg3:Boolean=false):Array{ return (CommandCollection.__getInstancesByRegExp(_arg1, _arg2, _arg3)); } public function get enabled():Boolean{ return (_enabled); } public function get timeOut():int{ return (_timeOut); } public function get scope():Object{ return (_scope); } public function clone():Command{ return (new Command(_executeFunction, _interruptFunction, this)); } public function interrupt(_arg1:Boolean=false, _arg2:Object=null):void{ if (_interrupting){ return; }; if (((!(_running)) && (_arg1))){ interruptComplete(); return; }; _extra = ((_arg2) || ({})); if (ArrayUtil.getItemIndex(_executedCommands, this) == -1){ _executedCommands.push(this); }; _interrupting = true; _enforcedInterrupting = _arg1; _interruptStart(); } override public function toString():String{ return ((((((((("[" + _className) + " id=\"") + _id) + "\" name=\"") + _name) + "\" group=\"") + _group) + "\"]")); } public function apply(_arg1:Function, ... _args):Command{ _arg1.apply(this, _args); return (this); } public function execute(_arg1:Object=null):void{ if (_running){ return; }; _extra = ((_arg1) || ({})); _running = true; _processing = true; dispatchEvent(new CommandEvent(CommandEvent.COMMAND_START)); if (!_running){ return; }; if (!_enabled){ _running = false; _processing = false; dispatchEvent(new CommandEvent(CommandEvent.COMMAND_COMPLETE)); return; }; if (ArrayUtil.getItemIndex(_executedCommands, this) == -1){ _executedCommands.push(this); }; if (_processNum > _thresholdLength){ _delay = Math.max(1, _delay); }; if (_delay == 0){ _executeStart(); return; }; _processing = false; _timerDelay = new Timer(_delay, 1); _timerDelay.addEventListener(TimerEvent.TIMER_COMPLETE, _timerCompleteDelay, false, int.MAX_VALUE, true); _timerDelay.start(); } public function get group():String{ return (_group); } public function get delay():int{ return (_delay); } progression_internal function set __root(_arg1:Command):void{ _root = _arg1; } public function get enforcedInterrupting():Boolean{ return (_enforcedInterrupting); } public function set enabled(_arg1:Boolean):void{ _enabled = _arg1; } progression_internal function get __parent():CommandList{ return (_parent); } public function get name():String{ return (_name); } progression_internal function set __length(_arg1:int):void{ _length = _arg1; _indent = StringUtil.repeat(" ", _arg1); } public function getCommandById(_arg1:String):Command{ return (CommandCollection.__getInstanceById(_arg1)); } public function set timeOut(_arg1:int):void{ _timeOut = Math.max(0, _arg1); if (!_timerTimeOut){ return; }; if (_arg1 > 0){ _timerTimeOut.reset(); _timerTimeOut.delay = _arg1; _timerTimeOut.start(); } else { _timerTimeOut.removeEventListener(TimerEvent.TIMER_COMPLETE, _timerCompleteTimeOut); _timerTimeOut = null; }; } public function before(_arg1:Function, ... _args):Command{ _beforeFunction = _arg1; _beforeArgs = ((_args) || ([])); return (this); } public function getCommandsByGroup(_arg1:String, _arg2:Boolean=false):Array{ return (CommandCollection.__getInstancesByGroup(_arg1, _arg2)); } public function get interrupting():Boolean{ return (_interrupting); } public function set latestData(_arg1):void{ _latestData = _arg1; } progression_internal function set __next(_arg1:Command):void{ _next = _arg1; } public function set scope(_arg1:Object):void{ _scope = ((_arg1) || (this)); } private function _timerCompleteTimeOut(_arg1:TimerEvent):void{ _timerTimeOut.removeEventListener(TimerEvent.TIMER_COMPLETE, _timerCompleteTimeOut); _timerTimeOut = null; _catchError(this, new CommandTimeOutError(ErrorMessageConstants.getMessage("ERROR_9021", this))); } public function get parent():CommandList{ return (_parent); } progression_internal function set __previous(_arg1:Command):void{ _previous = _arg1; } protected function _catchError(_arg1:Command, _arg2:Error):void{ Verbose.error(this, (_indent + VerboseMessageConstants.getMessage("VERBOSE_0018", _className, ((_id) || (_name)), ClassUtil.getClassName(_arg2)))); if (_timerTimeOut){ _timerTimeOut.removeEventListener(TimerEvent.TIMER_COMPLETE, _timerCompleteTimeOut); _timerTimeOut = null; }; if ((_errorFunction is Function)){ _errorFunction.apply(_arg1, [_arg2]); }; if (_arg1.running){ dispatchEvent(new CommandEvent(CommandEvent.COMMAND_ERROR, false, false, _enforcedInterrupting, _arg2)); }; } public function interruptComplete():void{ var _local1:Boolean; if (!_interrupting){ return; }; if (_timerTimeOut){ _timerTimeOut.removeEventListener(TimerEvent.TIMER_COMPLETE, _timerCompleteTimeOut); _timerTimeOut = null; }; _local1 = _enforcedInterrupting; _running = false; _interrupting = false; _enforcedInterrupting = false; _processing = false; _executedCommands.splice(ArrayUtil.getItemIndex(_executedCommands, this), 1); dispatchEvent(new CommandEvent(CommandEvent.COMMAND_INTERRUPT, false, false, _local1)); } public function get running():Boolean{ return (_running); } progression_internal function get __root():Command{ return (_root); } progression_internal function get __length():int{ return (_length); } public function listen(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0):Command{ addEventListener(_arg1, _arg2, _arg3, _arg4, true); return (this); } private function _executeStart():void{ Verbose.log(this, (_indent + VerboseMessageConstants.getMessage("VERBOSE_0016", _className, ((_id) || (_name))))); if ((_beforeFunction is Function)){ try { _beforeFunction.apply(_scope, _beforeArgs); } catch(e:Error) { _catchError(this, e); return; }; }; if (!_running){ return; }; if (_timeOut > 0){ _timerTimeOut = new Timer(_timeOut, 1); _timerTimeOut.addEventListener(TimerEvent.TIMER_COMPLETE, _timerCompleteTimeOut, false, int.MAX_VALUE, true); _timerTimeOut.start(); }; _processNum++; try { _executeFunction.apply(_scope); } catch(e:Error) { _catchError(this, e); }; _processNum--; } public function executeComplete():void{ if (!_running){ return; }; if (_timerTimeOut){ _timerTimeOut.removeEventListener(TimerEvent.TIMER_COMPLETE, _timerCompleteTimeOut); _timerTimeOut = null; }; if ((_afterFunction is Function)){ try { _afterFunction.apply(_scope, _afterArgs); } catch(e:Error) { _catchError(this, e); return; }; }; _running = false; _interrupting = false; _enforcedInterrupting = false; _processing = false; _executedCommands.splice(ArrayUtil.getItemIndex(_executedCommands, this), 1); dispatchEvent(new CommandEvent(CommandEvent.COMMAND_COMPLETE)); } public function get latestData(){ if (_latestData){ return (_latestData); }; if (_previous){ return (_previous.latestData); }; if (_parent){ return (_parent.latestData); }; return (null); } progression_internal function get __next():Command{ return (_next); } progression_internal function get __previous():Command{ return (_previous); } private function _interruptStart():void{ Verbose.log(this, (_indent + VerboseMessageConstants.getMessage("VERBOSE_0017", _className, ((_id) || (_name))))); if (_timerDelay){ _timerDelay.removeEventListener(TimerEvent.TIMER_COMPLETE, _timerCompleteDelay); _timerDelay = null; if (_enforcedInterrupting){ interruptComplete(); return; }; }; if (_timerTimeOut){ _timerTimeOut.removeEventListener(TimerEvent.TIMER_COMPLETE, _timerCompleteTimeOut); _timerTimeOut = null; }; if (_timeOut > 0){ _timerTimeOut = new Timer(_timeOut, 1); _timerTimeOut.addEventListener(TimerEvent.TIMER_COMPLETE, _timerCompleteTimeOut, false, int.MAX_VALUE, true); _timerTimeOut.start(); }; try { _interruptFunction.apply(_scope); } catch(e:Error) { _catchError(this, e); }; } public function get root():Command{ return (((_root) || (this))); } public function after(_arg1:Function, ... _args):Command{ _afterFunction = _arg1; _afterArgs = ((_args) || ([])); return (this); } public function get length():int{ return (_length); } public function get next():Command{ return (_next); } public function get previous():Command{ return (_previous); } public function set group(_arg1:String):void{ _group = CommandCollection.__addInstanceAtGroup(this, _arg1); } public static function get thresholdLength():int{ return (_thresholdLength); } private static function get _processNum():int{ return (__processNum); } public static function set thresholdLength(_arg1:int):void{ _thresholdLength = Math.max(0, _arg1); } private static function set _processNum(_arg1:int):void{ __processNum = Math.max(0, _arg1); } } }//package jp.progression.core.commands
Section 92
//CommandExecutor (jp.progression.core.commands.CommandExecutor) package jp.progression.core.commands { import flash.events.*; import flash.display.*; import jp.nium.events.*; import jp.progression.events.*; import jp.progression.commands.*; import jp.nium.core.errors.*; import jp.progression.core.namespaces.*; import flash.errors.*; public class CommandExecutor extends EventIntegrator { private var _executors:Array; private var _parallelMode:Boolean;// = false private var _target:IEventDispatcher; private var _root:CommandExecutor; private var _parent:CommandExecutor; private var _commandList:CommandList; private static var _internallyCalled:Boolean = false; public function CommandExecutor(_arg1:IEventDispatcher){ _executors = []; _commandList = new SerialList(); _parallelMode = false; super(); if (!_internallyCalled){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "CommandExecutor"))); }; _target = _arg1; _root = this; _internallyCalled = false; } progression_internal function __interrupt(_arg1:Event, _arg2:Object=null, _arg3:Boolean=false, _arg4:Boolean=false):void{ if (interrupting){ return; }; _interrupt(_arg1, _arg3); _commandList.addExclusivelyEventListener(CommandEvent.COMMAND_START, dispatchEvent, false, int.MAX_VALUE, true); _commandList.addExclusivelyEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete, false, int.MAX_VALUE, true); _commandList.addExclusivelyEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt, false, int.MAX_VALUE, true); _commandList.addExclusivelyEventListener(CommandEvent.COMMAND_ERROR, _commandError, false, int.MAX_VALUE, true); _commandList.interrupt(_arg4, _arg2); } progression_internal function get __parent():CommandExecutor{ return (_parent); } progression_internal function __execute(_arg1:Event, _arg2:Object=null, _arg3:Boolean=false, _arg4:Boolean=false):void{ if (_commandList.running){ if (!_arg4){ return; }; _commandList.interrupt(true, _arg2); }; _execute(_arg1, _arg3); _commandList.addExclusivelyEventListener(CommandEvent.COMMAND_START, dispatchEvent, false, int.MAX_VALUE, true); _commandList.addExclusivelyEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete, false, int.MAX_VALUE, true); _commandList.addExclusivelyEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt, false, int.MAX_VALUE, true); _commandList.addExclusivelyEventListener(CommandEvent.COMMAND_ERROR, _commandError, false, int.MAX_VALUE, true); _commandList.execute(_arg2); } public function get enforcedInterrupting():Boolean{ return (_commandList.enforcedInterrupting); } progression_internal function __clearCommand(_arg1:Boolean=false):void{ _commandList.clearCommand(_arg1); } public function get interrupting():Boolean{ return (_commandList.interrupting); } progression_internal function get __parallelMode():Boolean{ return (_parallelMode); } private function _execute(_arg1:Event, _arg2:Boolean):void{ var _local3:ParallelList; var _local4:int; var _local5:int; var _local6:CommandExecutor; _commandList.clearCommand(true); if (!_arg2){ _target.dispatchEvent(_arg1); }; _local3 = new ParallelList(); _local4 = _executors.length; _local5 = 0; while (_local5 < _local4) { _local6 = Object(_executors[_local5]).executor; _local6._execute(_arg1, _arg2); if (_local6._commandList.numCommands > 0){ _local3.addCommand(_local6._commandList); }; _local5++; }; if (_local3.numCommands > 0){ _commandList.addCommand(_local3); }; if (_arg2){ _target.dispatchEvent(_arg1); }; } private function _commandInterrupt(_arg1:CommandEvent):void{ _commandList.completelyRemoveEventListener(CommandEvent.COMMAND_START, dispatchEvent); _commandList.completelyRemoveEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete); _commandList.completelyRemoveEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt); _commandList.completelyRemoveEventListener(CommandEvent.COMMAND_ERROR, _commandError); dispatchEvent(_arg1); } public function get running():Boolean{ if (((_parent) && (_parent.running))){ return (true); }; return (_commandList.running); } progression_internal function __removeExecutable(_arg1){ var _local2:CommandExecutor; var _local3:int; var _local4:int; switch (true){ case (_arg1 is ICommandExecutable): break; case (_arg1 is MovieClip): case ("executor" in _arg1): break; default: throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_9023", "ICommandExecutable"))); }; _local2 = Object(_arg1).executor; _local2._root = _local2; _local2._parent = null; _local3 = _executors.length; _local4 = 0; while (_local4 < _local3) { if (_executors[_local4] != _arg1){ } else { _executors.splice(_local4, 1); }; _local4++; }; return (_arg1); } progression_internal function __addCommand(... _args):void{ _commandList.addCommand.apply(null, _args); } progression_internal function get __root():CommandExecutor{ return (_root); } progression_internal function set __parallelMode(_arg1:Boolean):void{ if (running){ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9027"))); }; if ((_parallelMode = _arg1)){ _commandList = SerialList(_commandList).toParallelList(); } else { _commandList = ParallelList(_commandList).toSerialList(); }; } private function _commandError(_arg1:CommandEvent):void{ _commandList.completelyRemoveEventListener(CommandEvent.COMMAND_START, dispatchEvent); _commandList.completelyRemoveEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete); _commandList.completelyRemoveEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt); _commandList.completelyRemoveEventListener(CommandEvent.COMMAND_ERROR, _commandError); dispatchEvent(_arg1); } private function _interrupt(_arg1:Event, _arg2:Boolean):void{ var _local3:ParallelList; var _local4:int; var _local5:int; var _local6:CommandExecutor; _commandList.clearCommand(true); if (!_arg2){ _target.dispatchEvent(_arg1); }; _local3 = new ParallelList(); _local4 = _executors.length; _local5 = 0; while (_local5 < _local4) { _local6 = Object(_executors[_local5]).executor; _local6._interrupt(_arg1, _arg2); if (_local6._commandList.numCommands > 0){ _local3.addCommand(_local6._commandList); }; _local5++; }; if (_local3.numCommands > 0){ _commandList.addCommand(_local3); }; if (_arg2){ _target.dispatchEvent(_arg1); }; } private function _commandComplete(_arg1:CommandEvent):void{ _commandList.completelyRemoveEventListener(CommandEvent.COMMAND_START, dispatchEvent); _commandList.completelyRemoveEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete); _commandList.completelyRemoveEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt); _commandList.completelyRemoveEventListener(CommandEvent.COMMAND_ERROR, _commandError); dispatchEvent(_arg1); } override public function toString():String{ return ("[object CommandExecutor]"); } progression_internal function __addExecutable(_arg1){ var _local2:CommandExecutor; switch (true){ case (_arg1 is ICommandExecutable): break; case (_arg1 is MovieClip): case ("executor" in _arg1): break; default: throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_9023", "ICommandExecutable"))); }; _local2 = Object(_arg1).executor; if (_local2._parent){ _local2._parent.__removeExecutable(_arg1); }; _local2._root = _root; _local2._parent = this; _executors.push(_arg1); return (_arg1); } progression_internal function __insertCommand(... _args):void{ _commandList.insertCommand.apply(null, _args); } progression_internal static function __createInstance(_arg1:IEventDispatcher):CommandExecutor{ _internallyCalled = true; return (new CommandExecutor(_arg1)); } } }//package jp.progression.core.commands
Section 93
//CommandList (jp.progression.core.commands.CommandList) package jp.progression.core.commands { import jp.progression.events.*; import flash.utils.*; import jp.nium.utils.*; import jp.nium.core.errors.*; import jp.progression.core.debug.*; import jp.progression.core.namespaces.*; public class CommandList extends Command { private var _position:int;// = 0 private var _indent:String;// = " " private var _commands:Array; public function CommandList(_arg1:Function=null, _arg2:Function=null, _arg3:Object=null, ... _args){ var _local5:Array; var _local6:Array; var _local7:int; var _local8:int; _commands = []; _indent = " "; _position = 0; super(_arg1, _arg2, _arg3); if (getQualifiedSuperclassName(this) == getQualifiedClassName(Command)){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "CommandList"))); }; if ((_arg3 is CommandList)){ _local5 = CommandList(_arg3)._commands.slice(); _local6 = []; _local7 = _local5.length; _local8 = 0; while (_local8 < _local7) { _local5[_local8] = Command(_local5[_local8]).clone(); _local8++; }; var _local4:Array = _local5; }; addCommand.apply(null, _args); addExclusivelyEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete, false, int.MAX_VALUE, true); } override progression_internal function set __root(_arg1:Command):void{ var _local2:int; var _local3:int; super.__root = _arg1; _local2 = _commands.length; _local3 = 0; while (_local3 < _local2) { Command(_commands[_local3]).__root = root; _local3++; }; } override progression_internal function get __parent():CommandList{ return (super.__parent); } override progression_internal function set __length(_arg1:int):void{ var _local2:int; var _local3:int; super.__length = _arg1; _local2 = _commands.length; _local3 = 0; while (_local3 < _local2) { Command(_commands[_local3]).__length = (length + 1); _local3++; }; _indent = StringUtil.repeat(" ", _arg1); } private function _unregisterCommand(_arg1:Command):void{ var _local2:int; var _local3:int; var _local4:Command; var _local5:Command; var _local6:Command; _local2 = _commands.length; _local3 = 0; while (_local3 < _local2) { _local4 = Command(_commands[_local3]); if (_local4 != _arg1){ } else { _local5 = _commands[(_local3 + 1)]; _local6 = _commands[(_local3 - 1)]; _arg1.__root = null; _arg1.__parent = null; _arg1.__next = null; _arg1.__previous = null; _arg1.__length = 1; if (_local5){ _local5.__previous = _local6; }; if (_local6){ _local6.__next = _local5; }; _commands.splice(_local3, 1); _arg1.dispatchEvent(new CommandEvent(CommandEvent.COMMAND_REMOVED)); return; }; _local3++; }; } override progression_internal function set __parent(_arg1:CommandList):void{ var _local2:int; var _local3:int; super.__parent = _arg1; _local2 = _commands.length; _local3 = 0; while (_local3 < _local2) { Command(_commands[_local3]).__parent = this; _local3++; }; } public function get commands():Array{ return (_commands.concat()); } override progression_internal function set __next(_arg1:Command):void{ super.__next = _arg1; } public function get position():int{ return (Math.min(_position, (numCommands - 1))); } override progression_internal function set __previous(_arg1:Command):void{ super.__previous = _arg1; } public function get numCommands():int{ return (_commands.length); } public function clearCommand(_arg1:Boolean=false):CommandList{ var _local2:Array; var _local3:int; var _local4:int; _local2 = _commands.slice(); _local2 = (_arg1) ? _local2.splice(0) : _local2.splice(_position); _local3 = _local2.length; _local4 = 0; while (_local4 < _local3) { _unregisterCommand(Command(_local2[_local4])); _local4++; }; _position = Math.min(_position, numCommands); return (this); } override progression_internal function get __length():int{ return (super.__length); } public function reset():void{ _position = 0; } override progression_internal function get __next():Command{ return (super.__next); } override progression_internal function get __previous():Command{ return (super.__previous); } public function insertCommand(... _args):CommandList{ var _local2:int; var _local3:int; _local2 = _args.length; _local3 = 0; while (_local3 < _local2) { _registerCommand(Command(_args[_local3]), (_position + _local3)); _local3++; }; return (this); } override progression_internal function get __root():Command{ return (super.__root); } override public function clone():Command{ return (new CommandList(null, null, this)); } public function hasNextCommand():Boolean{ return ((_position < _commands.length)); } public function nextCommand():Command{ return (Command(_commands[_position++])); } private function _commandComplete(_arg1:CommandEvent):void{ Verbose.log(this, (((((_indent + "</") + className) + " : ") + ((id) || (name))) + ">")); } private function _registerCommand(_arg1:Command, _arg2:int):void{ var _local3:Command; var _local4:Command; if (_arg1.parent){ _arg1.parent._unregisterCommand(_arg1); }; _commands.splice(_arg2, 0, _arg1); _local3 = _commands[(_arg2 + 1)]; _local4 = _commands[(_arg2 - 1)]; _arg1.__root = root; _arg1.__parent = this; _arg1.__next = _local3; _arg1.__previous = _local4; _arg1.__length = (length + 1); ((_local3) && ((_local3.__previous = _arg1))); ((_local4) && ((_local4.__next = _arg1))); _arg1.dispatchEvent(new CommandEvent(CommandEvent.COMMAND_ADDED)); } public function addCommand(... _args):CommandList{ var _local2:int; var _local3:int; _local2 = _args.length; _local3 = 0; while (_local3 < _local2) { _registerCommand(Command(_args[_local3]), numCommands); _local3++; }; return (this); } } }//package jp.progression.core.commands
Section 94
//ICommandExecutable (jp.progression.core.commands.ICommandExecutable) package jp.progression.core.commands { import jp.nium.events.*; public interface ICommandExecutable extends IEventIntegrator { function get executor():CommandExecutor; } }//package jp.progression.core.commands
Section 95
//Verbose (jp.progression.core.debug.Verbose) package jp.progression.core.debug { import flash.net.*; import flash.events.*; import jp.progression.core.commands.*; import jp.nium.utils.*; import jp.nium.core.errors.*; import jp.nium.external.*; public class Verbose { public static const PROGRESSION_DEBUGGER_PANEL:String = "progressionDebuggerPanel"; public static const PROGRESSION_PROJECT_PANEL:String = "progressionProjectPanel"; private static var _records:Array = []; private static var _enabled:Boolean = false; private static var _connecting:Boolean = false; private static var _loggingFunction:Function = trace; private static var _connect:LocalConnection; private static var _filters:Array = []; public function Verbose(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "Verbose"))); } public static function get enabled():Boolean{ return (_enabled); } public static function get records():Array{ return (_records.slice()); } public static function removeAllFilters():void{ _filters = []; } public static function error(_arg1=null, _arg2:String=null):void{ _arg2 = ("[ERROR] " + _arg2); _loggingFunction.apply(null, [_arg2]); _records.push(_arg2); } public static function set enabled(_arg1:Boolean):void{ var value = _arg1; if ((_enabled = value)){ _connect = ((_connect) || (new LocalConnection())); _connect.addEventListener(StatusEvent.STATUS, _status, false, int.MAX_VALUE, true); _connect.client = Verbose; try { _connect.connect(PROGRESSION_PROJECT_PANEL); _connect.connect(PROGRESSION_DEBUGGER_PANEL); } catch(e:Error) { warning(Verbose, "デバッグ接続に失敗しました。"); }; } else { if (_connect){ _connect.close(); _connect.removeEventListener(StatusEvent.STATUS, _status); }; }; } public static function log(_arg1=null, _arg2:String=null, _arg3:Boolean=false):void{ var _local4:Array; var _local5:int; var _local6:int; var _local7:int; var _local8:int; if (!_enabled){ return; }; if (_arg3){ separate(); }; _local4 = (((_arg1 as Array)) || ([_arg1])); _local5 = _local4.length; _local6 = 0; while (_local6 < _local5) { _local7 = _filters.length; _local8 = 0; while (_local8 < _local7) { if ((_local4[_local6] is _filters[_local8])){ return; }; _local8++; }; _local6++; }; _arg2 = ("[LOG] " + _arg2); _loggingFunction.apply(null, [_arg2]); _records.push(_arg2); } public static function filteringCommand():void{ addFilter(Command); } public static function reload():void{ BrowserInterface.reload(); BrowserInterface.call("window.focus"); } public static function warning(_arg1=null, _arg2:String=null):void{ _arg2 = ("[WARNING] " + _arg2); _loggingFunction.apply(null, [_arg2]); _records.push(_arg2); } public static function get loggingFunction():Function{ return (_loggingFunction); } private static function _status(_arg1:StatusEvent):void{ switch (_arg1.level){ case "status": _connecting = true; break; case "warning": case "error": default: _connecting = false; }; } public static function separate():void{ if (!enabled){ return; }; _loggingFunction("\n----------------------------------------------------------------------"); } public static function hasFilter(_arg1:Class):Boolean{ return (!((ArrayUtil.getItemIndex(_filters, _arg1) == -1))); } public static function set loggingFunction(_arg1:Function):void{ _loggingFunction = ((_arg1) || (trace)); } public static function addFilter(_arg1:Class):void{ if (hasFilter(_arg1)){ return; }; _filters.push(_arg1); } public static function removeFilter(_arg1:Class):void{ var _local2:int; _local2 = ArrayUtil.getItemIndex(_filters, _arg1); if (_local2 == -1){ return; }; _filters.splice(_local2, 1); } public static function get connecting():Boolean{ return (_connecting); } } }//package jp.progression.core.debug
Section 96
//VerboseMessageConstants (jp.progression.core.debug.VerboseMessageConstants) package jp.progression.core.debug { import jp.nium.lang.*; public class VerboseMessageConstants { private static var _initialized:Boolean = function ():Boolean{ Locale.setString("VERBOSE_0000", "ja", "%0 は、すでに ICastObject インターフェイスを実装しているため、%1 コンポーネントは無効化されます。"); Locale.setString("VERBOSE_0000", "en", ""); Locale.setString("VERBOSE_0001", "ja", "%0 は MovieClip クラスを継承していないため、%1 コンポーネントは無効化されます。"); Locale.setString("VERBOSE_0001", "en", ""); Locale.setString("VERBOSE_0002", "ja", "%0 は dynamic クラスではないため、%1 コンポーネントは無効化されます。"); Locale.setString("VERBOSE_0002", "en", ""); Locale.setString("VERBOSE_0003", "ja", "%0 の executor プロパティの値が不正なため、%1 コンポーネントは無効化されます。"); Locale.setString("VERBOSE_0003", "en", ""); Locale.setString("VERBOSE_0004", "ja", "%0 には複数のボタンが設定されているため、%1 コンポーネントは無効化されます。"); Locale.setString("VERBOSE_0004", "en", ""); Locale.setString("VERBOSE_0005", "ja", "%0 は、ボタンコンポーネントがネスト状態で設定されているため、%1 コンポーネントは無効化されます。"); Locale.setString("VERBOSE_0005", "en", ""); Locale.setString("VERBOSE_0006", "ja", "%0 コンポーネントを無効化することはできません。"); Locale.setString("VERBOSE_0006", "en", ""); Locale.setString("VERBOSE_0007", "ja", "移動先のシーンが存在しません, 目的地 = %0"); Locale.setString("VERBOSE_0007", "en", ""); Locale.setString("VERBOSE_0008", "ja", "シーン移動を開始, 目的地 = %0"); Locale.setString("VERBOSE_0008", "en", ""); Locale.setString("VERBOSE_0009", "ja", "%0 シーンに移動。"); Locale.setString("VERBOSE_0009", "en", ""); Locale.setString("VERBOSE_0010", "ja", "%0 シーンの %1 イベントを実行。"); Locale.setString("VERBOSE_0010", "en", ""); Locale.setString("VERBOSE_0011", "ja", "シーン移動を完了。"); Locale.setString("VERBOSE_0011", "en", ""); Locale.setString("VERBOSE_0012", "ja", "シーン移動を中断。"); Locale.setString("VERBOSE_0012", "en", ""); Locale.setString("VERBOSE_0013", "ja", "シーン移動中にエラーが発生したため、その場で強制停止します。"); Locale.setString("VERBOSE_0013", "en", ""); Locale.setString("VERBOSE_0014", "ja", "設置されている HTML ファイルに swfobject.js 及び swfaddress.js が存在しないか、対応していないバージョンを使用している可能性があります。"); Locale.setString("VERBOSE_0014", "en", ""); Locale.setString("VERBOSE_0014", "ja", "読み込まれている swfaddress.js が対応していないバージョンである可能性があります。"); Locale.setString("VERBOSE_0014", "en", ""); Locale.setString("VERBOSE_0015", "ja", "読み込んだ PRML から作成した構造 url = %0\n%1\n"); Locale.setString("VERBOSE_0015", "en", ""); Locale.setString("VERBOSE_0016", "ja", "<%0 : %1> コマンドを中断。"); Locale.setString("VERBOSE_0016", "en", ""); Locale.setString("VERBOSE_0017", "ja", "<%0 : %1> コマンドを中断。"); Locale.setString("VERBOSE_0017", "en", ""); Locale.setString("VERBOSE_0018", "ja", "<%0 : %1> コマンドで %2 エラーが発生。"); Locale.setString("VERBOSE_0018", "en", ""); return (true); }.apply(); public function VerboseMessageConstants(){ throw (new ArgumentError(VerboseMessageConstants.getMessage("VERBOSE_0012", "VerboseMessageConstants"))); } public static function getMessage(_arg1:String, ... _args):String{ var _local3:String; var _local4:int; var _local5:int; _local3 = ((Locale.getString(_arg1)) || (Locale.getString("0000"))); _local4 = _args.length; _local5 = 0; while (_local5 < _local4) { _local3 = _local3.replace(new RegExp(("%" + _local5), "g"), _args[_local5]); _local5++; }; return (_local3); } } }//package jp.progression.core.debug
Section 97
//CommandTimeOutError (jp.progression.core.errors.CommandTimeOutError) package jp.progression.core.errors { public class CommandTimeOutError extends Error { public function CommandTimeOutError(_arg1:String){ super(_arg1); } } }//package jp.progression.core.errors
Section 98
//CollectionEvent (jp.progression.core.events.CollectionEvent) package jp.progression.core.events { import flash.events.*; public class CollectionEvent extends Event { private var _relatedTarget; public static const COLLECTION_UPDATE:String = "collectionUpdate"; public function CollectionEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4=null){ super(_arg1, _arg2, _arg3); _relatedTarget = _arg4; } override public function toString():String{ return (formatToString("CollectionEvent", "type", "bubbles", "cancelable")); } public function get relatedTarget(){ return (_relatedTarget); } override public function clone():Event{ return (new CollectionEvent(type, bubbles, cancelable, _relatedTarget)); } } }//package jp.progression.core.events
Section 99
//HistoryManager (jp.progression.core.managers.HistoryManager) package jp.progression.core.managers { import jp.progression.*; import jp.progression.scenes.*; import com.asual.swfaddress.*; import jp.nium.core.errors.*; import jp.progression.core.collections.*; import jp.nium.external.*; import jp.progression.core.namespaces.*; public class HistoryManager { private static var _position:int = 0; private static var _lock:Boolean = false; private static var _histories:Array = []; private static var _type:String = function ():String{ return ((BrowserInterface.enabled) ? HistoryManagerType.BROWSER : HistoryManagerType.FLASHPLAYER); }.apply(); public function HistoryManager(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "HistoryManager"))); } public static function forward():void{ var _local1:SceneId; var _local2:Progression; switch (_type){ case HistoryManagerType.BROWSER: SWFAddress.forward(); break; case HistoryManagerType.FLASHPLAYER: _position = Math.min((_position + 1), (_histories.length - 1)); _local1 = SceneId(_histories[_position]); _local2 = ProgressionCollection.__getInstanceBySceneId(_local1); if (_local2){ _lock = true; _local2.goto(_local1); _lock = false; }; break; }; } public static function back():void{ var _local1:SceneId; var _local2:Progression; switch (_type){ case HistoryManagerType.BROWSER: SWFAddress.back(); break; case HistoryManagerType.FLASHPLAYER: _position = Math.max(0, (_position - 1)); _local1 = SceneId(_histories[_position]); _local2 = ProgressionCollection.__getInstanceBySceneId(_local1); if (_local2){ _lock = true; _local2.goto(_local1); _lock = false; }; break; }; } progression_internal static function __addHistory(_arg1:SceneId):void{ switch (_type){ case HistoryManagerType.BROWSER: break; case HistoryManagerType.FLASHPLAYER: if (_lock){ return; }; _histories.splice((_position + 1), _histories.length, _arg1); _position = (_histories.length - 1); break; }; } public static function go(_arg1:Number):void{ switch (_type){ case HistoryManagerType.BROWSER: SWFAddress.go(_arg1); break; case HistoryManagerType.FLASHPLAYER: break; }; } public static function get type():String{ return (_type); } } }//package jp.progression.core.managers
Section 100
//HistoryManagerType (jp.progression.core.managers.HistoryManagerType) package jp.progression.core.managers { import jp.nium.core.errors.*; public class HistoryManagerType { public static const BROWSER:String = "browser"; public static const FLASHPLAYER:String = "flashPlayer"; public function HistoryManagerType(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "HistoryManagerType"))); } } }//package jp.progression.core.managers
Section 101
//KeyboardManager (jp.progression.core.managers.KeyboardManager) package jp.progression.core.managers { import flash.events.*; import flash.display.*; import jp.nium.events.*; import jp.nium.core.errors.*; import jp.nium.external.*; import jp.progression.core.namespaces.*; public class KeyboardManager extends EventIntegrator { private var _stage:Stage; private var _useReloadKey:Boolean;// = true private var _usePrintKey:Boolean;// = true private var _useFullScreenKey:Boolean;// = true private var _enabled:Boolean;// = false private static var _internallyCalled:Boolean = false; public function KeyboardManager(_arg1:Stage){ _enabled = false; _useReloadKey = true; _usePrintKey = true; _useFullScreenKey = true; super(); if (!_internallyCalled){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "KeyboardManager"))); }; _stage = _arg1; enabled = true; _internallyCalled = false; } public function get enabled():Boolean{ return (_enabled); } public function get usePrintKey():Boolean{ return (_usePrintKey); } public function set enabled(_arg1:Boolean):void{ if ((_enabled = _arg1)){ _stage.addEventListener(KeyboardEvent.KEY_UP, _keyUp, false, int.MAX_VALUE, true); } else { _stage.removeEventListener(KeyboardEvent.KEY_UP, _keyUp); }; } private function _keyUp(_arg1:KeyboardEvent):void{ switch (_arg1.keyCode){ case 8: if (_arg1.shiftKey){ return; }; if (_arg1.ctrlKey){ return; }; HistoryManager.back(); break; case 37: if (_arg1.shiftKey){ return; }; if (!_arg1.ctrlKey){ return; }; HistoryManager.back(); break; case 39: if (_arg1.shiftKey){ return; }; if (!_arg1.ctrlKey){ return; }; HistoryManager.forward(); break; case 82: if (!_useReloadKey){ return; }; if (_arg1.shiftKey){ return; }; if (!_arg1.ctrlKey){ return; }; BrowserInterface.reload(); case 116: if (!_useReloadKey){ return; }; if (_arg1.shiftKey){ return; }; if (_arg1.ctrlKey){ return; }; BrowserInterface.reload(); case 80: if (!_usePrintKey){ return; }; if (_arg1.shiftKey){ return; }; if (!_arg1.ctrlKey){ return; }; BrowserInterface.print(); case 122: if (!_useFullScreenKey){ return; }; if (_arg1.shiftKey){ return; }; if (_arg1.ctrlKey){ return; }; _stage.displayState = StageDisplayState.FULL_SCREEN; }; } override public function toString():String{ return ("[object KeyboardManager]"); } public function set usePrintKey(_arg1:Boolean):void{ _usePrintKey = _arg1; } public function set useFullScreenKey(_arg1:Boolean):void{ _useFullScreenKey = _arg1; } public function get useFullScreenKey():Boolean{ return (_useFullScreenKey); } public function set useReloadKey(_arg1:Boolean):void{ _useReloadKey = _arg1; } public function get useReloadKey():Boolean{ return (_useReloadKey); } progression_internal static function __createInstance(_arg1:Stage):KeyboardManager{ _internallyCalled = true; return (new KeyboardManager(_arg1)); } } }//package jp.progression.core.managers
Section 102
//SceneManager (jp.progression.core.managers.SceneManager) package jp.progression.core.managers { import jp.progression.*; import jp.nium.net.*; import jp.progression.scenes.*; import jp.progression.core.commands.*; import jp.nium.events.*; import jp.progression.events.*; import jp.nium.core.errors.*; import jp.progression.core.collections.*; import jp.progression.core.debug.*; import jp.progression.core.namespaces.*; import flash.errors.*; public class SceneManager extends EventIntegrator implements ICommandExecutable { private var _running:Boolean;// = false private var _destinedSceneId:SceneId; private var _lock:Boolean;// = false private var _extra:Object; private var _currentSceneId:SceneId; private var _executor:CommandExecutor; private var _current:SceneObject; private var _root:SceneObject; private var _previous:SceneObject; private var _autoLock:Boolean;// = true private var _enforcedInterrupting:Boolean;// = false private var _eventType:String;// = "unload" private var _departedSceneId:SceneId; private var _interrupting:Boolean;// = false private static var _internallyCalled:Boolean = false; public function SceneManager(){ _eventType = SceneEvent.UNLOAD; _lock = false; _autoLock = true; _running = false; _interrupting = false; _enforcedInterrupting = false; super(); if (!_internallyCalled){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "SceneManager"))); }; _executor = CommandExecutor.__createInstance(this); _internallyCalled = false; } public function set autoLock(_arg1:Boolean):void{ _autoLock = _arg1; } public function get enforcedInterrupting():Boolean{ return (_enforcedInterrupting); } private function _executeProgress():void{ if ((_current is SceneObject)){ _currentSceneId = _current.sceneId.clone(); } else { _current = _previous; _currentSceneId = _previous.sceneId.clone(); _setRunning(false); Verbose.error(this, VerboseMessageConstants.getMessage("VERBOSE_0007", _destinedSceneId.path)); dispatchEvent(new ProcessEvent(ProcessEvent.PROCESS_ERROR, false, false, _current, _eventType)); return; }; if (_current != _previous){ Verbose.log(this, VerboseMessageConstants.getMessage("VERBOSE_0009", _currentSceneId.path)); dispatchEvent(new ProcessEvent(ProcessEvent.PROCESS_SCENE, false, false, _current, _eventType)); }; Verbose.log(this, VerboseMessageConstants.getMessage("VERBOSE_0010", _currentSceneId.path, _eventType)); dispatchEvent(new ProcessEvent(ProcessEvent.PROCESS_EVENT, false, false, _current, _eventType)); _executor.__addExecutable(_current); _executor.addExclusivelyEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete, false, int.MAX_VALUE, true); _executor.addExclusivelyEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt, false, int.MAX_VALUE, true); _executor.addExclusivelyEventListener(CommandEvent.COMMAND_ERROR, _commandError, false, int.MAX_VALUE, true); _executor.__execute(new SceneEvent(_eventType, false, false, _current, _eventType), _extra, false, false); } private function _processInterrupt(_arg1:ProcessEvent):void{ completelyRemoveEventListener(ProcessEvent.PROCESS_INTERRUPT, _processInterrupt); goto(_destinedSceneId); } public function get executor():CommandExecutor{ return (_executor); } private function _setRunning(_arg1:Boolean):void{ _running = _arg1; if (_autoLock){ _lock = _arg1; }; } private function _executeComplete():void{ if (((!(_currentSceneId.equals(_destinedSceneId))) || (!((_eventType == SceneEvent.INIT))))){ _executeStart(); return; }; _setRunning(false); _enforcedInterrupting = false; Verbose.log(this, (VerboseMessageConstants.getMessage("VERBOSE_0011") + "\n")); dispatchEvent(new ProcessEvent(ProcessEvent.PROCESS_COMPLETE, false, false, _current, _eventType)); } public function get interrupting():Boolean{ return (_interrupting); } public function get lock():Boolean{ return (_lock); } public function get departedSceneId():SceneId{ return (_departedSceneId); } private function _commandInterrupt(_arg1:CommandEvent):void{ _executor.completelyRemoveEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_ERROR, _commandError); _executor.__removeExecutable(_current); _interruptComplete(); } private function _interruptComplete():void{ _setInterrupting(false); _enforcedInterrupting = false; Verbose.log(this, (VerboseMessageConstants.getMessage("VERBOSE_0012") + "\n")); dispatchEvent(new ProcessEvent(ProcessEvent.PROCESS_INTERRUPT, false, false, _current, _eventType)); } public function get running():Boolean{ return (_running); } public function get destinedSceneId():SceneId{ return (_destinedSceneId); } private function _executeStart():void{ _previous = _current; if (!_currentSceneId){ _eventType = SceneEvent.LOAD; _current = _root; } else { if (_currentSceneId.equals(_destinedSceneId)){ switch (_eventType){ case SceneEvent.LOAD: _eventType = SceneEvent.INIT; break; case SceneEvent.DESCEND: _eventType = SceneEvent.INIT; break; case SceneEvent.INIT: break; case SceneEvent.GOTO: _eventType = SceneEvent.INIT; break; case SceneEvent.ASCEND: _eventType = SceneEvent.INIT; break; case SceneEvent.UNLOAD: _eventType = SceneEvent.LOAD; break; }; } else { if (_currentSceneId.contains(_destinedSceneId)){ switch (_eventType){ case SceneEvent.LOAD: _eventType = SceneEvent.DESCEND; break; case SceneEvent.DESCEND: _current = _current.getSceneByName(_destinedSceneId.getNameByIndex(_currentSceneId.length)); _eventType = SceneEvent.LOAD; break; case SceneEvent.INIT: _eventType = SceneEvent.GOTO; break; case SceneEvent.GOTO: _current = _current.getSceneByName(_destinedSceneId.getNameByIndex(_currentSceneId.length)); _eventType = SceneEvent.LOAD; break; case SceneEvent.ASCEND: _eventType = SceneEvent.DESCEND; break; case SceneEvent.UNLOAD: _eventType = SceneEvent.LOAD; break; }; } else { switch (_eventType){ case SceneEvent.LOAD: _eventType = SceneEvent.UNLOAD; break; case SceneEvent.DESCEND: _eventType = SceneEvent.ASCEND; break; case SceneEvent.INIT: _eventType = SceneEvent.GOTO; break; case SceneEvent.GOTO: _eventType = SceneEvent.UNLOAD; break; case SceneEvent.ASCEND: _eventType = SceneEvent.UNLOAD; break; case SceneEvent.UNLOAD: _current = _current.parent; if (((_current.sceneId.equals(_root.sceneId)) && (_destinedSceneId.equals(_root.sceneId)))){ _current = _root; _eventType = SceneEvent.INIT; break; }; if (_current.sceneId.equals(_destinedSceneId)){ _eventType = SceneEvent.INIT; break; }; if (_current.sceneId.contains(_destinedSceneId)){ _current = _current.getSceneByName(_destinedSceneId.getNameByIndex(_current.sceneId.length)); _eventType = SceneEvent.LOAD; break; }; _eventType = SceneEvent.ASCEND; break; }; }; }; }; _executeProgress(); } public function set root(_arg1:SceneObject):void{ if (_arg1.root != _arg1){ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9014"))); }; _root = _arg1; _current = null; _currentSceneId = null; _departedSceneId = null; _destinedSceneId = null; _eventType = null; _running = false; _interrupting = false; } private function _commandError(_arg1:CommandEvent):void{ _executor.completelyRemoveEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_ERROR, _commandError); Verbose.error(this, VerboseMessageConstants.getMessage("VERBOSE_0013")); dispatchEvent(new ProcessEvent(ProcessEvent.PROCESS_ERROR, false, false, _current, _eventType)); } public function set lock(_arg1:Boolean):void{ if (_autoLock){ _autoLock = false; }; _lock = _arg1; } public function get root():SceneObject{ return (_root); } public function goto(_arg1:SceneId, _arg2:Object=null):void{ var _local3:Progression; if (!_root){ throw (new IllegalOperationError("")); }; if (_arg1.getNameByIndex(0) != _root.name){ _local3 = ProgressionCollection.__getInstanceBySceneId(_arg1); if (_local3){ _local3.goto(_arg1); return; }; Verbose.error(this, VerboseMessageConstants.getMessage("VERBOSE_0007", _destinedSceneId.path)); dispatchEvent(new ProcessEvent(ProcessEvent.PROCESS_ERROR, false, false, _current, _eventType)); return; }; if (_lock){ return; }; if (((((_currentSceneId) && (_currentSceneId.equals(_arg1)))) && ((_eventType == SceneEvent.INIT)))){ _current.sceneInfo.__query = new Query(true, _arg1.query); return; }; _departedSceneId = (_currentSceneId) ? _currentSceneId.clone() : null; _destinedSceneId = _arg1.clone(); _extra = _arg2; if (_interrupting){ return; }; if (_running){ addExclusivelyEventListener(ProcessEvent.PROCESS_INTERRUPT, _processInterrupt, false, int.MAX_VALUE, true); interrupt(_departedSceneId.contains(_destinedSceneId)); return; }; _setRunning(true); HistoryManager.__addHistory(_destinedSceneId); Verbose.log(this, VerboseMessageConstants.getMessage("VERBOSE_0008", _destinedSceneId.path)); dispatchEvent(new ProcessEvent(ProcessEvent.PROCESS_START, false, false, _current, _eventType)); _executeStart(); } private function _commandComplete(_arg1:CommandEvent):void{ _executor.completelyRemoveEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt); _executor.completelyRemoveEventListener(CommandEvent.COMMAND_ERROR, _commandError); _executor.__removeExecutable(_current); _executeComplete(); } private function _setInterrupting(_arg1:Boolean):void{ _running = _arg1; _interrupting = _arg1; if (_autoLock){ _lock = _arg1; }; } override public function toString():String{ return ("[object SceneManager]"); } public function interrupt(_arg1:Boolean=false, _arg2:Object=null):void{ if (!_running){ return; }; if (_interrupting){ return; }; _extra = _arg2; _setInterrupting(true); _enforcedInterrupting = _arg1; _executor.addExclusivelyEventListener(CommandEvent.COMMAND_COMPLETE, _commandComplete, false, int.MAX_VALUE, true); _executor.addExclusivelyEventListener(CommandEvent.COMMAND_INTERRUPT, _commandInterrupt, false, int.MAX_VALUE, true); _executor.addExclusivelyEventListener(CommandEvent.COMMAND_ERROR, _commandError, false, int.MAX_VALUE, true); _executor.__interrupt(new SceneEvent(_eventType, false, false, _current, _eventType), _extra, false, _arg1); } public function get current():SceneObject{ return (_current); } public function get autoLock():Boolean{ return (_autoLock); } public function get eventType():String{ return (_eventType); } progression_internal static function __createInstance():SceneManager{ _internallyCalled = true; return (new (SceneManager)); } } }//package jp.progression.core.managers
Section 103
//SyncManager (jp.progression.core.managers.SyncManager) package jp.progression.core.managers { import jp.progression.scenes.*; import jp.nium.events.*; import jp.progression.events.*; import com.asual.swfaddress.*; import flash.utils.*; import jp.nium.core.errors.*; import jp.nium.external.*; import jp.progression.core.debug.*; import jp.progression.core.namespaces.*; import flash.system.*; public class SyncManager extends EventIntegrator { private var _trackEnabled:Boolean;// = true private var _enabled:Boolean;// = false private var _sceneManager:SceneManager; private var _scene:SceneObject; private var _sync:Boolean;// = false private static const _CHECK_JS_LIBRARY:String = ((((((((((("" + "function() {") + "\t\tswitch ( undefined ) {") + "\t\t\tcase deconcept.util\t\t\t\t:") + "\t\t\tcase deconcept.SWFObjectUtil\t:") + "\t\t\tcase com.asual.util.Browser\t\t:") + "\t\t\tcase com.asual.util.Events\t\t:") + "\t\t\tcase SWFAddress\t\t\t\t\t:") + "\t\t\tcase SWFAddressEvent\t\t\t: { return false; }") + "\t\t\tdefault\t\t\t\t\t\t\t: { return true; }") + "\t\t}") + "}"); private static var _internallyCalled:Boolean = false; private static var _lock:Boolean = false; private static var _instances:Dictionary = new Dictionary(true); public function SyncManager(_arg1:SceneManager){ _enabled = false; _sync = false; _trackEnabled = true; super(); if (!_internallyCalled){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "SyncManager"))); }; _sceneManager = _arg1; _instances[_sceneManager] = this; _internallyCalled = false; } public function get enabled():Boolean{ return (_enabled); } private function _sceneTitle(_arg1:SceneEvent):void{ SWFAddress.setTitle(_arg1.scene.title); } private function _change(_arg1:SWFAddressEvent):void{ var value:String; var sceneId:SceneId; var e = _arg1; value = SWFAddress.getValue(); sceneId = _sceneManager.root.sceneId.clone(); try { if (value){ sceneId = new SceneId((sceneId.path + value)); }; } catch(e:Error) { Verbose.warning(this, VerboseMessageConstants.getMessage("VERBOSE_0007", value)); _sceneManager.interrupt(true); _sceneManager.dispatchEvent(new ProcessEvent(ProcessEvent.PROCESS_ERROR, false, false, _sceneManager.current, _sceneManager.eventType)); return; }; if (_trackEnabled){ _trackEnabled = BrowserInterface.call((((("function( id ) {" + "\t\tif ( urchinTracker ) { urchinTracker( id ); return true; }") + "\t\tif ( pageTracker && pageTracker._trackPageview ) { pageTracker._trackPageview( id ); return true; }") + "\t\treturn false") + "}"), sceneId.path); }; _sceneManager.goto(sceneId); } public function get sync():Boolean{ return (_sync); } private function _processComplete(_arg1:ProcessEvent):void{ if (_scene){ _scene.completelyRemoveEventListener(SceneEvent.SCENE_TITLE, _sceneTitle); }; _scene = _arg1.scene; if (_scene){ SWFAddress.setTitle(_scene.title); _scene.addEventListener(SceneEvent.SCENE_TITLE, _sceneTitle, false, int.MAX_VALUE, true); }; } override public function toString():String{ return ("[object SyncManager]"); } public function set sync(_arg1:Boolean):void{ var _local2:SyncManager; if ((_sync = _arg1)){ for each (_local2 in _instances) { if (_local2 == this){ } else { _local2.sync = false; }; }; switch (Capabilities.playerType){ case "StandAlone": case "External": break; case "PlugIn": case "ActiveX": if (!BrowserInterface.call(_CHECK_JS_LIBRARY)){ Verbose.warning(this, VerboseMessageConstants.getMessage("VERBOSE_0014")); return; }; BrowserInterface.call("SWFAddress.setStrict", false); SWFAddress.setStrict(false); if (SWFAddress.getStrict()){ Verbose.warning(this, VerboseMessageConstants.getMessage("VERBOSE_0015")); return; }; _enabled = true; SWFAddress.addEventListener(SWFAddressEvent.CHANGE, _change); break; }; _sceneManager.addExclusivelyEventListener(ProcessEvent.PROCESS_COMPLETE, _processComplete, false, int.MAX_VALUE, true); } else { _enabled = false; SWFAddress.removeEventListener(SWFAddressEvent.CHANGE, _change); _sceneManager.completelyRemoveEventListener(ProcessEvent.PROCESS_COMPLETE, _processComplete); }; } progression_internal static function __createInstance(_arg1:SceneManager):SyncManager{ _internallyCalled = true; return (new SyncManager(_arg1)); } } }//package jp.progression.core.managers
Section 104
//progression_internal (jp.progression.core.namespaces.progression_internal) package jp.progression.core.namespaces { public namespace progression_internal = "http://progression.jp/namespaces/progression_internal"; }//package jp.progression.core.namespaces
Section 105
//PRMLParser (jp.progression.core.parser.PRMLParser) package jp.progression.core.parser { import jp.progression.scenes.*; import jp.nium.version.*; import jp.nium.core.errors.*; import flash.errors.*; public class PRMLParser { private var _scenes:XMLList; private var _data:XML; private var _contentType:String; private var _version:Version; public static const CONTENT_TYPE:String = "text/prml"; public function PRMLParser(_arg1:XML){ _data = parse(_arg1); } public function parse(_arg1:XML):XML{ var _local2:XML; var _local3:String; var _local4:String; if (_arg1.name() != "prml"){ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9025"))); }; _version = new Version(String(_arg1.attribute("version"))); _arg1.@version = _version.toString(); _contentType = String(_arg1.attribute("type")); if (!_contentType){ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9026"))); }; for each (_local2 in _arg1..scene) { _local3 = String(_local2.attribute("name")); if (!_local3){ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9020", "<scene>", "name"))); }; if (!SceneId.validate(("/" + _local3))){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_8005"))); }; _local4 = String(_local2.attribute("cls")); if (!_local4){ _local2.@cls = "jp.progression.scenes.SceneObject"; } else { if (_local4 == "SceneObject"){ _local2.@cls = "jp.progression.scenes.SceneObject"; }; }; }; _scenes = _arg1.child("scene"); return (_arg1); } public function get data():XML{ return (_data.copy()); } public function toPRMLString(_arg1:XMLList=null):XML{ var _local2:XML; _arg1 = ((_arg1) || (this.scenes)); _local2 = new XML((((("<prml version=\"" + ??esc_xattr ) + "\" type=\"") + ??esc_xattr ) + "\"/>")); _local2.prependChild(_arg1); return (_local2); } public function get scenes():XMLList{ return (_scenes.copy()); } public function get contentType():String{ return (_contentType); } public function get version():Version{ return (_version); } public function toString():String{ return (_data); } } }//package jp.progression.core.parser
Section 106
//SceneInfo (jp.progression.core.scenes.SceneInfo) package jp.progression.core.scenes { import flash.display.*; import jp.nium.net.*; import jp.progression.scenes.*; import jp.nium.events.*; import jp.progression.events.*; import jp.nium.core.errors.*; import jp.progression.core.namespaces.*; public class SceneInfo extends EventIntegrator { private var _loaderURL:String; private var _data:XMLList; private var _target:SceneObject; private var _query:Query; private var _url:String; private var _content:SceneObject; private static var _internallyCalled:Boolean = false; public function SceneInfo(_arg1:SceneObject){ _data = new XMLList(); _query = new Query(true); super(); if (!_internallyCalled){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "SceneInfo"))); }; _target = _arg1; _internallyCalled = false; _target.addExclusivelyEventListener(SceneEvent.LOAD, _load, false, int.MAX_VALUE, true); _target.addExclusivelyEventListener(SceneEvent.SCENE_ADDED_TO_ROOT, _sceneAddedToRoot, false, int.MAX_VALUE, true); _target.addExclusivelyEventListener(SceneEvent.SCENE_REMOVED_FROM_ROOT, _sceneRemovedFromRoot, false, int.MAX_VALUE, true); } private function _load(_arg1:SceneEvent):void{ if (_target.sceneId.equals(_target.progression.destinedSceneId)){ __query = new Query(true, _target.progression.destinedSceneId.query); }; } public function get query():Query{ return (_query); } progression_internal function set __query(_arg1:Query):void{ if (!_query.equals(_arg1)){ _query = _arg1; dispatchEvent(new SceneEvent(SceneEvent.SCENE_QUERY, false, false, _target, _target.progression.eventType)); }; } progression_internal function set __data(_arg1:XMLList):void{ _data = _arg1; } private function _sceneAddedToRoot(_arg1:SceneEvent):void{ var _local2:LoaderInfo; _local2 = _target.progression.stage.loaderInfo; _content = null; _loaderURL = _local2.loaderURL; _url = _local2.url; } progression_internal function get __data():XMLList{ return (_data); } public function get loaderURL():String{ if (_loaderURL){ return (_loaderURL); }; if (_target.parent){ return (_target.parent.sceneInfo.loaderURL); }; if (_target.root){ return (_target.root.sceneInfo.loaderURL); }; return (null); } private function _sceneRemovedFromRoot(_arg1:SceneEvent):void{ _content = null; _loaderURL = null; _url = null; } progression_internal function get __query():Query{ return (_query); } public function get data():XMLList{ return (_data.copy()); } override public function toString():String{ return ("[object SceneInfo]"); } public function get url():String{ if (_url){ return (_url); }; if (_target.parent){ return (_target.parent.sceneInfo.url); }; if (_target.root){ return (_target.root.sceneInfo.url); }; return (null); } public function get content():SceneObject{ if (_content){ return (_content); }; if (_target.parent){ return (_target.parent.sceneInfo.content); }; if (_target.root){ return (_target.root.sceneInfo.content); }; return (null); } progression_internal static function __createInstance(_arg1:SceneObject):SceneInfo{ _internallyCalled = true; return (new SceneInfo(_arg1)); } } }//package jp.progression.core.scenes
Section 107
//CastButtonContextMenu (jp.progression.core.ui.CastButtonContextMenu) package jp.progression.core.ui { import jp.progression.*; import flash.net.*; import flash.events.*; import jp.progression.casts.*; import flash.ui.*; import jp.nium.core.errors.*; import jp.nium.external.*; import jp.nium.lang.*; import jp.progression.core.namespaces.*; import flash.system.*; public class CastButtonContextMenu implements ICastContextMenu { private var _hideOpen:Boolean;// = false private var _enabled:Boolean;// = true private var _customItems:Array; private var _hideCopyURL:Boolean;// = false private var _hideOpenNewWindow:Boolean;// = false private var _target:CastButton; private var _menu:ContextMenu; private static var _initialized:Boolean = function ():Boolean{ Locale.setString("開く", "ja", "開く"); Locale.setString("開く", "en", "Open"); Locale.setString("メールアドレスをコピーする", "ja", "メールアドレスをコピーする"); Locale.setString("メールアドレスをコピーする", "en", "Copy Mail Address"); return (true); }.apply(); private static var _internallyCalled:Boolean = false; private static var _enabled:Boolean = true; public function CastButtonContextMenu(_arg1:CastButton, _arg2:ContextMenu){ _enabled = true; _customItems = []; _hideOpen = false; _hideOpenNewWindow = false; _hideCopyURL = false; super(); if (!_internallyCalled){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "CastButtonContextMenu"))); }; _target = _arg1; _menu = _arg2; _menu.hideBuiltInItems(); _internallyCalled = false; _menu.addEventListener(ContextMenuEvent.MENU_SELECT, _menuSelect, false, 0, true); } private function _menuSelectCopyURL(_arg1:ContextMenuEvent):void{ System.setClipboard(_target.navigateURL); } public function set enabled(_arg1:Boolean):void{ _enabled = _arg1; } public function get enabled():Boolean{ return (_enabled); } private function _menuSelectOpenNewWindow(_arg1:ContextMenuEvent):void{ _target.navigateTo(null, "_blank"); } public function set hideOpenNewWindow(_arg1:Boolean):void{ _hideOpenNewWindow = _arg1; } private function _menuSelectOpen(_arg1:ContextMenuEvent):void{ _target.navigateTo(); } public function get customItems():Array{ return (_customItems); } public function set hideOpen(_arg1:Boolean):void{ _hideOpen = _arg1; } private function _menuSelect(_arg1:ContextMenuEvent):void{ var _local2:Array; var _local3:ContextMenuItem; var _local4:int; var _local5:int; _local2 = (_menu.customItems = []); if (((!(_enabled)) || (!(CastObjectContextMenu.enabled)))){ return; }; if (!_hideOpen){ _local3 = new ContextMenuItem((Locale.getString("開く") + " ")); _local2.push(_local3); _local3.enabled = !(!(_target.navigateURL)); _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _menuSelectOpen, false, int.MAX_VALUE, true); }; if (!_hideOpenNewWindow){ _local3 = new ContextMenuItem((Locale.getString("新規ウィンドウで開く") + " ")); _local2.push(_local3); _local3.enabled = ((!(!(_target.navigateURL))) && (BrowserInterface.enabled)); _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _menuSelectOpenNewWindow, false, int.MAX_VALUE, true); }; if (!_hideCopyURL){ _local3 = new ContextMenuItem((Locale.getString("URL をコピーする") + " "), true); _local2.push(_local3); _local3.enabled = ((!(!(_target.navigateURL))) && (BrowserInterface.enabled)); _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _menuSelectCopyURL, false, int.MAX_VALUE, true); }; _local3 = new ContextMenuItem(((("Powered by " + Progression.NAME) + " ") + Progression.VERSION), true); _local2.push(_local3); _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _menuSelectPoweredBy, false, int.MAX_VALUE, true); if (_local2.length > 0){ ContextMenuItem(_local2[0]).separatorBefore = true; }; _local4 = Math.min(_customItems.length, (15 - _local2.length)); _local5 = 0; while (_local5 < _local4) { _local2.unshift(_customItems[((_local4 - _local5) - 1)]); _local5++; }; } public function get hideCopyURL():Boolean{ return (_hideCopyURL); } private function _menuSelectPoweredBy(_arg1:ContextMenuEvent):void{ navigateToURL(new URLRequest("http://progression.jp/"), "http://progression.jp/"); } public function get hideOpenNewWindow():Boolean{ return (_hideOpenNewWindow); } public function hideBuiltInItems():void{ _menu.hideBuiltInItems(); } public function get hideOpen():Boolean{ return (_hideOpen); } public function set hideCopyURL(_arg1:Boolean):void{ _hideCopyURL = _arg1; } public function hideProgressionItems():void{ _hideOpen = true; _hideOpenNewWindow = true; _hideCopyURL = true; } progression_internal static function __createInstance(_arg1:CastButton, _arg2:ContextMenu):CastButtonContextMenu{ _internallyCalled = true; return (new CastButtonContextMenu(_arg1, _arg2)); } public static function get enabled():Boolean{ return (_enabled); } public static function set enabled(_arg1:Boolean):void{ _enabled = _arg1; } } }//package jp.progression.core.ui
Section 108
//CastObjectContextMenu (jp.progression.core.ui.CastObjectContextMenu) package jp.progression.core.ui { import jp.progression.*; import flash.net.*; import flash.events.*; import jp.progression.casts.*; import flash.ui.*; import jp.progression.core.managers.*; import com.asual.swfaddress.*; import flash.utils.*; import jp.nium.core.errors.*; import jp.nium.external.*; import jp.nium.lang.*; import jp.progression.core.namespaces.*; import flash.system.*; public class CastObjectContextMenu implements ICastContextMenu { private var _hidePrint:Boolean;// = false private var _enabled:Boolean;// = true private var _customItems:Array; private var _hideCopyURL:Boolean;// = false private var _hideReload:Boolean;// = false private var _hideOpenNewWindow:Boolean;// = false private var _hideHistory:Boolean;// = false private var _target:ICastObject; private var _menu:ContextMenu; private static var _initialized:Boolean = function ():Boolean{ Locale.setString("前に戻る", "ja", "前に戻る"); Locale.setString("前に戻る", "en", "Back"); Locale.setString("次に進む", "ja", "次に進む"); Locale.setString("次に進む", "en", "Forword"); Locale.setString("更新", "ja", "更新"); Locale.setString("更新", "en", "Reload"); Locale.setString("新規ウィンドウで開く", "ja", "新規ウィンドウで開く"); Locale.setString("新規ウィンドウで開く", "en", "Open Link in New Window"); Locale.setString("URL をコピーする", "ja", "URL をコピーする"); Locale.setString("URL をコピーする", "en", "Copy Link Location"); Locale.setString("URL をメールで送信する", "ja", "URL をメールで送信する"); Locale.setString("URL をメールで送信する", "en", "Send Link"); Locale.setString("印刷する", "ja", "印刷する"); Locale.setString("印刷する", "en", "Print"); return (true); }.apply(); private static var _internallyCalled:Boolean = false; private static var _enabled:Boolean = true; public function CastObjectContextMenu(_arg1:ICastObject, _arg2:ContextMenu){ _enabled = true; _customItems = []; _hideHistory = false; _hideReload = false; _hideOpenNewWindow = false; _hideCopyURL = false; _hidePrint = false; super(); if (!_internallyCalled){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "CastObjectContextMenu"))); }; _target = _arg1; _menu = _arg2; _menu.hideBuiltInItems(); _internallyCalled = false; _menu.addEventListener(ContextMenuEvent.MENU_SELECT, _menuSelect, false, 0, true); } private function _menuSelectCopyURL(_arg1:ContextMenuEvent):void{ System.setClipboard(BrowserInterface.locationHref); } public function set enabled(_arg1:Boolean):void{ _enabled = _arg1; } private function _menuSelectPoweredBy(_arg1:ContextMenuEvent):void{ navigateToURL(new URLRequest("http://progression.jp/"), "http://progression.jp/"); } private function _menuSelectMailURL(_arg1:ContextMenuEvent):void{ navigateToURL(new URLRequest(((("mailto:?subject=" + escapeMultiByte(SWFAddress.getTitle())) + "&body=") + escape(BrowserInterface.locationHref)))); } public function get enabled():Boolean{ return (_enabled); } public function get hidePrint():Boolean{ return (_hidePrint); } public function set hideOpenNewWindow(_arg1:Boolean):void{ _hideOpenNewWindow = _arg1; } private function _menuSelectReload(_arg1:ContextMenuEvent):void{ BrowserInterface.reload(); } private function _menuSelectPrint(_arg1:ContextMenuEvent):void{ BrowserInterface.print(); } public function get customItems():Array{ return (_customItems); } public function get hideCopyURL():Boolean{ return (_hideCopyURL); } private function _menuSelectOpenNewWindow(_arg1:ContextMenuEvent):void{ navigateToURL(new URLRequest(BrowserInterface.locationHref), "_blank"); } public function set hidePrint(_arg1:Boolean):void{ _hidePrint = _arg1; } private function _menuSelect(_arg1:ContextMenuEvent):void{ var _local2:Array; var _local3:ContextMenuItem; var _local4:int; var _local5:int; _local2 = (_menu.customItems = []); if (((!(_enabled)) || (!(CastObjectContextMenu.enabled)))){ return; }; if (!_hideHistory){ _local3 = new ContextMenuItem((Locale.getString("前に戻る") + " ")); _local2.push(_local3); _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _menuSelectHistoryBack, false, int.MAX_VALUE, true); _local3 = new ContextMenuItem((Locale.getString("次に進む") + " ")); _local2.push(_local3); _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _menuSelectHistoryForward, false, int.MAX_VALUE, true); }; if (!_hideReload){ _local3 = new ContextMenuItem((Locale.getString("更新") + " ")); _local2.push(_local3); _local3.enabled = BrowserInterface.enabled; _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _menuSelectReload, false, int.MAX_VALUE, true); }; if (!_hideOpenNewWindow){ _local3 = new ContextMenuItem((Locale.getString("新規ウィンドウで開く") + " "), true); _local2.push(_local3); _local3.enabled = BrowserInterface.enabled; _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _menuSelectOpenNewWindow, false, int.MAX_VALUE, true); }; if (!_hideCopyURL){ _local3 = new ContextMenuItem((Locale.getString("URL をコピーする") + " "), true); _local2.push(_local3); _local3.enabled = BrowserInterface.enabled; _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _menuSelectCopyURL, false, int.MAX_VALUE, true); _local3 = new ContextMenuItem((Locale.getString("URL をメールで送信する") + " ")); _local2.push(_local3); _local3.enabled = BrowserInterface.enabled; _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _menuSelectMailURL, false, int.MAX_VALUE, true); }; if (!_hidePrint){ _local3 = new ContextMenuItem((Locale.getString("印刷する") + " "), true); _local2.push(_local3); _local3.enabled = BrowserInterface.enabled; _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _menuSelectPrint, false, int.MAX_VALUE, true); }; _local3 = new ContextMenuItem(((("Powered by " + Progression.NAME) + " ") + Progression.VERSION), true); _local2.push(_local3); _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _menuSelectPoweredBy, false, int.MAX_VALUE, true); if (_local2.length > 0){ ContextMenuItem(_local2[0]).separatorBefore = true; }; _local4 = Math.min(_customItems.length, (15 - _local2.length)); _local5 = 0; while (_local5 < _local4) { _local2.unshift(_customItems[((_local4 - _local5) - 1)]); _local5++; }; } private function _menuSelectHistoryForward(_arg1:ContextMenuEvent):void{ HistoryManager.forward(); } public function set hideHistory(_arg1:Boolean):void{ _hideHistory = _arg1; } private function _menuSelectHistoryBack(_arg1:ContextMenuEvent):void{ HistoryManager.back(); } public function get hideOpenNewWindow():Boolean{ return (_hideOpenNewWindow); } public function hideBuiltInItems():void{ _menu.hideBuiltInItems(); } public function set hideCopyURL(_arg1:Boolean):void{ _hideCopyURL = _arg1; } public function get hideHistory():Boolean{ return (_hideHistory); } public function set hideReload(_arg1:Boolean):void{ _hideReload = _arg1; } public function get hideReload():Boolean{ return (_hideReload); } public function hideProgressionItems():void{ _hideHistory = true; _hideReload = true; _hideOpenNewWindow = true; _hideCopyURL = true; _hidePrint = true; } progression_internal static function __createInstance(_arg1:ICastObject, _arg2:ContextMenu):CastObjectContextMenu{ _internallyCalled = true; return (new CastObjectContextMenu(_arg1, _arg2)); } public static function get enabled():Boolean{ return (_enabled); } public static function set enabled(_arg1:Boolean):void{ _enabled = _arg1; } } }//package jp.progression.core.ui
Section 109
//ICastContextMenu (jp.progression.core.ui.ICastContextMenu) package jp.progression.core.ui { public interface ICastContextMenu { function get enabled():Boolean; function set enabled(_arg1:Boolean):void; function hideProgressionItems():void; function hideBuiltInItems():void; function get customItems():Array; } }//package jp.progression.core.ui
Section 110
//ToolTip (jp.progression.core.ui.ToolTip) package jp.progression.core.ui { import flash.events.*; import flash.display.*; import jp.progression.casts.*; import flash.text.*; import flash.utils.*; import jp.nium.utils.*; import jp.nium.core.errors.*; import jp.progression.core.namespaces.*; import flash.filters.*; public class ToolTip { private var _enabled:Boolean;// = false private var _text:String; private var _marginX:Number;// = 5 private var _marginY:Number;// = 22 private var _target:ICastObject; private var _followMouse:Boolean;// = true private var _textColor:uint;// = 0 private var _timer:Timer; private var _textField:TextField; private var _padding:Number;// = 10 private var _friction:Number;// = 0.25 private var _originalWidth:Number; private var _stage:Stage; private static const _TEXT_REGEXP:RegExp = new RegExp("^[  ]*$"); private static var _internallyCalled:Boolean = false; private static var _currentTextField:TextField; public function ToolTip(_arg1:ICastObject){ _enabled = false; _textColor = 0; _followMouse = true; _friction = (25 / 100); _padding = 10; _marginX = 5; _marginY = 22; super(); if (!_internallyCalled){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "ToolTip"))); }; _target = _arg1; _internallyCalled = false; _timer = new Timer(750, 1); _textField = new TextField(); _textField.autoSize = TextFieldAutoSize.LEFT; _textField.background = true; _textField.backgroundColor = 16777198; _textField.border = true; _textField.borderColor = 0; _textField.defaultTextFormat = new TextFormat("_sans", null, null, null, null, null, null, null, null, 2, 0); _textField.mouseEnabled = false; _textField.multiline = true; _textField.selectable = false; _textField.textColor = 0; _textField.filters = [new DropShadowFilter(1, 45, 0, 0.5, 4, 4, 1)]; } public function get delay():int{ return (_timer.delay); } public function set delay(_arg1:int):void{ _timer.delay = _arg1; } public function get filters():Array{ return (_textField.filters); } public function setTextFormat(_arg1:TextFormat, _arg2:int=-1, _arg3:int=-1):void{ _textField.setTextFormat(_arg1, _arg2, _arg3); } public function toString():String{ return ("[object ToolTip]"); } private function _enterFrame(_arg1:Event):void{ var _local2:Number; var _local3:Number; if (!_currentTextField){ return; }; _local2 = (_stage.mouseX + _marginX); _local3 = (_stage.mouseY + _marginY); _local2 = Math.min((((_stage.stageWidth - StageUtil.getMarginLeft(_stage)) - _currentTextField.width) - _padding), _local2); _local3 = Math.min((((_stage.stageHeight - StageUtil.getMarginTop(_stage)) - _currentTextField.height) - (_padding * 3)), _local3); _currentTextField.x = (_currentTextField.x + ((_local2 - _currentTextField.x) * _friction)); _currentTextField.y = (_currentTextField.y + ((_local3 - _currentTextField.y) * _friction)); } public function get borderColor():uint{ return (_textField.borderColor); } public function get textFont():String{ return (_textField.getTextFormat().font); } private function _mouseMove(_arg1:MouseEvent):void{ _target.completelyRemoveEventListener(MouseEvent.MOUSE_MOVE, _mouseMove); _target.completelyRemoveEventListener(MouseEvent.ROLL_OUT, _mouseDownAndRollOut); if (_currentTextField){ _currentTextField.parent.removeChild(_currentTextField); _currentTextField = null; }; _target.addExclusivelyEventListener(MouseEvent.ROLL_OVER, _rollOver, false, int.MAX_VALUE, true); } private function _timerComplete(_arg1:TimerEvent):void{ if (_currentTextField){ _stage.removeChild(_currentTextField); }; _currentTextField = TextField(_stage.addChild(_textField)); _currentTextField.text = _text; if ((_target is CastButton)){ _currentTextField.appendText(("\n" + CastButton(_target).navigateURL)); }; _currentTextField.wordWrap = false; _originalWidth = (_currentTextField.width + 1); _currentTextField.wordWrap = true; _currentTextField.width = Math.ceil(Math.min(_originalWidth, (_stage.stageWidth - (_padding * 2)))); _currentTextField.x = Math.min((((_stage.stageWidth - StageUtil.getMarginLeft(_stage)) - _currentTextField.width) - _padding), (_stage.mouseX + _marginX)); _currentTextField.y = Math.min((((_stage.stageHeight - StageUtil.getMarginTop(_stage)) - _currentTextField.height) - _padding), (_stage.mouseY + _marginY)); if (_followMouse){ _target.addExclusivelyEventListener(Event.ENTER_FRAME, _enterFrame, false, int.MAX_VALUE, true); _target.addEventListener(MouseEvent.MOUSE_DOWN, _mouseDown, false, int.MAX_VALUE, true); _stage.addEventListener(MouseEvent.MOUSE_DOWN, _mouseDown, false, int.MAX_VALUE, true); } else { _target.addExclusivelyEventListener(MouseEvent.MOUSE_MOVE, _mouseMove, false, int.MAX_VALUE, true); }; } public function get defaultTextFormat():TextFormat{ return (_textField.defaultTextFormat); } public function set backgroundColor(_arg1:uint):void{ _textField.backgroundColor = MathUtil.range(_arg1, 0, 0xFFFFFF); } public function get text():String{ return (_textField.text); } public function set borderColor(_arg1:uint):void{ _textField.borderColor = MathUtil.range(_arg1, 0, 0xFFFFFF); } public function get textColor():uint{ return (_textColor); } public function set textFont(_arg1:String):void{ var _local2:TextFormat; _local2 = _textField.getTextFormat(); _local2.font = _arg1; _textField.defaultTextFormat = _local2; _textField.setTextFormat(_local2); } public function get enabled():Boolean{ return (_enabled); } private function _mouseDownAndRollOut(_arg1:MouseEvent):void{ _target.completelyRemoveEventListener(Event.ENTER_FRAME, _enterFrame); _target.completelyRemoveEventListener(MouseEvent.ROLL_OUT, _mouseDownAndRollOut); _stage.removeEventListener(MouseEvent.MOUSE_DOWN, _mouseDown); _timer.stop(); if (_currentTextField){ _currentTextField.parent.removeChild(_currentTextField); _currentTextField = null; }; _target.addExclusivelyEventListener(MouseEvent.ROLL_OVER, _rollOver, false, int.MAX_VALUE, true); } public function set defaultTextFormat(_arg1:TextFormat):void{ _textField.defaultTextFormat = _arg1; } private function _rollOver(_arg1:MouseEvent):void{ _target.completelyRemoveEventListener(MouseEvent.ROLL_OVER, _rollOver); _stage = DisplayObject(_target).stage; _target.addExclusivelyEventListener(MouseEvent.MOUSE_DOWN, _mouseDownAndRollOut, false, int.MAX_VALUE, true); _target.addExclusivelyEventListener(MouseEvent.ROLL_OUT, _mouseDownAndRollOut, false, int.MAX_VALUE, true); _timer.reset(); _timer.addEventListener(TimerEvent.TIMER_COMPLETE, _timerComplete, false, int.MAX_VALUE, true); _timer.start(); } public function get backgroundColor():uint{ return (_textField.backgroundColor); } public function set text(_arg1:String):void{ if (_TEXT_REGEXP.test(_arg1)){ _enabled = false; _text = ""; _target.completelyRemoveEventListener(MouseEvent.ROLL_OVER, _rollOver); _target.completelyRemoveEventListener(MouseEvent.ROLL_OUT, _mouseDownAndRollOut); return; }; _enabled = true; _text = _arg1; _target.addExclusivelyEventListener(MouseEvent.ROLL_OVER, _rollOver, false, int.MAX_VALUE, true); } public function set followMouse(_arg1:Boolean):void{ _followMouse = _arg1; } private function _mouseDown(_arg1:MouseEvent):void{ _target.completelyRemoveEventListener(Event.ENTER_FRAME, _enterFrame); _target.completelyRemoveEventListener(MouseEvent.ROLL_OUT, _mouseDownAndRollOut); _stage.removeEventListener(MouseEvent.MOUSE_DOWN, _mouseDown); if (_currentTextField){ _currentTextField.parent.removeChild(_currentTextField); _currentTextField = null; }; _target.addExclusivelyEventListener(MouseEvent.ROLL_OVER, _rollOver, false, int.MAX_VALUE, true); } public function set textColor(_arg1:uint):void{ _textField.textColor = MathUtil.range(_arg1, 0, 0xFFFFFF); } public function set friction(_arg1:Number):void{ _friction = MathUtil.range(_arg1, 0, 1); } public function get friction():Number{ return (_friction); } public function get followMouse():Boolean{ return (_followMouse); } public function set filters(_arg1:Array):void{ _textField.filters = _arg1; } progression_internal static function __createInstance(_arg1:ICastObject):ToolTip{ _internallyCalled = true; return (new ToolTip(_arg1)); } } }//package jp.progression.core.ui
Section 111
//SceneIdUtil (jp.progression.core.utils.SceneIdUtil) package jp.progression.core.utils { import jp.progression.scenes.*; import jp.nium.core.errors.*; public class SceneIdUtil { public function SceneIdUtil(){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_2012", "SceneIdUtil"))); } public static function toShortPath(_arg1:SceneId):String{ var _local2:String; _local2 = _arg1.path.split("/").slice(2).join("/"); _local2 = ((_local2) && (("/" + _local2))); if (_arg1.query.toString()){ _local2 = (_local2 + ("?" + _arg1.query)); }; return (_local2); } } }//package jp.progression.core.utils
Section 112
//CastEvent (jp.progression.events.CastEvent) package jp.progression.events { import flash.events.*; public class CastEvent extends Event { public static const CAST_ADDED:String = "castAdded"; public static const CAST_LOAD_COMPLETE:String = "castLoadComplete"; public static const CAST_LOAD_START:String = "castLoadStart"; public static const UPDATE:String = "update"; public static const CAST_REMOVED:String = "castRemoved"; public static const BUTTON_ENABLED_CHANGE:String = "buttonEnabledChange"; public static const STATUS_CHANGE:String = "statusChange"; public function CastEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (formatToString("CastEvent", "type", "bubbles", "cancelable")); } override public function clone():Event{ return (new CastEvent(type, bubbles, cancelable)); } } }//package jp.progression.events
Section 113
//CastMouseEvent (jp.progression.events.CastMouseEvent) package jp.progression.events { import flash.events.*; import flash.display.*; public class CastMouseEvent extends MouseEvent { public static const CAST_MOUSE_UP:String = "castMouseUp"; public static const CAST_ROLL_OVER:String = "castRollOver"; public static const CAST_ROLL_OUT:String = "castRollOut"; public static const CAST_MOUSE_DOWN:String = "castMouseDown"; public function CastMouseEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Number=0, _arg5:Number=0, _arg6:InteractiveObject=null, _arg7:Boolean=false, _arg8:Boolean=false, _arg9:Boolean=false, _arg10:Boolean=false, _arg11:int=0){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11); } override public function clone():Event{ return (new CastMouseEvent(type, bubbles, cancelable, localX, localY, relatedObject, ctrlKey, altKey, shiftKey, buttonDown, delta)); } override public function toString():String{ return (formatToString("CastMouseEvent", "type", "bubbles", "cancelable", "localX", "localY", "relatedObject", "ctrlKey", "altKey", "shiftKey", "buttonDown", "delta")); } } }//package jp.progression.events
Section 114
//CommandEvent (jp.progression.events.CommandEvent) package jp.progression.events { import flash.events.*; public class CommandEvent extends Event { private var _enforcedInterrupted:Boolean;// = false private var _errorObject:Error; public static const COMMAND_ADDED:String = "commandAdded"; public static const COMMAND_COMPLETE:String = "commandComplete"; public static const COMMAND_START:String = "commandStart"; public static const COMMAND_INTERRUPT:String = "commandInterrupt"; public static const COMMAND_REMOVED:String = "commandRemoved"; public static const COMMAND_ERROR:String = "commandError"; public function CommandEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Boolean=false, _arg5:Error=null){ _enforcedInterrupted = false; super(_arg1, _arg2, _arg3); _enforcedInterrupted = _arg4; _errorObject = _arg5; } override public function toString():String{ return (formatToString("CommandEvent", "type", "bubbles", "cancelable", "errorObject")); } public function get errorObject():Error{ return (_errorObject); } public function get enforcedInterrupted():Boolean{ return (_enforcedInterrupted); } override public function clone():Event{ return (new CommandEvent(type, bubbles, cancelable, _enforcedInterrupted, _errorObject)); } } }//package jp.progression.events
Section 115
//ProcessEvent (jp.progression.events.ProcessEvent) package jp.progression.events { import flash.events.*; import jp.progression.scenes.*; public class ProcessEvent extends Event { private var _scene:SceneObject; private var _eventType:String; public static const PROCESS_COMPLETE:String = "processComplete"; public static const PROCESS_EVENT:String = "processEvent"; public static const PROCESS_START:String = "processStart"; public static const PROCESS_INTERRUPT:String = "processInterrupt"; public static const PROCESS_SCENE:String = "processScene"; public static const PROCESS_ERROR:String = "processError"; public function ProcessEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:SceneObject=null, _arg5:String=null){ super(_arg1, _arg2, _arg3); _scene = _arg4; _eventType = _arg5; } override public function toString():String{ return (formatToString("ProcessEvent", "type", "bubbles", "cancelable", "scene", "eventType")); } public function get scene():SceneObject{ return (_scene); } public function get eventType():String{ return (_eventType); } override public function clone():Event{ return (new ProcessEvent(type, bubbles, cancelable, _scene, _eventType)); } } }//package jp.progression.events
Section 116
//SceneEvent (jp.progression.events.SceneEvent) package jp.progression.events { import flash.events.*; import jp.progression.scenes.*; public class SceneEvent extends Event { private var _scene:SceneObject; private var _eventType:String; public static const GOTO:String = "goto"; public static const SCENE_REMOVED:String = "sceneRemoved"; public static const LOAD:String = "load"; public static const SCENE_TITLE:String = "sceneTitle"; public static const ASCEND:String = "ascend"; public static const INIT:String = "init"; public static const DESCEND:String = "descend"; public static const SCENE_QUERY:String = "sceneQuery"; public static const SCENE_ADDED_TO_ROOT:String = "sceneAddedToRoot"; public static const SCENE_ADDED:String = "sceneAdded"; public static const SCENE_REMOVED_FROM_ROOT:String = "sceneRemovedFromRoot"; public static const UNLOAD:String = "unload"; public function SceneEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:SceneObject=null, _arg5:String=null){ super(_arg1, _arg2, _arg3); _scene = _arg4; _eventType = _arg5; } override public function toString():String{ return (formatToString("SceneEvent", "type", "bubbles", "cancelable", "scene", "eventType")); } public function get scene():SceneObject{ return (_scene); } public function get eventType():String{ return (_eventType); } override public function clone():Event{ return (new SceneEvent(type, bubbles, cancelable, _scene, _eventType)); } } }//package jp.progression.events
Section 117
//SceneId (jp.progression.scenes.SceneId) package jp.progression.scenes { import jp.nium.net.*; import jp.nium.utils.*; import jp.nium.core.errors.*; public class SceneId { private var _path:String; private var _query:Query; private var _length:int;// = 0 private static const _VALIDATE_REGEXP:RegExp = new RegExp("^((/[-a-z0-9,_&%+]+(/.|/..)*)*(/[-a-z0-9,_&%+]+)+)(\\?([-a-z0-9,_&%.+]+=[-a-z0-9,_&%.+]+)(&([-a-z0-9,_&%.+]+=[-a-z0-9,_&%.+]+))*)?$", "i"); private static const _TRANSFER_REGEXP:RegExp = new RegExp("/(../)*$", "g"); public function SceneId(_arg1:String, _arg2:Object=null){ var _local3:String; var _local4:Array; _length = 0; super(); _local3 = ObjectUtil.toQueryString(_arg2); _local3 = ((_local3) && ((((_arg1.indexOf("?"))!=-1) ? "&" : "?" + _local3))); _arg1 = encodeURI(decodeURI((_arg1 + _local3))); if (!validate(_arg1)){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_9007"))); }; _local4 = _arg1.split("?"); _path = _local4[0]; _query = new Query(false, StringUtil.queryToObject(decodeURI(((_local4[1]) || (""))))); _length = (_path.split("/").length - 1); } public function get path():String{ return (_path); } public function get length():int{ return (_length); } public function get query():Query{ return (_query); } public function transfer(_arg1:String):SceneId{ var path = _arg1; if (path.charAt(0) != "/"){ path = ((_path + "/") + path); }; path = path.replace("/./", "/"); path = path.replace(new RegExp("/[-a-z0-9 ,=_&%?+]+/[-a-z0-9 ,=_&%?+]+/\\.\\./", "gi"), function ():String{ return ((String(arguments[0]).split("/").slice(0, 2).join("/") + "/")); }); path = path.replace(_TRANSFER_REGEXP, ""); if (!validate(path)){ throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_9007"))); }; return (new SceneId(path, _query)); } public function equals(_arg1:SceneId, _arg2:Boolean=false):Boolean{ if (((_arg2) && (!(query.equals(_arg1.query))))){ return (false); }; return ((path == _arg1.path)); } public function slice(_arg1:int=0, _arg2:int=0xFFFFFF):SceneId{ var _local3:Array; if ((_arg2 - _arg1) == 0){ throw (new RangeError(ErrorMessageConstants.getMessage("ERROR_2006"))); }; _local3 = path.split("/"); _local3.shift(); _local3 = _local3.slice(_arg1, _arg2); return (new SceneId(("/" + _local3.join("/")), _query)); } public function getNameByIndex(_arg1:int):String{ var _local2:Array; _local2 = path.split("/"); _local2.shift(); if (_arg1 < 0){ _arg1 = (_arg1 + _local2.length); }; return (_local2[_arg1]); } public function toString():String{ var _local1:String; _local1 = ObjectUtil.toQueryString(_query); _local1 = ((_local1) && (("?" + _local1))); return ((_path + _local1)); } public function clone():SceneId{ return (new SceneId(_path, _query)); } public function contains(_arg1:SceneId):Boolean{ var _local2:Array; var _local3:Array; var _local4:int; var _local5:int; _local2 = path.split("/"); _local3 = _arg1.path.split("/"); _local4 = _local2.length; _local5 = 0; while (_local5 < _local4) { if (_local2[_local5] != _local3[_local5]){ return (false); }; _local5++; }; return (true); } public static function validate(_arg1:String):Boolean{ return (_VALIDATE_REGEXP.test(_arg1)); } } }//package jp.progression.scenes
Section 118
//SceneObject (jp.progression.scenes.SceneObject) package jp.progression.scenes { import jp.progression.*; import jp.progression.core.commands.*; import jp.nium.events.*; import jp.progression.events.*; import jp.progression.core.scenes.*; import flash.utils.*; import jp.nium.utils.*; import jp.nium.core.errors.*; import jp.progression.core.collections.*; import jp.progression.core.parser.*; import jp.progression.core.namespaces.*; import flash.errors.*; public class SceneObject extends EventIntegrator implements ICommandExecutable { private var __onGoto:Function; private var _eventHandlerEnabled:Boolean;// = true private var _isVisited:Boolean;// = false private var _executor:CommandExecutor; private var __onLoad:Function; private var __onSceneTitle:Function; private var _previous:SceneObject; private var __onSceneRemovedFromRoot:Function; private var _title:String; private var __onAscend:Function; private var _name:String; private var __onInit:Function; private var _isCurrent:Boolean;// = false private var _group:String; private var _scenes:Array; private var __onSceneRemoved:Function; private var _uniqueName:String; private var __onUnload:Function; private var _className:String; private var _id:String; private var __root:SceneObject; private var _parent:SceneObject; private var __onSceneAddedToRoot:Function; private var _next:SceneObject; private var __progression:Progression; private var _isParent:Boolean;// = false private var _sceneInfo:SceneInfo; private var __onDescend:Function; private var _isChild:Boolean;// = false private var __onSceneAdded:Function; private static const _NAME_REGEXP:RegExp = new RegExp("^scene_[0-9]+$"); private static var _owner:Progression; public function SceneObject(_arg1:String=null, _arg2:Object=null){ _scenes = []; _isCurrent = false; _isParent = false; _isChild = false; _isVisited = false; _eventHandlerEnabled = true; super(); _className = ClassUtil.getClassName(this); SceneCollection.__addInstance(this); _uniqueName = ("scene_" + SceneCollection.__getNumByInstance(this)); this.name = _arg1; eventHandlerEnabled = true; _sceneInfo = SceneInfo.__createInstance(this); _executor = CommandExecutor.__createInstance(this); setProperties(_arg2); if (_owner){ this.name = _owner.id; _progression = _owner; _root = this; _owner = null; }; } protected function _onGoto():void{ } public function set onSceneRemovedFromRoot(_arg1:Function):void{ __onSceneRemovedFromRoot = _arg1; } private function _ascend(_arg1:SceneEvent):void{ onAscend(); } public function addSceneAt(_arg1:SceneObject, _arg2:int):SceneObject{ if ((((_arg2 < 0)) || ((_scenes.length < _arg2)))){ throw (new RangeError(ErrorMessageConstants.getMessage("ERROR_2006"))); }; return (_registerScene(_arg1, _arg2)); } public function get isChild():Boolean{ return (_isChild); } public function get onSceneAdded():Function{ return (((__onSceneAdded) || (_onSceneAdded))); } public function set name(_arg1:String):void{ _arg1 = ((_arg1) || (_uniqueName)); switch (true){ case (_root == this): throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9003"))); case ((!(!(_parent))) && (!(!(_parent.getSceneByName(_arg1))))): throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9004"))); case (_arg1 == _uniqueName): break; case !(SceneId.validate(("/" + _arg1))): case _NAME_REGEXP.test(_arg1): throw (new FormatError(ErrorMessageConstants.getMessage("ERROR_9034"))); }; _name = _arg1; } private function _sceneRemoved(_arg1:SceneEvent):void{ onSceneRemoved(); } public function get id():String{ return (_id); } protected function _onUnload():void{ } public function set onInit(_arg1:Function):void{ __onInit = _arg1; } public function contains(_arg1:SceneObject):Boolean{ var _local2:int; var _local3:int; var _local4:SceneObject; if (_arg1 == this){ return (true); }; _local2 = _scenes.length; _local3 = 0; while (_local3 < _local2) { _local4 = SceneObject(_scenes[_local3]); if (_local4 == _arg1){ return (true); }; if (_local4.contains(_arg1)){ return (true); }; _local3++; }; return (false); } public function swapScenes(_arg1:SceneObject, _arg2:SceneObject):void{ var _local3:int; var _local4:int; var _local5:SceneObject; var _local6:int; _local3 = getSceneIndex(_arg1); _local4 = getSceneIndex(_arg2); if (_local3 < _local4){ _local5 = _arg1; _local6 = _local3; _arg1 = _arg2; _arg2 = _local5; _local3 = _local4; _local4 = _local6; }; removeScene(_arg1); removeScene(_arg2); addSceneAt(_arg1, _local4); addSceneAt(_arg2, _local3); } public function addSceneFromXML(_arg1:XML):void{ var parser:PRMLParser; var scene:XML; var classRef:Class; var child:SceneObject; var xml = _arg1; parser = new PRMLParser(xml); for each (scene in parser.scenes) { classRef = (getDefinitionByName(scene.attribute("cls")) as Class); if (!classRef){ } else { child = (new (classRef) as SceneObject); if (!child){ } else { child.setProperties(XMLUtil.xmlToObject(scene.attributes())); child.addSceneFromXML(parser.toPRMLString(scene.children())); child.sceneInfo.__data = (scene.children().(name() != "scene") as XMLList); addScene(child); }; }; }; } public function get className():String{ return (_className); } private function _unload(_arg1:SceneEvent):void{ onUnload(); } public function set onSceneAdded(_arg1:Function):void{ __onSceneAdded = _arg1; } public function set onAscend(_arg1:Function):void{ __onAscend = _arg1; } public function removeSceneAt(_arg1:int):SceneObject{ return (_unregisterScene(getSceneAt(_arg1))); } public function setProperties(_arg1:Object):SceneObject{ ObjectUtil.setProperties(this, _arg1); return (this); } public function set id(_arg1:String):void{ _id = SceneCollection.__addInstanceAtId(this, _arg1); } public function getSceneBySceneId(_arg1:SceneId):SceneObject{ return (SceneCollection.__getInstanceBySceneId(_arg1)); } public function clearCommand(_arg1:Boolean=false):void{ _executor.__clearCommand(_arg1); } public function addSceneAtAbove(_arg1:SceneObject, _arg2:int):SceneObject{ if ((((_arg2 < 0)) || ((_scenes.length < _arg2)))){ throw (new RangeError(ErrorMessageConstants.getMessage("ERROR_2006"))); }; return (_registerScene(_arg1, (_arg2 + 1))); } public function get parallelMode():Boolean{ return (_executor.__parallelMode); } protected function _onDescend():void{ } private function _sceneAddedToRoot(_arg1:SceneEvent):void{ onSceneAddedToRoot(); } public function removeAllScenes():void{ while (_scenes.length > 0) { removeScene(_scenes[0]); }; } public function get title():String{ return (((_title) || (((parent) ? (parent.title + " | ") : "" + _name)))); } public function get sceneInfo():SceneInfo{ return (_sceneInfo); } public function insertCommand(... _args):void{ _executor.__insertCommand.apply(null, _args); } public function getScenesByGroup(_arg1:String, _arg2:Boolean=false):Array{ return (SceneCollection.__getInstancesByGroup(_arg1, _arg2)); } public function get onLoad():Function{ return (((__onLoad) || (_onLoad))); } public function set onSceneRemoved(_arg1:Function):void{ __onSceneRemoved = _arg1; } public function get scenes():Array{ return (_scenes.slice()); } public function removeScene(_arg1:SceneObject):SceneObject{ return (_unregisterScene(_arg1)); } public function get onSceneTitle():Function{ return (((__onSceneTitle) || (_onSceneTitle))); } override public function toString():String{ return ((((((((((("[" + _className) + " sceneId=\"") + sceneId) + "\" id=\"") + _id) + "\" name=\"") + _name) + "\" group=\"") + _group) + "\"]")); } public function addCommand(... _args):void{ _executor.__addCommand.apply(null, _args); } public function addScene(_arg1:SceneObject):SceneObject{ return (_registerScene(_arg1, _scenes.length)); } private function _sceneAdded(_arg1:SceneEvent):void{ onSceneAdded(); } public function get isParent():Boolean{ return (_isParent); } protected function _onSceneTitle():void{ } private function _unregisterScene(_arg1:SceneObject):SceneObject{ var _local2:int; var _local3:int; var _local4:SceneObject; var _local5:SceneObject; var _local6:SceneObject; var _local7:SceneObject; _local2 = _scenes.length; _local3 = 0; while (_local3 < _local2) { _local4 = SceneObject(_scenes[_local3]); if (_local4 != _arg1){ } else { _local5 = _scenes[(_local3 + 1)]; _local6 = _scenes[(_local3 - 1)]; _local7 = _arg1._root; _arg1._progression = null; _arg1._root = null; _arg1._parent = null; _arg1._next = null; _arg1._previous = null; if (_local5){ _local5._previous = _local6; }; if (_local6){ _local6._next = _local5; }; _scenes.splice(_local3, 1); _arg1.dispatchEvent(new SceneEvent(SceneEvent.SCENE_REMOVED, false, false, _arg1)); if (((!(_arg1._root)) && (!((_local7 == _arg1._root))))){ _arg1.dispatchEvent(new SceneEvent(SceneEvent.SCENE_REMOVED_FROM_ROOT, false, false, _arg1)); }; _arg1.completelyRemoveEventListener(SceneEvent.SCENE_ADDED, dispatchEvent); _arg1.completelyRemoveEventListener(SceneEvent.SCENE_REMOVED, dispatchEvent); completelyRemoveEventListener(SceneEvent.SCENE_ADDED_TO_ROOT, _arg1.dispatchEvent); completelyRemoveEventListener(SceneEvent.SCENE_REMOVED_FROM_ROOT, _arg1.dispatchEvent); return (_arg1); }; _local3++; }; return (_arg1); } private function _descend(_arg1:SceneEvent):void{ onDescend(); } public function set onUnload(_arg1:Function):void{ __onUnload = _arg1; } public function get group():String{ return (_group); } private function set _root(_arg1:SceneObject):void{ var _local2:int; var _local3:int; __root = _arg1; _local2 = _scenes.length; _local3 = 0; while (_local3 < _local2) { SceneObject(_scenes[_local3])._root = _arg1; _local3++; }; } private function _goto(_arg1:SceneEvent):void{ onGoto(); } public function get onAscend():Function{ return (((__onAscend) || (_onAscend))); } public function get name():String{ return (_name); } public function get onSceneRemovedFromRoot():Function{ return (((__onSceneRemovedFromRoot) || (_onSceneRemovedFromRoot))); } public function get onInit():Function{ return (((__onInit) || (_onInit))); } protected function _onLoad():void{ } public function get numScenes():int{ return (scenes.length); } public function set onDescend(_arg1:Function):void{ __onDescend = _arg1; } public function get isVisited():Boolean{ return (_isVisited); } public function set eventHandlerEnabled(_arg1:Boolean):void{ if ((_eventHandlerEnabled = _arg1)){ addExclusivelyEventListener(SceneEvent.LOAD, _load, false, 0, true); addExclusivelyEventListener(SceneEvent.UNLOAD, _unload, false, 0, true); addExclusivelyEventListener(SceneEvent.INIT, _init, false, 0, true); addExclusivelyEventListener(SceneEvent.GOTO, _goto, false, 0, true); addExclusivelyEventListener(SceneEvent.DESCEND, _descend, false, 0, true); addExclusivelyEventListener(SceneEvent.ASCEND, _ascend, false, 0, true); addExclusivelyEventListener(SceneEvent.SCENE_ADDED, _sceneAdded, false, 0, true); addExclusivelyEventListener(SceneEvent.SCENE_ADDED_TO_ROOT, _sceneAddedToRoot, false, 0, true); addExclusivelyEventListener(SceneEvent.SCENE_REMOVED, _sceneRemoved, false, 0, true); addExclusivelyEventListener(SceneEvent.SCENE_REMOVED_FROM_ROOT, _sceneRemovedFromRoot, false, 0, true); addExclusivelyEventListener(SceneEvent.SCENE_TITLE, _sceneTitle, false, 0, true); } else { completelyRemoveEventListener(SceneEvent.LOAD, _load); completelyRemoveEventListener(SceneEvent.UNLOAD, _unload); completelyRemoveEventListener(SceneEvent.INIT, _init); completelyRemoveEventListener(SceneEvent.GOTO, _goto); completelyRemoveEventListener(SceneEvent.DESCEND, _descend); completelyRemoveEventListener(SceneEvent.ASCEND, _ascend); completelyRemoveEventListener(SceneEvent.SCENE_ADDED, _sceneAdded); completelyRemoveEventListener(SceneEvent.SCENE_ADDED_TO_ROOT, _sceneAddedToRoot); completelyRemoveEventListener(SceneEvent.SCENE_REMOVED, _sceneRemoved); completelyRemoveEventListener(SceneEvent.SCENE_REMOVED_FROM_ROOT, _sceneRemovedFromRoot); completelyRemoveEventListener(SceneEvent.SCENE_TITLE, _sceneTitle); }; } public function set parallelMode(_arg1:Boolean):void{ _executor.__parallelMode = _arg1; } protected function _onSceneRemovedFromRoot():void{ } public function setSceneIndex(_arg1:SceneObject, _arg2:int):void{ addSceneAt(removeScene(_arg1), _arg2); } public function getSceneAt(_arg1:int):SceneObject{ return ((_scenes[_arg1] as SceneObject)); } public function get parent():SceneObject{ return (_parent); } protected function _onInit():void{ } public function set title(_arg1:String):void{ _title = _arg1; dispatchEvent(new SceneEvent(SceneEvent.SCENE_TITLE, false, false, this)); } protected function _onSceneAddedToRoot():void{ } public function get onSceneRemoved():Function{ return (((__onSceneRemoved) || (_onSceneRemoved))); } public function getSceneIndex(_arg1:SceneObject):int{ var _local2:int; var _local3:int; _local2 = _scenes.length; _local3 = 0; while (_local3 < _local2) { if (_scenes[_local3] == _arg1){ return (_local3); }; _local3++; }; return (-1); } public function getScenesByRegExp(_arg1:String, _arg2:RegExp, _arg3:Boolean=false):Array{ return (SceneCollection.__getInstancesByRegExp(_arg1, _arg2, _arg3)); } private function _registerScene(_arg1:SceneObject, _arg2:int):SceneObject{ var _local3:SceneObject; var _local4:SceneObject; var _local5:SceneObject; if (_arg1.root == _arg1){ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9033"))); }; if (getSceneByName(_arg1.name)){ throw (new IllegalOperationError(ErrorMessageConstants.getMessage("ERROR_9004"))); }; if (_arg1.parent){ _arg1.parent._unregisterScene(_arg1); }; _scenes.splice(_arg2, 0, _arg1); _local3 = _arg1._root; _local4 = _scenes[(_arg2 + 1)]; _local5 = _scenes[(_arg2 - 1)]; _arg1._progression = progression; _arg1._root = root; _arg1._parent = this; _arg1._next = _local4; _arg1._previous = _local5; ((_local4) && ((_local4._previous = _arg1))); ((_local5) && ((_local5._next = _arg1))); _arg1.addExclusivelyEventListener(SceneEvent.SCENE_ADDED, dispatchEvent, false, int.MAX_VALUE, true); _arg1.addExclusivelyEventListener(SceneEvent.SCENE_REMOVED, dispatchEvent, false, int.MAX_VALUE, true); addExclusivelyEventListener(SceneEvent.SCENE_ADDED_TO_ROOT, _arg1.dispatchEvent, false, int.MAX_VALUE, true); addExclusivelyEventListener(SceneEvent.SCENE_REMOVED_FROM_ROOT, _arg1.dispatchEvent, false, int.MAX_VALUE, true); _arg1.dispatchEvent(new SceneEvent(SceneEvent.SCENE_ADDED, false, false, _arg1)); if (((root) && (!((_local3 == root))))){ _arg1.dispatchEvent(new SceneEvent(SceneEvent.SCENE_ADDED_TO_ROOT, false, false, _arg1)); }; return (_arg1); } public function get progression():Progression{ return (__progression); } public function swapScenesAt(_arg1:int, _arg2:int):void{ var _local3:SceneObject; var _local4:SceneObject; var _local5:SceneObject; var _local6:int; _local3 = getSceneAt(_arg1); _local4 = getSceneAt(_arg2); if (_arg1 < _arg2){ _local5 = _local3; _local6 = _arg1; _local3 = _local4; _local4 = _local5; _arg1 = _arg2; _arg2 = _local6; }; removeScene(_local3); removeScene(_local4); addSceneAt(_local3, _arg2); addSceneAt(_local4, _arg1); } public function get onUnload():Function{ return (((__onUnload) || (_onUnload))); } private function get _root():SceneObject{ return (__root); } public function set onGoto(_arg1:Function):void{ __onGoto = _arg1; } public function get sceneId():SceneId{ if (!_root){ return (null); }; if (_root == this){ return (new SceneId(("/" + name))); }; return (new SceneId(((_parent.sceneId.path + "/") + name))); } public function getSceneById(_arg1:String):SceneObject{ return (SceneCollection.__getInstanceById(_arg1)); } public function set onLoad(_arg1:Function):void{ __onLoad = _arg1; } public function get onDescend():Function{ return (((__onDescend) || (_onDescend))); } private function _load(_arg1:SceneEvent):void{ onLoad(); } public function toXMLString():String{ var _local1:String; var _local2:XML; var _local3:Array; var _local4:int; var _local5:int; var _local6:SceneObject; _local1 = ClassUtil.getClassPath(this); _local2 = new XML((((((((("<scene name=\"" + ??esc_xattr ) + "\" cls=\"") + ??esc_xattr ) + "\" title=\"") + ??esc_xattr ) + "\">") + ??esc_xelem ) + "</scene>")); _local3 = scenes; _local4 = numScenes; _local5 = 0; while (_local5 < _local4) { _local6 = SceneObject(_local3[_local5]); _local2.appendChild(_local6.toXMLString()); _local5++; }; return (_local2.toXMLString()); } public function get eventHandlerEnabled():Boolean{ return (_eventHandlerEnabled); } public function get executor():CommandExecutor{ return (_executor); } public function setSceneIndexAbove(_arg1:SceneObject, _arg2:int):void{ addSceneAtAbove(removeScene(_arg1), _arg2); } public function set onSceneTitle(_arg1:Function):void{ __onSceneTitle = _arg1; } private function _sceneRemovedFromRoot(_arg1:SceneEvent):void{ onSceneRemovedFromRoot(); } protected function _onSceneRemoved():void{ } private function _sceneTitle(_arg1:SceneEvent):void{ onSceneTitle(); } public function set onSceneAddedToRoot(_arg1:Function):void{ __onSceneAddedToRoot = _arg1; } protected function _onAscend():void{ } public function get root():SceneObject{ return (__root); } public function get isCurrent():Boolean{ return (_isCurrent); } public function get onSceneAddedToRoot():Function{ return (((__onSceneAddedToRoot) || (_onSceneAddedToRoot))); } public function get onGoto():Function{ return (((__onGoto) || (_onGoto))); } public function get next():SceneObject{ return (_next); } private function _init(_arg1:SceneEvent):void{ onInit(); } public function get previous():SceneObject{ return (_previous); } private function set _progression(_arg1:Progression):void{ var _local2:int; var _local3:int; __progression = _arg1; _local2 = _scenes.length; _local3 = 0; while (_local3 < _local2) { SceneObject(_scenes[_local3])._progression = _arg1; _local3++; }; } protected function _onSceneAdded():void{ } private function get _progression():Progression{ return (__progression); } public function set group(_arg1:String):void{ _group = SceneCollection.__addInstanceAtGroup(this, _arg1); } public function getSceneByName(_arg1:String):SceneObject{ var _local2:int; var _local3:int; var _local4:SceneObject; _local2 = _scenes.length; _local3 = 0; while (_local3 < _local2) { _local4 = SceneObject(_scenes[_local3]); if (_local4.name == _arg1){ return (_local4); }; _local3++; }; return (null); } progression_internal static function get __owner():Progression{ return (_owner); } progression_internal static function set __owner(_arg1:Progression):void{ _owner = _arg1; } } }//package jp.progression.scenes
Section 119
//getProgressionById (jp.progression.getProgressionById) package jp.progression { import jp.progression.core.collections.*; import jp.progression.core.namespaces.*; public function getProgressionById(_arg1:String):Progression{ return (ProgressionCollection.progression_internal::__getInstanceById(_arg1)); } }//package jp.progression
Section 120
//Progression (jp.progression.Progression) package jp.progression { import flash.display.*; import jp.progression.core.ui.*; import jp.nium.net.*; import jp.progression.scenes.*; import jp.nium.version.*; import jp.nium.events.*; import jp.progression.events.*; import jp.progression.core.casts.*; import jp.progression.core.managers.*; import com.asual.swfaddress.*; import jp.nium.utils.*; import jp.nium.core.errors.*; import jp.progression.core.utils.*; import jp.progression.core.collections.*; import jp.nium.external.*; import flash.system.*; public class Progression extends EventIntegrator { private var _container:Container; private var __onProcessComplete:Function; private var _eventHandlerEnabled:Boolean;// = true private var __onProcessError:Function; private var _keyboard:KeyboardManager; private var _sceneManager:SceneManager; private var _group:String; private var __onProcessStart:Function; private var __onProcessInterrupt:Function; private var _id:String; private var __onProcessScene:Function; private var __onProcessEvent:Function; private var _syncManager:SyncManager; private var _firstSceneId:SceneId; public static const AUTHOR:String = "Copyright (c) 2007-2008 taka:nium, supported by Spark project."; public static const NAME:String = "Progression"; public static const VERSION:Version = new Version("3.0.3"); public static const PLAYER_VERSION:Version = new Version("9.0.45"); private static var _background:Background = Background.__createInstance(); private static var _stage:Stage; public function Progression(_arg1:String, _arg2:Stage, _arg3:Class=null){ var _local4:Version; var _local5:SceneObject; var _local6:URLObject; _eventHandlerEnabled = true; super(); _local4 = new Version(Capabilities.version.split(" ")[1]); if (Progression.PLAYER_VERSION.compare(_local4) > 0){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_9000", Progression.PLAYER_VERSION))); }; if (!_arg1){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_1507", "id"))); }; if (ProgressionCollection.__getInstanceById(_arg1)){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_9001"))); }; _stage = _arg2; if (!_stage){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_9010"))); }; trace((((((("\n" + Progression.NAME) + " ") + Progression.VERSION) + "\n") + Progression.AUTHOR) + "\n")); _id = _arg1; eventHandlerEnabled = true; if (BrowserInterface.enabled){ _local6 = new URLObject(BrowserInterface.locationHref); _firstSceneId = new SceneId((("/" + _id) + _local6.fragment)); } else { _firstSceneId = new SceneId(("/" + _id)); }; if (!_stage.contains(_background)){ _stage.addChildAt(_background, 0); }; _container = Container(_stage.addChild(Container.__createInstance())); _sceneManager = SceneManager.__createInstance(); _sceneManager.addExclusivelyEventListener(ProcessEvent.PROCESS_START, dispatchEvent, false, int.MAX_VALUE, true); _sceneManager.addExclusivelyEventListener(ProcessEvent.PROCESS_COMPLETE, dispatchEvent, false, int.MAX_VALUE, true); _sceneManager.addExclusivelyEventListener(ProcessEvent.PROCESS_INTERRUPT, dispatchEvent, false, int.MAX_VALUE, true); _sceneManager.addExclusivelyEventListener(ProcessEvent.PROCESS_SCENE, dispatchEvent, false, int.MAX_VALUE, true); _sceneManager.addExclusivelyEventListener(ProcessEvent.PROCESS_EVENT, dispatchEvent, false, int.MAX_VALUE, true); _sceneManager.addExclusivelyEventListener(ProcessEvent.PROCESS_ERROR, dispatchEvent, false, int.MAX_VALUE, true); _keyboard = KeyboardManager.__createInstance(_stage); _syncManager = SyncManager.__createInstance(_sceneManager); _arg3 = ((_arg3) || (SceneObject)); SceneObject.__owner = this; _local5 = (new (_arg3) as SceneObject); if (!_local5){ throw (new ArgumentError(ErrorMessageConstants.getMessage("ERROR_9002"))); }; _sceneManager.root = _local5; ProgressionCollection.__addInstanceAtId(this, _id); ProgressionCollection.__addInstance(this); _local5.dispatchEvent(new SceneEvent(SceneEvent.SCENE_ADDED, false, false, _local5)); _local5.dispatchEvent(new SceneEvent(SceneEvent.SCENE_ADDED_TO_ROOT, false, false, _local5)); } public function get stage():Stage{ return (_stage); } public function get firstSceneId():SceneId{ return (_firstSceneId); } protected function _onProcessEvent():void{ } private function _processInterrupt(_arg1:ProcessEvent):void{ onProcessInterrupt(); } public function set autoLock(_arg1:Boolean):void{ _sceneManager.autoLock = _arg1; } public function get id():String{ return (_id); } private function _processStart(_arg1:ProcessEvent):void{ onProcessStart(); } public function get lock():Boolean{ return (_sceneManager.lock); } public function setProperties(_arg1:Object):Progression{ ObjectUtil.setProperties(this, _arg1); return (this); } public function set sync(_arg1:Boolean):void{ _syncManager.sync = _arg1; } private function _processScene(_arg1:ProcessEvent):void{ onProcessScene(); } protected function _onProcessInterrupt():void{ } public function set lock(_arg1:Boolean):void{ _sceneManager.lock = _arg1; } public function get onProcessError():Function{ return (((__onProcessError) || (_onProcessError))); } public function interrupt(_arg1:Boolean=false, _arg2:Object=null):void{ _sceneManager.interrupt(_arg1, _arg2); } public function set onProcessStart(_arg1:Function):void{ __onProcessStart = _arg1; } public function set onProcessInterrupt(_arg1:Function):void{ __onProcessInterrupt = _arg1; } public function goto(_arg1:SceneId):void{ var _local2:String; if (_sceneManager.lock){ return; }; if (_syncManager.enabled){ _local2 = SceneIdUtil.toShortPath(_arg1); if (SWFAddress.getValue() != _local2){ SWFAddress.setValue(SceneIdUtil.toShortPath(_arg1)); return; }; }; _sceneManager.goto(_arg1); } public function getProgressionBySceneId(_arg1:SceneId):Progression{ return (ProgressionCollection.__getInstanceBySceneId(_arg1)); } override public function toString():String{ return ((((((("[Progression id=\"" + _id) + "\" group=\"") + _group) + "\" sync=\"") + sync) + "\"]")); } protected function _onProcessComplete():void{ } protected function _onProcessError():void{ } public function get current():SceneObject{ return (_sceneManager.current); } public function get autoLock():Boolean{ return (_sceneManager.autoLock); } public function get group():String{ return (_group); } private function _ProcessEvent(_arg1:ProcessEvent):void{ onProcessEvent(); } public function get container():Container{ return (_container); } private function _processComplete(_arg1:ProcessEvent):void{ onProcessComplete(); } public function get sync():Boolean{ return (_syncManager.sync); } public function get interrupting():Boolean{ return (_sceneManager.interrupting); } public function set eventHandlerEnabled(_arg1:Boolean):void{ if ((_eventHandlerEnabled = _arg1)){ addExclusivelyEventListener(ProcessEvent.PROCESS_START, _processStart, false, 0, true); addExclusivelyEventListener(ProcessEvent.PROCESS_COMPLETE, _processComplete, false, 0, true); addExclusivelyEventListener(ProcessEvent.PROCESS_INTERRUPT, _processInterrupt, false, 0, true); addExclusivelyEventListener(ProcessEvent.PROCESS_SCENE, _processScene, false, 0, true); addExclusivelyEventListener(ProcessEvent.PROCESS_EVENT, _ProcessEvent, false, 0, true); addExclusivelyEventListener(ProcessEvent.PROCESS_ERROR, _processError, false, 0, true); } else { completelyRemoveEventListener(ProcessEvent.PROCESS_START, _processStart); completelyRemoveEventListener(ProcessEvent.PROCESS_COMPLETE, _processComplete); completelyRemoveEventListener(ProcessEvent.PROCESS_INTERRUPT, _processInterrupt); completelyRemoveEventListener(ProcessEvent.PROCESS_SCENE, _processScene); completelyRemoveEventListener(ProcessEvent.PROCESS_EVENT, _ProcessEvent); completelyRemoveEventListener(ProcessEvent.PROCESS_ERROR, _processError); }; } public function set onProcessError(_arg1:Function):void{ __onProcessError = _arg1; } public function get onProcessStart():Function{ return (((__onProcessStart) || (_onProcessStart))); } public function get onProcessInterrupt():Function{ return (((__onProcessInterrupt) || (_onProcessInterrupt))); } public function get departedSceneId():SceneId{ return (_sceneManager.departedSceneId); } public function set onProcessScene(_arg1:Function):void{ __onProcessScene = _arg1; } public function get running():Boolean{ return (_sceneManager.running); } public function get destinedSceneId():SceneId{ return (_sceneManager.destinedSceneId); } private function _processError(_arg1:ProcessEvent):void{ onProcessError(); } public function getProgressionsByRegExp(_arg1:String, _arg2:RegExp, _arg3:Boolean=false):Array{ return (ProgressionCollection.__getInstancesByRegExp(_arg1, _arg2, _arg3)); } public function get eventHandlerEnabled():Boolean{ return (_eventHandlerEnabled); } public function set onProcessComplete(_arg1:Function):void{ __onProcessComplete = _arg1; } public function set onProcessEvent(_arg1:Function):void{ __onProcessEvent = _arg1; } protected function _onProcessStart():void{ } public function get onProcessScene():Function{ return (((__onProcessScene) || (_onProcessScene))); } public function get root():SceneObject{ return (_sceneManager.root); } public function get keyboard():KeyboardManager{ return (_keyboard); } public function get onProcessComplete():Function{ return (((__onProcessComplete) || (_onProcessComplete))); } public function get onProcessEvent():Function{ return (((__onProcessEvent) || (_onProcessEvent))); } public function get eventType():String{ return (_sceneManager.eventType); } public function getProgressionById(_arg1:String):Progression{ return (ProgressionCollection.__getInstanceById(_arg1)); } public function getProgressionsByGroup(_arg1:String, _arg2:Boolean=false):Array{ return (ProgressionCollection.__getInstancesByGroup(_arg1, _arg2)); } protected function _onProcessScene():void{ } public function set group(_arg1:String):void{ _group = ProgressionCollection.__addInstanceAtGroup(this, _arg1); } public static function get uiContextMenu():CastObjectContextMenu{ return (_background.uiContextMenu); } } }//package jp.progression
Section 121
//BtnCommon (kick.casts.button.BtnCommon) package kick.casts.button { import jp.progression.*; import flash.events.*; import flash.display.*; import jp.progression.casts.*; import jp.progression.scenes.*; import caurina.transitions.*; import jp.progression.events.*; import jp.progression.commands.*; import kick.utils.sound.*; import caurina.transitions.properties.*; import jp.progression.loader.*; public class BtnCommon extends CastButton { private var _text_mc:MovieClip; private var dispatcher:EventDispatcher; private var _se01:SE01; private var _over_mc:MovieClip; public function BtnCommon(_arg1:Object=null){ _se01 = new SE01(); dispatcher = new EventDispatcher(); super(_arg1); ColorShortcuts.init(); } override protected function _onCastMouseUp():void{ addCommand(); } override protected function _onCastMouseDown():void{ addCommand(); } override protected function _onCastRollOver():void{ addCommand(function ():void{ _se01.play(); if (_over_mc != null){ this.dispatcher = dispatcher; this.eventType = Event.COMPLETE; new DoTweener(_over_mc, {y:0, height:21, time:0.3, transition:Equations.easeOutQuint}).after(function (){ dispatcher.dispatchEvent(new Event(Event.COMPLETE)); }).execute(); }; }, function ():void{ if (_text_mc != null){ this.dispatcher = dispatcher; this.eventType = Event.COMPLETE; new DoTweener(_text_mc, {_color:0, time:0.3, transition:Equations.easeOutQuint}, 0).after(function (){ dispatcher.dispatchEvent(new Event(Event.COMPLETE)); }).execute(); }; }); } public function set overMc(_arg1:MovieClip):void{ _over_mc = _arg1; } public function set textMc(_arg1:MovieClip):void{ _text_mc = _arg1; } override protected function _onCastRollOut():void{ addCommand(function ():void{ if (_over_mc != null){ this.dispatcher = dispatcher; this.eventType = Event.COMPLETE; new DoTweener(_over_mc, {y:20, height:1, time:0.3, transition:Equations.easeOutQuint}).after(function (){ dispatcher.dispatchEvent(new Event(Event.COMPLETE)); }).execute(); }; }, function ():void{ if (_text_mc != null){ this.dispatcher = dispatcher; this.eventType = Event.COMPLETE; new DoTweener(_text_mc, {_color:0xFFFFFF, time:0.3, transition:Equations.easeOutQuint}, 0).after(function (){ dispatcher.dispatchEvent(new Event(Event.COMPLETE)); }).execute(); }; }); } } }//package kick.casts.button
Section 122
//BtnBackGallery (kick.casts.gallery.button.BtnBackGallery) package kick.casts.gallery.button { import jp.progression.*; import flash.display.*; import kick.casts.button.*; public class BtnBackGallery extends BtnCommon { private var _prog:Progression; public var over_mc:MovieClip; public var txt_mc:MovieClip; public function BtnBackGallery(_arg1:Object=null){ super(_arg1); super.overMc = this.over_mc; super.textMc = this.txt_mc; } override protected function _onCastMouseDown():void{ _prog = getProgressionById("index"); if (_prog){ sceneId = _prog.current.parent.sceneId; }; } } }//package kick.casts.gallery.button
Section 123
//BtnSoundSelect (kick.casts.gallery.sound.BtnSoundSelect) package kick.casts.gallery.sound { import jp.progression.*; import flash.events.*; import flash.display.*; import jp.progression.casts.*; import jp.progression.scenes.*; import caurina.transitions.*; import jp.progression.commands.*; import kick.casts.button.*; import com.hexagonstar.util.debug.*; public class BtnSoundSelect extends BtnCommon { private var _prog:Progression; private var _text_mc:MovieClip; private var dispatcher:EventDispatcher; private var _num:uint; public var over_mc:MovieClip; private var _over_mc:MovieClip; public var txt_mc:MovieClip; private var _currentFlg:Boolean; public function BtnSoundSelect(_arg1:Object=null){ dispatcher = new EventDispatcher(); super(_arg1); super.overMc = (_over_mc = this.over_mc); super.textMc = (_text_mc = this.txt_mc); _num = uint(this.name.slice(3)); this.txt_mc.gotoAndStop(_num); } public function get currentFlg():Boolean{ return (_currentFlg); } public function set currentFlg(_arg1:Boolean):void{ _currentFlg = _arg1; currentSelectCheck(); } public function currentSelectCheck():void{ var _list:SerialList; _list = new SerialList(); if (_currentFlg){ _list.addCommand(function ():void{ this.dispatcher = dispatcher; this.eventType = Event.COMPLETE; new DoTweener(_over_mc, {y:0, height:21, time:0.3, transition:Equations.easeOutQuint}).after(function (){ dispatcher.dispatchEvent(new Event(Event.COMPLETE)); }).execute(); }, function ():void{ this.dispatcher = dispatcher; this.eventType = Event.COMPLETE; new DoTweener(_text_mc, {_color:0, time:0.3, transition:Equations.easeOutQuint}, 0).after(function (){ dispatcher.dispatchEvent(new Event(Event.COMPLETE)); }).execute(); }); } else { _list.addCommand(function ():void{ this.dispatcher = dispatcher; this.eventType = Event.COMPLETE; new DoTweener(_over_mc, {y:20, height:1, time:0.3, transition:Equations.easeOutQuint}).after(function (){ dispatcher.dispatchEvent(new Event(Event.COMPLETE)); }).execute(); }, function ():void{ this.dispatcher = dispatcher; this.eventType = Event.COMPLETE; new DoTweener(_text_mc, {_color:0xFFFFFF, time:0.3, transition:Equations.easeOutQuint}, 0).after(function (){ dispatcher.dispatchEvent(new Event(Event.COMPLETE)); }).execute(); }); }; _list.execute(); } override protected function _onCastMouseDown():void{ var _local1:SoundIndex; _local1 = SoundIndex(getInstanceById("soundindex")); _local1.selectnum = _num; } override protected function _onCastRollOver():void{ if (!_currentFlg){ super._onCastRollOver(); }; } override protected function _onCastRollOut():void{ if (!_currentFlg){ super._onCastRollOut(); }; } } }//package kick.casts.gallery.sound
Section 124
//DctSound (kick.casts.gallery.sound.DctSound) package kick.casts.gallery.sound { import jp.progression.*; import flash.events.*; import flash.display.*; import jp.progression.casts.*; import caurina.transitions.*; import jp.progression.commands.*; public class DctSound extends CastSprite { private var _soundIndex:SoundIndex; private var _prog:Progression; private var _mask:Sprite; public function DctSound(_arg1:Object=null){ super(_arg1); _prog = getProgressionById("index"); _soundIndex = new SoundIndex(); _soundIndex.id = "soundindex"; _mask = new Sprite(); _mask.graphics.beginFill(0xFF0000); _mask.graphics.drawRect(0, 0, 900, 500); _mask.x = _mask.width; this.mask = _mask; } override protected function _onCastAdded():void{ addCommand(new AddChild(this, _mask), new DoTweener(_mask, {x:0, time:0.8, transition:Equations.easeOutQuart}, 0)); } public function gotoIndex():void{ new RemoveChild(this, _soundIndex).after(function (){ dispatchEvent(new Event(Event.COMPLETE)); }).execute(); } override protected function _onCastRemoved():void{ addCommand(new DoTweener(_mask, {x:_mask.width, time:1, transition:Equations.easeOutQuart}, 0)); } public function initIndex():void{ new AddChild(this, _soundIndex).after(function (){ dispatchEvent(new Event(Event.COMPLETE)); }).execute(); } } }//package kick.casts.gallery.sound
Section 125
//SoundIndex (kick.casts.gallery.sound.SoundIndex) package kick.casts.gallery.sound { import jp.progression.*; import fl.video.*; import flash.events.*; import flash.display.*; import jp.progression.casts.*; import jp.progression.scenes.*; import caurina.transitions.*; import jp.progression.events.*; import jp.progression.commands.*; import kick.utils.string.*; import jp.progression.loader.*; import com.hexagonstar.util.debug.*; public class SoundIndex extends CastMovieClip { private var _title_mc:MovieClip; public var flvplayback_cp:FLVPlayback; private var _flvplayback_cp:FLVPlayback; private var _btnArray:Array; public var title_mc:MovieClip; public var btn1:BtnSoundSelect; public var btn2:BtnSoundSelect; public var btn3:BtnSoundSelect; public var btn4:BtnSoundSelect; public var btn6:BtnSoundSelect; public var btn7:BtnSoundSelect; public var btn9:BtnSoundSelect; public var btn8:BtnSoundSelect; public var btn10:BtnSoundSelect; public var btn11:BtnSoundSelect; public var btn13:BtnSoundSelect; public var btn5:BtnSoundSelect; public var btn12:BtnSoundSelect; private var _selectnum:uint;// = 1 private var _mask:Sprite; public function SoundIndex(_arg1:Object=null){ var initObject = _arg1; _selectnum = 1; super(); _title_mc = this.title_mc; _flvplayback_cp = this.flvplayback_cp; _btnArray = new Array("", this.btn1, this.btn2, this.btn3, this.btn4, this.btn5, this.btn6, this.btn7, this.btn8, this.btn9, this.btn10, this.btn11, this.btn12, this.btn13); addEventListener(Event.ADDED_TO_STAGE, function (_arg1:Event):void{ _flvplayback_cp.seek(0); }); addEventListener(Event.REMOVED_FROM_STAGE, function (_arg1:Event):void{ _flvplayback_cp.stop(); _flvplayback_cp.seek(0); }); __setProp_flvplayback_cp_SoundIndex_flvplayback_cp_1(); } public function set selectnum(_arg1:uint):void{ _selectnum = _arg1; onSelectChange(_selectnum); } override protected function _onCastAdded():void{ _mask = new Sprite(); _mask.graphics.beginFill(0xFF0000); _mask.graphics.drawRect(0, 0, 900, 500); _mask.x = (_mask.width * -1); this.mask = _mask; addCommand(new AddChild(this, _mask), new DoTweener(_mask, {x:0, time:0.8, transition:Equations.easeOutQuart}, 0), function ():void{ onMcChange(_selectnum); }); } function __setProp_flvplayback_cp_SoundIndex_flvplayback_cp_1(){ try { flvplayback_cp["componentInspectorSetting"] = true; } catch(e:Error) { }; flvplayback_cp.align = "center"; flvplayback_cp.autoPlay = false; flvplayback_cp.scaleMode = "exactFit"; flvplayback_cp.skin = "SWA_sound.swf"; flvplayback_cp.skinAutoHide = false; flvplayback_cp.skinBackgroundAlpha = 1; flvplayback_cp.skinBackgroundColor = 0x333333; flvplayback_cp.source = ""; flvplayback_cp.volume = 0.7; try { flvplayback_cp["componentInspectorSetting"] = false; } catch(e:Error) { }; } override protected function _onCastRemoved():void{ addCommand(new DoTweener(_mask, {y:(_mask.height * 1), time:0.6, transition:Equations.easeInCubic}, 0), new RemoveChild(this, _mask)); } public function get selectnum():uint{ return (_selectnum); } protected function onSelectChange(_arg1:uint):void{ onMcChange(_arg1); _flvplayback_cp.play(); } protected function onMcChange(_arg1:uint):void{ var _local2:uint; var _local3:AddZero; var _local4:String; _title_mc.gotoAndStop(_arg1); _local2 = 1; while (_local2 <= 13) { if (_arg1 == _local2){ _btnArray[_local2].currentFlg = true; } else { _btnArray[_local2].currentFlg = false; }; _local2++; }; _local3 = new AddZero(2); _local4 = "http://www.sonicteam.com/movie/swa/sound_"; _local4 = (_local4 + (_local3.format(_arg1) + ".flv")); _flvplayback_cp.source = _local4; } } }//package kick.casts.gallery.sound
Section 126
//SE01 (kick.utils.sound.SE01) package kick.utils.sound { import flash.media.*; public class SE01 { private var _channel:SoundChannel; private var _transform:SoundTransform; private var _sound:Sound; private var _volume:Number;// = 0.2 public function SE01(){ _sound = new Sound01(); _channel = new SoundChannel(); _transform = _channel.soundTransform; _volume = 0.2; super(); } public function get volume():Number{ return (_volume); } public function set volume(_arg1:Number):void{ _volume = volume; _transform.volume = _volume; _channel.soundTransform = _transform; } public function play():void{ _channel = _sound.play(); } } }//package kick.utils.sound
Section 127
//AddZero (kick.utils.string.AddZero) package kick.utils.string { public class AddZero { public var keta:uint; public function AddZero(_arg1:uint){ keta = _arg1; } public function format(_arg1):String{ var _local2:String; _local2 = ("" + _arg1); while (_local2.length < keta) { _local2 = ("0" + _local2); }; return (_local2); } } }//package kick.utils.string
Section 128
//title_txt_mc_7 (sound_fla.title_txt_mc_7) package sound_fla { import flash.display.*; public dynamic class title_txt_mc_7 extends MovieClip { public function title_txt_mc_7(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package sound_fla
Section 129
//Sound01 (Sound01) package { import flash.media.*; public dynamic class Sound01 extends Sound { } }//package

Library Items

Symbol 1 Sound {Sound01}
Symbol 2 GraphicUsed by:3
Symbol 3 MovieClipUses:2Used by:21 25
Symbol 4 BitmapUsed by:5
Symbol 5 GraphicUses:4Used by:20
Symbol 6 FontUsed by:7 8 9 10 11 12 13 14 15 16 17 18 19 53
Symbol 7 TextUses:6Used by:20
Symbol 8 TextUses:6Used by:20
Symbol 9 TextUses:6Used by:20
Symbol 10 TextUses:6Used by:20
Symbol 11 TextUses:6Used by:20
Symbol 12 TextUses:6Used by:20
Symbol 13 TextUses:6Used by:20
Symbol 14 TextUses:6Used by:20
Symbol 15 TextUses:6Used by:20
Symbol 16 TextUses:6Used by:20
Symbol 17 TextUses:6Used by:20
Symbol 18 TextUses:6Used by:20
Symbol 19 TextUses:6Used by:20
Symbol 20 MovieClipUses:5 7 8 9 10 11 12 13 14 15 16 17 18 19Used by:21
Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect}Uses:3 20Used by:52
Symbol 22 BitmapUsed by:23
Symbol 23 GraphicUses:22Used by:24
Symbol 24 MovieClipUses:23Used by:25
Symbol 25 MovieClip {kick.casts.gallery.button.BtnBackGallery}Uses:3 24Used by:52
Symbol 26 BitmapUsed by:28
Symbol 27 BitmapUsed by:28
Symbol 28 GraphicUses:26 27Used by:52
Symbol 29 GraphicUsed by:30
Symbol 30 MovieClipUses:29Used by:34
Symbol 31 BitmapUsed by:32
Symbol 32 GraphicUses:31Used by:33
Symbol 33 MovieClip {fl.video.Icon}Uses:32Used by:34
Symbol 34 MovieClip {fl.video.FLVPlayback}Uses:30 33Used by:52
Symbol 35 FontUsed by:36 38 40 41 42 43 44 45 46 47 48 49 50
Symbol 36 TextUses:35Used by:51
Symbol 37 GraphicUsed by:51
Symbol 38 TextUses:35Used by:51
Symbol 39 GraphicUsed by:51
Symbol 40 TextUses:35Used by:51
Symbol 41 TextUses:35Used by:51
Symbol 42 TextUses:35Used by:51
Symbol 43 TextUses:35Used by:51
Symbol 44 TextUses:35Used by:51
Symbol 45 TextUses:35Used by:51
Symbol 46 TextUses:35Used by:51
Symbol 47 TextUses:35Used by:51
Symbol 48 TextUses:35Used by:51
Symbol 49 TextUses:35Used by:51
Symbol 50 TextUses:35Used by:51
Symbol 51 MovieClip {sound_fla.title_txt_mc_7}Uses:36 37 38 39 40 41 42 43 44 45 46 47 48 49 50Used by:52
Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex}Uses:25 28 21 34 51
Symbol 53 TextUses:6Used by:Timeline

Instance Names

"over_mc"Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect} Frame 1Symbol 3 MovieClip
"txt_mc"Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect} Frame 1Symbol 20 MovieClip
"over_mc"Symbol 25 MovieClip {kick.casts.gallery.button.BtnBackGallery} Frame 1Symbol 3 MovieClip
"txt_mc"Symbol 25 MovieClip {kick.casts.gallery.button.BtnBackGallery} Frame 1Symbol 24 MovieClip
"boundingBox_mc"Symbol 34 MovieClip {fl.video.FLVPlayback} Frame 1Symbol 30 MovieClip
"btn1"Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex} Frame 1Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect}
"btn2"Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex} Frame 1Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect}
"btn3"Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex} Frame 1Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect}
"btn4"Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex} Frame 1Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect}
"btn5"Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex} Frame 1Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect}
"btn6"Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex} Frame 1Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect}
"btn7"Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex} Frame 1Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect}
"btn8"Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex} Frame 1Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect}
"btn9"Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex} Frame 1Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect}
"btn10"Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex} Frame 1Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect}
"btn11"Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex} Frame 1Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect}
"btn12"Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex} Frame 1Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect}
"btn13"Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex} Frame 1Symbol 21 MovieClip {kick.casts.gallery.sound.BtnSoundSelect}
"flvplayback_cp"Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex} Frame 1Symbol 34 MovieClip {fl.video.FLVPlayback}
"title_mc"Symbol 52 MovieClip {kick.casts.gallery.sound.SoundIndex} Frame 1Symbol 51 MovieClip {sound_fla.title_txt_mc_7}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 10 bytes ""




http://swfchan.com/40/195429/info.shtml
Created: 13/10 -2018 23:54:59 Last modified: 13/10 -2018 23:54:59 Server time: 29/04 -2024 00:47:09