home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Diversos / beauty_resort.swf / scripts / classes / basic / Sound / TFSound.as next >
Encoding:
Text File  |  2008-09-04  |  3.5 KB  |  133 lines

  1. package classes.basic.Sound
  2. {
  3.    import flash.media.Sound;
  4.    
  5.    public class TFSound
  6.    {
  7.       
  8.       public static var TYPE_MUSIC:Number = 0;
  9.       
  10.       public static var TYPE_SFX:Number = 1;
  11.        
  12.       
  13.       private var iType:Number;
  14.       
  15.       private var arSoundChannel:Array;
  16.       
  17.       private var iVolume:Number;
  18.       
  19.       private var bLoop:Boolean;
  20.       
  21.       private var pClass:Sound;
  22.       
  23.       private var pEventCallback:Function;
  24.       
  25.       private var iFadeOutDuration:Number;
  26.       
  27.       private var iFadeInDuration:Number;
  28.       
  29.       public function TFSound(param1:Class, param2:Number, param3:Function = null, param4:Boolean = false, param5:Number = 0, param6:Number = 0)
  30.       {
  31.          super();
  32.          this.iVolume = 0;
  33.          this.iType = param2;
  34.          this.bLoop = param4;
  35.          this.iFadeInDuration = param5;
  36.          this.iFadeOutDuration = param6;
  37.          this.pEventCallback = param3;
  38.          this.pClass = new param1();
  39.          arSoundChannel = new Array();
  40.       }
  41.       
  42.       public function stop() : Boolean
  43.       {
  44.          var _loc1_:Number = NaN;
  45.          _loc1_ = 0;
  46.          while(_loc1_ < arSoundChannel.length)
  47.          {
  48.             arSoundChannel[_loc1_].stop();
  49.             _loc1_++;
  50.          }
  51.          return true;
  52.       }
  53.       
  54.       public function setVolume(param1:Number) : *
  55.       {
  56.          var _loc2_:Number = NaN;
  57.          iVolume = param1;
  58.          _loc2_ = 0;
  59.          while(_loc2_ < arSoundChannel.length)
  60.          {
  61.             arSoundChannel[_loc2_].setVolume(param1);
  62.             _loc2_++;
  63.          }
  64.       }
  65.       
  66.       public function execFadeOut(param1:Number) : *
  67.       {
  68.          var _loc2_:* = undefined;
  69.          for(_loc2_ in arSoundChannel)
  70.          {
  71.             arSoundChannel[_loc2_].execFadeOut(param1);
  72.          }
  73.       }
  74.       
  75.       public function setFadeOutDuration(param1:Number) : *
  76.       {
  77.          var _loc2_:* = undefined;
  78.          for(_loc2_ in arSoundChannel)
  79.          {
  80.             arSoundChannel[_loc2_].setFadeOutDuration(param1);
  81.          }
  82.       }
  83.       
  84.       public function process(param1:Object) : *
  85.       {
  86.          var _loc2_:* = undefined;
  87.          for(_loc2_ in arSoundChannel)
  88.          {
  89.             arSoundChannel[_loc2_].process(param1);
  90.             if(arSoundChannel[_loc2_].getState() == TFSoundChannel.ST_STOPPED)
  91.             {
  92.                arSoundChannel.splice(_loc2_,1);
  93.             }
  94.          }
  95.       }
  96.       
  97.       public function getType() : Number
  98.       {
  99.          return iType;
  100.       }
  101.       
  102.       public function execFadeIn(param1:Number) : *
  103.       {
  104.          var _loc2_:* = undefined;
  105.          for(_loc2_ in arSoundChannel)
  106.          {
  107.             arSoundChannel[_loc2_].execFadeIn(param1);
  108.          }
  109.       }
  110.       
  111.       public function play() : TFSoundChannel
  112.       {
  113.          var _loc1_:Number = NaN;
  114.          var _loc2_:TFSoundChannel = null;
  115.          _loc1_ = arSoundChannel.length;
  116.          _loc2_ = new TFSoundChannel(pClass,iType,pEventCallback,bLoop,iFadeInDuration,iFadeOutDuration);
  117.          arSoundChannel.push(_loc2_);
  118.          _loc2_.setVolume(iVolume);
  119.          _loc2_.play();
  120.          return _loc2_;
  121.       }
  122.       
  123.       public function setFadeInDuration(param1:Number) : *
  124.       {
  125.          var _loc2_:* = undefined;
  126.          for(_loc2_ in arSoundChannel)
  127.          {
  128.             arSoundChannel[_loc2_].setFadeInDuration(param1);
  129.          }
  130.       }
  131.    }
  132. }
  133.