LoadingMonitor.js 495 B

123456789101112131415161718192021222324252627282930313233343536
  1. /**
  2. * @author mrdoob / http://mrdoob.com/
  3. */
  4. THREE.LoadingMonitor = function () {
  5. THREE.EventTarget.call( this );
  6. var scope = this;
  7. var loaded = 0;
  8. var total = 0;
  9. var onLoad = function ( event ) {
  10. loaded ++;
  11. scope.dispatchEvent( { type: 'progress', loaded: loaded, total: total } );
  12. if ( loaded === total ) {
  13. scope.dispatchEvent( { type: 'load' } );
  14. }
  15. };
  16. this.add = function ( loader ) {
  17. total ++;
  18. loader.addEventListener( 'load', onLoad, false );
  19. };
  20. };