home *** CD-ROM | disk | FTP | other *** search
/ Champak 48 / cdrom_image.iso / Games / bobsleddin.swf / scripts / __Packages / GameMagnet.as < prev    next >
Encoding:
Text File  |  2007-09-28  |  2.6 KB  |  97 lines

  1. class GameMagnet extends Collectable
  2. {
  3.    var world;
  4.    var targetObjects;
  5.    var value = 0;
  6.    var collisionGroup = BB.MAGNETS;
  7.    var linkageID = "Magnets";
  8.    var collectedSound = "VR";
  9.    var power = 12;
  10.    var drain = 1;
  11.    var range = 1000;
  12.    var strength = 1400;
  13.    function GameMagnet()
  14.    {
  15.       super();
  16.    }
  17.    function onAddToWorld()
  18.    {
  19.       if(!_root.PostVR_Magnets)
  20.       {
  21.          this.world.removeObject(this);
  22.       }
  23.    }
  24.    function awardValue(obj)
  25.    {
  26.       obj.setSpecialItem(this);
  27.       obj.vrSound.stop();
  28.       obj.vrSound.attachSound("magnet");
  29.       obj.vrSound.start(0,10000);
  30.       this.applyDisplay(obj);
  31.    }
  32.    function applyDisplay(targetObject, offsetX, offsetY, offsetZ, depthRatio)
  33.    {
  34.       var _loc1_ = targetObject.target.sled;
  35.       _loc1_.magnetLeft._visible = _loc1_.magnetRight._visible = true;
  36.       _loc1_.magnetLeft.gotoAndStop(targetObject.currentTurnFrame);
  37.       _loc1_.magnetRight.gotoAndStop(targetObject.currentTurnFrame);
  38.    }
  39.    function removeDisplay(targetObject)
  40.    {
  41.       targetObject.vrSound.stop();
  42.       targetObject.removeSpecialItem();
  43.    }
  44.    function update(sled, elapsed)
  45.    {
  46.       this.power -= this.drain * elapsed;
  47.       if(this.power <= 0)
  48.       {
  49.          this.removeDisplay(sled);
  50.          return undefined;
  51.       }
  52.       this.targetObjects = [];
  53.       var _loc8_ = undefined;
  54.       var _loc2_ = undefined;
  55.       var _loc6_ = sled.sector.previous;
  56.       var _loc3_ = new Vector();
  57.       var _loc9_ = undefined;
  58.       var _loc7_ = this.strength * elapsed;
  59.       while(_loc6_)
  60.       {
  61.          _loc8_ = _loc6_.objects;
  62.          var _loc5_ = _loc8_.length;
  63.          while((_loc5_ = _loc5_ - 1) > -1)
  64.          {
  65.             _loc2_ = _loc8_[_loc5_];
  66.             if(!_loc2_.collected && _loc2_.collisionGroup & BB.MAGNETIC_CHARGE)
  67.             {
  68.                if(_loc2_.z - sled.z > this.range)
  69.                {
  70.                   break;
  71.                }
  72.                _loc3_.loc(sled.x - _loc2_.x,sled.y - _loc2_.y,sled.z - _loc2_.z);
  73.                _loc9_ = _loc3_.length;
  74.                if(_loc9_ < _loc7_)
  75.                {
  76.                   _loc2_.setCollected(sled);
  77.                }
  78.                else
  79.                {
  80.                   _loc3_.length = _loc7_;
  81.                   _loc2_.moveBy(_loc3_.x,_loc3_.y,_loc3_.z);
  82.                   this.targetObjects.push(_loc2_);
  83.                }
  84.             }
  85.          }
  86.          if(_loc6_.z > sled.z + this.range)
  87.          {
  88.             break;
  89.          }
  90.          _loc6_ = _loc6_.next;
  91.       }
  92.    }
  93.    function renderEffects(object)
  94.    {
  95.    }
  96. }
  97.