Source: core/Ticker.js

/**
 * @author Inateno / http://inateno.com / http://dreamirl.com
 */

/* TODO - still WIP, don't use it I'm working on it :) */

/**
 * @constructor Ticker
 * @class <b>Work In Progress - don't use it !</b><br>
 * create a timer, can bind it on a dom element or a TextRenderer
 */
define( [ 'DE.CONFIG' ],
function( CONFIG )
{
  function Ticker( params )
  {
    if ( !params )
      return;
    
    this.loop  = params.loop || false;
    this.delay = params.delay || 0;
    this.startedAt = undefined;
    this.stopedAt  = undefined;
    this.isTicking = params.isTicking || params.ticking || params.autoStart || params.autostart || false;
    
    this.onStart = false;
    this.onTick  = false;
    this.onStop  = false;
    
    this.update = function( time )
    {
      if ( !this.isTicking )
        return;
      if ( time - this.startedAt >= this.delay )
        this.tick();
    }
    
    this.start = function()
    {
      this.startedAt = Date.now();
      this.stopedAt  = undefined;
      this.isTicking = true;
      
      if ( this.onStart )
        this.onStart();
    }
    
    this.tick = function()
    {
      if ( !this.loop )
        this.stop();
      else
        this.start();
      
      this.setText( this.delay );
      if ( this.onTick )
        this.onTick();
    }
    
    this.stop = function()
    {
      this.stopedAt  = Date.now();
      this.isTicking = false;
      
      if ( this.onStop )
        this.onStop();
    }
    
    if ( this.isTicking )
      this.start();
  }
  Ticker.prototype.DEName = "Ticker";
  
  return Ticker;
});
Dreamirl Copyright © 2014 And the contributors
Documentation generated by JSDoc 3.2.2 on Thu Apr 24 2014 11:56:40 GMT+0200 (CEST) using the DocStrap template.