1
8
9 import com.sekati.core.CoreObject;
10 import com.sekati.core.FWDepth;
11 import com.sekati.display.BaseClip;
12 import com.sekati.display.StageDisplay;
13 import com.sekati.events.FramePulse;
14 import com.sekati.utils.ClassUtils;
15
16
22 class com.sekati.load.BaseLoader extends CoreObject {
23
24 private var _nextFrameLabel:String;
25 private var _loader:MovieClip;
26 private var _isLoaded:Boolean;
27 private var _l:Number;
28 private var _t:Number;
29 private var _p:Number;
30
31
36 public function BaseLoader(frameLabel:String) {
37 super( );
38 _nextFrameLabel = (!frameLabel) ? "bootstrap" : frameLabel;
39 _isLoaded = false;
40 _level0.stop( );
41 _loader = ClassUtils.createEmptyMovieClip( com.sekati.display.BaseClip, _root, "___BaseLoader", {_depth:FWDepth.BaseLoader} );
42 FramePulse.$.addFrameListener( this );
43 }
44
45 private function _onEnterFrame():Void {
46 _l = _level0.getBytesLoaded( );
47 _t = _level0.getBytesTotal( );
48 _p = Math.floor( _l / _t * 100 );
49 if (_t > 5 && _l >= _t && StageDisplay.$.isReady) {
50 _isLoaded = true;
51 _level0.gotoAndStop( _nextFrameLabel );
52 this.destroy( );
53 }
54 }
55
56
60 public function get percent():Number {
61 return _p;
62 }
63
64
68 public function get bytesLoaded():Number {
69 return _l;
70 }
71
72
76 public function get bytesTotal():Number {
77 return _t;
78 }
79
80
84 public function get isLoaded():Boolean {
85 return _isLoaded;
86 }
87
88
92 public function destroy():Void {
93 FramePulse.$.removeFrameListener( this );
94 _loader.destroy( );
95 super.destroy( );
96 }
97 }