All pastes #461544 Raw Edit

Unnamed

public text v1 · immutable
#461544 ·published 2007-04-27 19:02 UTC
rendered paste body
import com.stevensacks.utils.ObservableClass;

class com.stevensacks.galapagos.assets.AbstractAsset extends ObservableClass
{
	public var id:String;
	public var src:String;
	public var title:String;
	public var totalBytes:Number;
	
	private var progressInterval:Number;
	
	function AbstractAsset()
	{
		super();
	}
	private function loadBegin():Void
	{
		clearInterval(progressInterval);
		progressInterval = setInterval(this, "updateProgress", 10);
	}
	private function updateProgress():Void
	{
		var l:Number = getBytesLoaded();
		var t:Number = totalBytes || getBytesTotal();
		var p:Number = l / t;
		dispatchEvent({type:"progress", asset:this, loaded:l, total:t, perc:p});
		if (t > 4 && p == 100) loadComplete();
	}
	private function loadComplete():Void
	{
		clearInterval(progressInterval);
		dispatchEvent({type:"complete", asset:this});
	}
	// stub methods for concrete classes
	public function load():Void {}
	public function getBytesLoaded():Number { return 0; }
	public function getBytesTotal():Number { return 0; }
	private function destroy():Void {}
}