1  
     8   
     9  import com.sekati.core.CoreObject;
    10  
    11  
    14  class com.sekati.time.StopWatch extends CoreObject {
    15  
    16  	private var _initTime:Number;
    17  	private var _endTime:Number;
    18  	private var _lastLap:Number;
    19  	private var _ms:Number;
    20  
    21  	
    25  	public function StopWatch(startNow:Boolean) {
    26  		super( );
    27  		if(startNow) start( );
    28  	}
    29  
    30  	
    34  	public function start():Number {
    35  		_initTime = getTimer( );
    36  		_lastLap = _initTime;
    37  		return read( );
    38  	}
    39  
    40  	
    44  	public function stop():Number {
    45  		_endTime = getTimer( );
    46  		_ms = _endTime - _initTime;
    47  		return _ms;
    48  	}
    49  
    50  	
    54  	public function lap():Number {
    55  		var now:Number = getTimer( );
    56  		_ms = now - _lastLap;
    57  		_lastLap = now;
    58  		return _ms;
    59  	}
    60  
    61  	
    65  	public function read():Number {
    66  		var now:Number = getTimer( );
    67  		return now - _initTime;
    68  	}
    69  
    70  	
    73  	public function destroy():Void {
    74  		stop( );
    75  		super.destroy( );
    76  	}			
    77  }