All pastes #457883 Raw Edit

Anonymous

public text v1 · immutable
#457883 ·published 2007-04-25 16:52 UTC
rendered paste body
import com.stevensacks.utils.ObservableClass;
import mx.utils.Delegate;

class com.stevensacks.galapagos.assets.AbstractAsset extends ObservableClass
{
	public var id:String;
	
	private var _src:String;
	private var _loaded:Boolean;
	private var _type:String;
	private var progressInterval:Number;
	
	function AbstractAsset()
	{
		//
	}
	public function set src(s:String):Void
	{
		_src = s;
		_type = String(_src.split(".").pop()).toUpperCase();
	}
	public function get src():String
	{
		return _src;
	}
	public function get loaded():Boolean
	{
		return _loaded;
	}
	public function get type():String
	{
		return _type;
	}
	private function loadBegin():Void
	{
		clearInterval(progressInterval);
		progressInterval = setInterval(this, "updateProgress", 10);
	}
	private function updateProgress():Void
	{
		var bLoaded:Number = getBytesLoaded();
		var bTotal:Number = getBytesTotal();
		var perc:Number = Math.round((bLoaded / bTotal) * 100);
		dispatchEvent({type:"progress", loaded:bLoaded, total:bTotal, perc:perc});
		if (bTotal > 4 && perc == 100) loadComplete();
	}
	private function loadComplete():Void
	{
		clearInterval(progressInterval);
		_loaded = true;
		dispatchEvent({type:"complete"});
	}
	
	public function load():Void {}
	private function getBytesLoaded():Number {}
	private function getBytesTotal():Number {}
	
}