home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Acao / germ_roundup.swf / scripts / __Packages / smashing / ClipHandler.as < prev    next >
Encoding:
Text File  |  2007-03-20  |  2.6 KB  |  105 lines

  1. class smashing.ClipHandler
  2. {
  3.    var id;
  4.    static var nId = 0;
  5.    function ClipHandler(objHome, nOffset)
  6.    {
  7.       var _loc1_ = this;
  8.       var _loc2_ = nOffset;
  9.       if(_loc2_ == undefined)
  10.       {
  11.          _loc2_ = 0;
  12.       }
  13.       _loc1_.offset = _loc2_;
  14.       _loc1_.home = objHome;
  15.       _loc1_.clips = [];
  16.       _loc1_.openSlots = [];
  17.       _loc1_.id = smashing.ClipHandler.nId++;
  18.    }
  19.    function findFirstEmpty()
  20.    {
  21.       var _loc2_ = this;
  22.       var _loc1_ = 0;
  23.       if(_loc2_.openSlots.length == 0)
  24.       {
  25.          _loc1_ = _loc2_.clips.length;
  26.       }
  27.       else
  28.       {
  29.          _loc1_ = _loc2_.openSlots.pop();
  30.       }
  31.       return _loc1_;
  32.    }
  33.    function addClip(sName)
  34.    {
  35.       var _loc2_ = this;
  36.       var _loc1_ = _loc2_.findFirstEmpty();
  37.       if(_loc2_.clips[_loc1_] != null)
  38.       {
  39.       }
  40.       var nDepth = _loc1_ + _loc2_.offset;
  41.       var _loc0_ = null;
  42.       var _loc3_ = _loc2_.clips[_loc1_] = _loc2_.home.attachMovie(sName,"clip" + _loc1_ + Math.floor(60000 * Math.random()),nDepth);
  43.       _loc3_.nId = _loc1_;
  44.       _loc3_.handler = _loc2_;
  45.       return _loc2_.clips[_loc1_];
  46.    }
  47.    function removeClip(mc)
  48.    {
  49.       var _loc2_ = this;
  50.       var _loc3_ = mc;
  51.       if(_loc3_.handler != null)
  52.       {
  53.          if(_loc3_.handler.id == _loc2_.id)
  54.          {
  55.             var _loc1_ = _loc3_.nId;
  56.             _loc2_.openSlots.push(_loc1_);
  57.             _loc2_.clips[_loc1_].removeMovieClip();
  58.             _loc2_.clips[_loc1_] = null;
  59.             return true;
  60.          }
  61.       }
  62.       return false;
  63.    }
  64.    function removeIndex(nIndex)
  65.    {
  66.       var _loc1_ = nIndex;
  67.       var _loc2_ = this;
  68.       if(_loc2_.clips[_loc1_] != null)
  69.       {
  70.          _loc2_.openSlots.push(_loc1_);
  71.          _loc2_.clips[_loc1_].removeMovieClip();
  72.          _loc2_.clips[_loc1_] = null;
  73.          return true;
  74.       }
  75.       return false;
  76.    }
  77.    function swap(nFirst, nSecond)
  78.    {
  79.       var _loc1_ = this;
  80.       var _loc2_ = nFirst;
  81.       var _loc3_ = nSecond;
  82.       if(_loc1_.clips[_loc2_] != null && _loc1_.clips[_loc3_] != null)
  83.       {
  84.          var objTemp = _loc1_.clips[_loc2_];
  85.          _loc1_.clips[_loc2_] = _loc1_.clips[_loc3_];
  86.          _loc1_.clips[_loc3_] = objTemp;
  87.          _loc1_.clips[_loc2_].swapDepths(_loc1_.clips[_loc3_]._name);
  88.       }
  89.    }
  90.    function removeAllClips()
  91.    {
  92.       var _loc2_ = this;
  93.       var _loc1_ = 0;
  94.       while(_loc1_ < _loc2_.clips.length)
  95.       {
  96.          _loc2_.removeIndex(_loc1_);
  97.          _loc1_ = _loc1_ + 1;
  98.       }
  99.    }
  100.    function toString()
  101.    {
  102.       return "[Cliphandler id:" + this.id + "]";
  103.    }
  104. }
  105.