home *** CD-ROM | disk | FTP | other *** search
- class smashing.ClipHandler
- {
- var id;
- static var nId = 0;
- function ClipHandler(objHome, nOffset)
- {
- var _loc1_ = this;
- var _loc2_ = nOffset;
- if(_loc2_ == undefined)
- {
- _loc2_ = 0;
- }
- _loc1_.offset = _loc2_;
- _loc1_.home = objHome;
- _loc1_.clips = [];
- _loc1_.openSlots = [];
- _loc1_.id = smashing.ClipHandler.nId++;
- }
- function findFirstEmpty()
- {
- var _loc2_ = this;
- var _loc1_ = 0;
- if(_loc2_.openSlots.length == 0)
- {
- _loc1_ = _loc2_.clips.length;
- }
- else
- {
- _loc1_ = _loc2_.openSlots.pop();
- }
- return _loc1_;
- }
- function addClip(sName)
- {
- var _loc2_ = this;
- var _loc1_ = _loc2_.findFirstEmpty();
- if(_loc2_.clips[_loc1_] != null)
- {
- }
- var nDepth = _loc1_ + _loc2_.offset;
- var _loc0_ = null;
- var _loc3_ = _loc2_.clips[_loc1_] = _loc2_.home.attachMovie(sName,"clip" + _loc1_ + Math.floor(60000 * Math.random()),nDepth);
- _loc3_.nId = _loc1_;
- _loc3_.handler = _loc2_;
- return _loc2_.clips[_loc1_];
- }
- function removeClip(mc)
- {
- var _loc2_ = this;
- var _loc3_ = mc;
- if(_loc3_.handler != null)
- {
- if(_loc3_.handler.id == _loc2_.id)
- {
- var _loc1_ = _loc3_.nId;
- _loc2_.openSlots.push(_loc1_);
- _loc2_.clips[_loc1_].removeMovieClip();
- _loc2_.clips[_loc1_] = null;
- return true;
- }
- }
- return false;
- }
- function removeIndex(nIndex)
- {
- var _loc1_ = nIndex;
- var _loc2_ = this;
- if(_loc2_.clips[_loc1_] != null)
- {
- _loc2_.openSlots.push(_loc1_);
- _loc2_.clips[_loc1_].removeMovieClip();
- _loc2_.clips[_loc1_] = null;
- return true;
- }
- return false;
- }
- function swap(nFirst, nSecond)
- {
- var _loc1_ = this;
- var _loc2_ = nFirst;
- var _loc3_ = nSecond;
- if(_loc1_.clips[_loc2_] != null && _loc1_.clips[_loc3_] != null)
- {
- var objTemp = _loc1_.clips[_loc2_];
- _loc1_.clips[_loc2_] = _loc1_.clips[_loc3_];
- _loc1_.clips[_loc3_] = objTemp;
- _loc1_.clips[_loc2_].swapDepths(_loc1_.clips[_loc3_]._name);
- }
- }
- function removeAllClips()
- {
- var _loc2_ = this;
- var _loc1_ = 0;
- while(_loc1_ < _loc2_.clips.length)
- {
- _loc2_.removeIndex(_loc1_);
- _loc1_ = _loc1_ + 1;
- }
- }
- function toString()
- {
- return "[Cliphandler id:" + this.id + "]";
- }
- }
-