home *** CD-ROM | disk | FTP | other *** search
/ Equipe de France et Bonbons / EquipeFrancePromoCD.iso / pages / cs_cadbury / loadergfx.swf / scripts / __Packages / CheckPointGeneratorTargetTracker.as < prev    next >
Encoding:
Text File  |  2006-03-19  |  2.7 KB  |  92 lines

  1. class CheckPointGeneratorTargetTracker
  2. {
  3.    var mcCheckPoint;
  4.    var player;
  5.    var playField;
  6.    var checkPointPos;
  7.    var humanPlayer;
  8.    var DECAL = 25;
  9.    var PRECISION = 10;
  10.    function CheckPointGeneratorTargetTracker(mcCheckPoint, playField, player)
  11.    {
  12.       this.mcCheckPoint = mcCheckPoint;
  13.       this.player = player;
  14.       this.playField = playField;
  15.       this.checkPointPos = new Point2D(-1,-1);
  16.       this.moveCheckPointRandom();
  17.    }
  18.    function setHumanPlayer(humanPlayer)
  19.    {
  20.       this.humanPlayer = humanPlayer;
  21.    }
  22.    function generatePosition()
  23.    {
  24.       var _loc3_ = random(this.playField.getMaxX());
  25.       var _loc2_ = random(this.playField.getMaxY());
  26.       if(_loc3_ <= this.playField.getMinX())
  27.       {
  28.          _loc3_ = this.playField.getMinX() + this.DECAL;
  29.       }
  30.       if(_loc3_ >= this.playField.getMaxX())
  31.       {
  32.          _loc3_ = this.playField.getMaxX() - this.DECAL;
  33.       }
  34.       if(_loc2_ <= this.playField.getMinY())
  35.       {
  36.          _loc2_ = this.playField.getMinY() + this.DECAL;
  37.       }
  38.       if(_loc2_ >= this.playField.getMaxY())
  39.       {
  40.          _loc2_ = this.playField.getMaxY() - this.DECAL;
  41.       }
  42.       this.checkPointPos.setX(_loc3_);
  43.       this.checkPointPos.setY(_loc2_);
  44.    }
  45.    function moveCheckPointRandom()
  46.    {
  47.       this.generatePosition();
  48.       this.mcCheckPoint._x = this.checkPointPos.getX();
  49.       this.mcCheckPoint._y = this.checkPointPos.getY();
  50.    }
  51.    function moveCheckPointAt(x, y)
  52.    {
  53.       this.checkPointPos.setX(x);
  54.       this.checkPointPos.setY(y);
  55.       this.mcCheckPoint._x = x;
  56.       this.mcCheckPoint._y = y;
  57.    }
  58.    function manage()
  59.    {
  60.       var _loc2_ = Math.floor(this.player.getX());
  61.       var _loc3_ = Math.floor(this.player.getY());
  62.       if(_loc2_ >= this.mcCheckPoint._x - this.PRECISION && _loc2_ <= this.mcCheckPoint._x + this.PRECISION)
  63.       {
  64.          if(_loc3_ >= this.mcCheckPoint._y - this.PRECISION && _loc3_ <= this.mcCheckPoint._y + this.PRECISION)
  65.          {
  66.             this.moveCheckPointRandom();
  67.             return true;
  68.          }
  69.       }
  70.       return false;
  71.    }
  72.    function manageWithHumanPlayer()
  73.    {
  74.       if(this.humanPlayer == undefined)
  75.       {
  76.          trace("CheckPointGeneratorTargetTracker - Human Player not initialized !");
  77.          return false;
  78.       }
  79.       var _loc2_ = new Vector2D(new Point2D(this.player.getX(),this.player.getY()),new Point2D(this.humanPlayer.getX(),this.humanPlayer.getY()));
  80.       if(_loc2_.getNorme() > 150)
  81.       {
  82.          this.moveCheckPointAt(this.humanPlayer.getX(),this.humanPlayer.getY());
  83.          return true;
  84.       }
  85.       if(this.manage() == true)
  86.       {
  87.          return true;
  88.       }
  89.       return false;
  90.    }
  91. }
  92.