home *** CD-ROM | disk | FTP | other *** search
/ One Click 21 (Special) / OC021.iso / Juegos / 05-11-10-1.swf / scripts / __Packages / Interface.as < prev    next >
Encoding:
Text File  |  2005-11-18  |  17.2 KB  |  549 lines

  1. class Interface
  2. {
  3.    var gravWell;
  4.    var FR_BURN_INSIGNA = 360;
  5.    var FR_DEETS_INSIGNA = 180;
  6.    var FR_LOOGIE_INSIGNA = 360;
  7.    var FR_POWER_SPIKE = 180;
  8.    var FR_GRAVITY_WELL = 18;
  9.    var nom = new String();
  10.    var etat = new String();
  11.    var oldEtat = new String();
  12.    var oldDir = new Number();
  13.    var paused = new Boolean();
  14.    var missionCD = new Object();
  15.    var packageTimer = new Object();
  16.    var powerUpCD = new Object();
  17.    var nbPoints = new Number();
  18.    var burnInsigna = new Boolean();
  19.    var nbFrBurnInsigna = new Number();
  20.    var deetsInsigna = new Boolean();
  21.    var nbFrDeetsInsigna = new Number();
  22.    var loogieInsigna = new Boolean();
  23.    var nbFrLoogieInsigna = new Number();
  24.    var powerSpike = new Boolean();
  25.    var nbFrPowerSpike = new Number();
  26.    var gravityWell = new Boolean();
  27.    var nbFrGravityWell = new Number();
  28.    var wasCalled = new Boolean();
  29.    var soundPlayCD30 = new Boolean();
  30.    var soundPlayCD10 = new Boolean();
  31.    var oldArrowDist = new Number();
  32.    var nbFrArrowDist = new Number();
  33.    var TextOverlayInfo = new String();
  34.    var TimeLeft = new Number();
  35.    function Interface(l_nom, l_missionCD, l_packageTimer, l_powerUpCD)
  36.    {
  37.       this.nom = l_nom;
  38.       this.etat = "Idle";
  39.       this.oldEtat = "Idle";
  40.       this.nbPoints = 0;
  41.       this.paused = false;
  42.       this.missionCD = l_missionCD;
  43.       this.soundPlayCD30 = false;
  44.       this.soundPlayCD10 = false;
  45.       this.packageTimer = l_packageTimer;
  46.       this.powerUpCD = l_powerUpCD;
  47.       this.wasCalled = false;
  48.       this.oldArrowDist = 99999;
  49.       this.nbFrArrowDist = 0;
  50.       this.burnInsigna = false;
  51.       this.deetsInsigna = false;
  52.       this.loogieInsigna = false;
  53.       this.powerSpike = false;
  54.       this.gravityWell = false;
  55.       this.nbFrBurnInsigna = 0;
  56.       this.nbFrDeetsInsigna = 0;
  57.       this.nbFrLoogieInsigna = 0;
  58.       this.nbFrPowerSpike = 0;
  59.       this.nbFrGravityWell = 0;
  60.    }
  61.    function UpdateEdFace(l_face)
  62.    {
  63.       _global.C._parent.ScrollMap.Items.Hud.EdFace.gotoAndPlay(l_face);
  64.    }
  65.    function EnterFrame()
  66.    {
  67.       this[this.etat]();
  68.       if(this.burnInsigna)
  69.       {
  70.          this.FrBurnInsigna();
  71.       }
  72.       if(this.deetsInsigna)
  73.       {
  74.          this.FrDeetsInsigna();
  75.       }
  76.       if(this.loogieInsigna)
  77.       {
  78.          this.FrLoogieInsigna();
  79.       }
  80.       if(this.powerSpike)
  81.       {
  82.          this.FrPowerSpike();
  83.       }
  84.       if(this.gravityWell)
  85.       {
  86.          this.FrGravityWell();
  87.       }
  88.    }
  89.    function ActivateBurnInsigna()
  90.    {
  91.       this.burnInsigna = true;
  92.       this.nbFrBurnInsigna = 0;
  93.       this.UpdateEdFace("Happy");
  94.       _global.C[_global.C.G_vehPers].ShowPowerUp("burnInsigna",true);
  95.       for(var _loc3_ in _global.C.G_FireColTab)
  96.       {
  97.          _global.C.G_FireColTab[_loc3_].gotoAndStop(2);
  98.       }
  99.    }
  100.    function ActivateDeetsInsigna()
  101.    {
  102.       this.deetsInsigna = true;
  103.       this.nbFrDeetsInsigna = 0;
  104.       this.missionCD.Pause();
  105.       this.UpdateEdFace("Happy");
  106.       _global.C[_global.C.G_vehPers].ShowPowerUp("deetsInsigna",true);
  107.       _global.C._parent.Overlays.gotoAndPlay("timeFreeze");
  108.    }
  109.    function ActivateGravityWell(l_gravWellMC)
  110.    {
  111.       if(!this.loogieInsigna)
  112.       {
  113.          if(!_global.S.isPlaying("gravityWell"))
  114.          {
  115.             _global.S.PlaySound("gravityWell",50,0);
  116.          }
  117.          this.gravWell = l_gravWellMC;
  118.          this.gravityWell = true;
  119.          this.nbFrGravityWell = 0;
  120.          _global.C[_global.C.G_vehPers].SetPowerUpSpeedFactor(0.3,0.5);
  121.          this.UpdateEdFace("Hangry");
  122.       }
  123.    }
  124.    function ActivateLoogieInsigna()
  125.    {
  126.       this.loogieInsigna = true;
  127.       this.nbFrLoogieInsigna = 0;
  128.       if(this.gravityWell)
  129.       {
  130.          this.gravityWell = false;
  131.          _global.C[_global.C.G_vehPers].UnSetPowerUpSpeedFactor();
  132.       }
  133.       _global.C[_global.C.G_vehPers].ShowPowerUp("loogieInsigna",true);
  134.       this.UpdateEdFace("Happy");
  135.    }
  136.    function ActivatePowerSpike()
  137.    {
  138.       if(!_global.S.isPlaying("powerSpike"))
  139.       {
  140.          _global.S.PlaySound("powerSpike",50,0);
  141.       }
  142.       _global.C[_global.C.G_vehPers].SetPowerUpSpeedFactor(1.6,1.5);
  143.       _global.C[_global.C.G_vehPers].SetSpeed(48);
  144.       this.UpdateEdFace("Happy");
  145.       this.nbFrPowerSpike = 0;
  146.       this.powerSpike = true;
  147.    }
  148.    function DeliveredPackage(l_time, l_timeBonus)
  149.    {
  150.       var _loc3_ = 500;
  151.       _global.C.G_nbPackagesDone = _global.C.G_nbPackagesDone + 1;
  152.       if(l_time <= 10)
  153.       {
  154.          _loc3_ += 1500;
  155.       }
  156.       else if(l_time > 10 && l_time <= 15)
  157.       {
  158.          _loc3_ += 1000;
  159.       }
  160.       else if(l_time > 15 && l_time <= 20)
  161.       {
  162.          _loc3_ += 500;
  163.       }
  164.       this.missionCD.AddTime(l_timeBonus);
  165.       this.UpdatePoints(_loc3_);
  166.       this.UpdateNbPackages();
  167.       if(_global.C.G_nbPackagesDone == _global.C.G_nbPackagesToDo)
  168.       {
  169.          this.MissionCompleted();
  170.       }
  171.       this.UpdateEdFace("Happy");
  172.    }
  173.    function FrBurnInsigna()
  174.    {
  175.       this.nbFrBurnInsigna = this.nbFrBurnInsigna + 1;
  176.       if(this.nbFrBurnInsigna >= this.FR_BURN_INSIGNA)
  177.       {
  178.          this.burnInsigna = false;
  179.          for(var _loc3_ in _global.C.G_FireColTab)
  180.          {
  181.             _loc3_.gotoAndStop(1);
  182.          }
  183.          _global.C[_global.C.G_vehPers].ShowPowerUp("burnInsigna",false);
  184.       }
  185.    }
  186.    function FrDeetsInsigna()
  187.    {
  188.       this.nbFrDeetsInsigna = this.nbFrDeetsInsigna + 1;
  189.       if(this.nbFrDeetsInsigna >= this.FR_DEETS_INSIGNA)
  190.       {
  191.          this.deetsInsigna = false;
  192.          this.missionCD.UnPause();
  193.          _global.C[_global.C.G_vehPers].ShowPowerUp("deetsInsigna",false);
  194.       }
  195.    }
  196.    function FrGravityWell()
  197.    {
  198.       var _loc3_ = _global.C[_global.C.G_vehPers].GetStageCoord();
  199.       this.nbFrGravityWell = this.nbFrGravityWell + 1;
  200.       if(this.nbFrGravityWell >= this.FR_GRAVITY_WELL && !this.gravWell.hitTest(_loc3_.x,_loc3_.y,true))
  201.       {
  202.          this.gravityWell = false;
  203.          _global.C[_global.C.G_vehPers].UnSetPowerUpSpeedFactor();
  204.       }
  205.    }
  206.    function FrLoogieInsigna()
  207.    {
  208.       this.nbFrLoogieInsigna = this.nbFrLoogieInsigna + 1;
  209.       if(this.nbFrLoogieInsigna >= this.FR_LOOGIE_INSIGNA)
  210.       {
  211.          this.loogieInsigna = false;
  212.          _global.C[_global.C.G_vehPers].ShowPowerUp("loogieInsigna",false);
  213.       }
  214.    }
  215.    function FrPowerSpike()
  216.    {
  217.       this.nbFrPowerSpike = this.nbFrPowerSpike + 1;
  218.       if(this.nbFrPowerSpike >= this.FR_POWER_SPIKE)
  219.       {
  220.          this.powerSpike = false;
  221.          _global.C[_global.C.G_vehPers].UnSetPowerUpSpeedFactor();
  222.       }
  223.    }
  224.    function GameOver()
  225.    {
  226.       this.PauseAll();
  227.       this.SetState("Idle");
  228.       this.UpdateEdFace("Hangry");
  229.       _quality = "HIGH";
  230.       _global.C._parent.LooseScreen.gotoAndPlay("Loose");
  231.    }
  232.    function GetName()
  233.    {
  234.       return this.nom;
  235.    }
  236.    function GetNbPoints()
  237.    {
  238.       return this.nbPoints;
  239.    }
  240.    function GetState()
  241.    {
  242.       return this.etat;
  243.    }
  244.    function IniMission(l_missionId)
  245.    {
  246.       switch(_global.C.G_missionId)
  247.       {
  248.          case 1:
  249.             this.nbPoints = 0;
  250.             this.missionCD.StartTimer(150);
  251.             _global.C.G_nbPackagesToDo = 10;
  252.             _global.C.G_nbPackagesDone = 0;
  253.             _global.C[_global.C.G_vanAi].SetMaxFrPlayerSeen(180);
  254.             break;
  255.          case 2:
  256.             this.missionCD.StartTimer(180);
  257.             _global.C.G_nbPackagesToDo = 15;
  258.             _global.C.G_nbPackagesDone = 0;
  259.             _global.C[_global.C.G_vanAi].SetMaxFrPlayerSeen(180);
  260.             break;
  261.          case 3:
  262.             this.missionCD.StartTimer(300);
  263.             _global.C.G_nbPackagesToDo = 20;
  264.             _global.C.G_nbPackagesDone = 0;
  265.             _global.C[_global.C.G_vanAi].SetMaxFrPlayerSeen(180);
  266.             break;
  267.          case 4:
  268.             this.missionCD.StartTimer(740);
  269.             _global.C.G_nbPackagesToDo = 25;
  270.             _global.C.G_nbPackagesDone = 0;
  271.             _global.C[_global.C.G_vanAi].SetMaxFrPlayerSeen(180);
  272.       }
  273.       _global.C[_global.C.G_vanAi].SetState("WaitForRespawn");
  274.       var _loc3_ = 0;
  275.       while(_loc3_ < _global.C.G_DropZoneTab.length)
  276.       {
  277.          _global.C[_global.C.G_DropZoneTab[_loc3_]].picked = false;
  278.          _loc3_ = _loc3_ + 1;
  279.       }
  280.       this.packageStolen(false);
  281.       _global.C[_global.C.G_package].ChooseDropZone();
  282.       _global.C[_global.C.G_miniMap].StartFollow(_global.C[_global.C.G_vehPers]);
  283.       this.UpdateNbLife();
  284.       this.UpdateNbPackages();
  285.       this.SetState("UpdateInterface");
  286.       _global.C[_global.C.G_vehPers].SetSpeed(0);
  287.       _global.C[_global.C.G_vehPers].CenterVehToStartPos();
  288.       this.paused = false;
  289.       this.wasCalled = false;
  290.       this.PauseAll();
  291.    }
  292.    function StartMission()
  293.    {
  294.       _global.C[_global.C.G_vehPers].SetVisible();
  295.       _global.C[_global.C.G_vehPers].SetState("Idle");
  296.       _global.C[_global.C.G_vainAi].SetState("WaitForRespawn");
  297.       _global.C._parent.Overlays.gotoAndPlay("Mission" + _global.C.G_missionId + "GoodLuck");
  298.       this.paused = true;
  299.       this.PauseAll();
  300.    }
  301.    function IsBurnInsigna()
  302.    {
  303.       return this.burnInsigna;
  304.    }
  305.    function IsDeetsInsigna()
  306.    {
  307.       return this.deetsInsigna;
  308.    }
  309.    function IsGravityWell()
  310.    {
  311.       return this.gravityWell;
  312.    }
  313.    function IsLoogieInsigna()
  314.    {
  315.       return this.loogieInsigna;
  316.    }
  317.    function IsPowerSpike()
  318.    {
  319.       return this.powerSpike;
  320.    }
  321.    function LooseLife(l_cause)
  322.    {
  323.       _global.C.G_nbLife--;
  324.       if(_global.C.G_nbLife < 1)
  325.       {
  326.          _global.C._parent.Overlays.gotoAndPlay("MissionFailed");
  327.          _global.S.PlaySound("loose",50,0);
  328.          _global.S.StopSound("countDown10");
  329.          _global.S.StopSound("countDown30");
  330.          _global.S.G_TabSonFade.push(["muzikGame",0,"Out",10]);
  331.       }
  332.       else
  333.       {
  334.          this.UpdateNbLife();
  335.          this.UpdateEdFace("Hangry");
  336.          if(l_cause == "Fall")
  337.          {
  338.             _global.C._parent.Overlays.gotoAndPlay("HurryUp");
  339.             _global.S.PlaySound("hurry",100,0);
  340.          }
  341.       }
  342.    }
  343.    function MissionCompleted()
  344.    {
  345.       if(!this.wasCalled)
  346.       {
  347.          this.wasCalled = true;
  348.          this.PauseAll();
  349.          this.TimeLeft = this.missionCD.GetCurrentTime();
  350.          _global.C._parent.ResultScreen.gotoAndPlay("Mission" + _global.C.G_missionId);
  351.          _global.C.G_missionId = _global.C.G_missionId + 1;
  352.          _global.C[_global.C.G_vanAi].SetState("WaitForRespawn");
  353.          _global.S.PlaySound("levComplete",100,0);
  354.          this.UpdateEdFace("Happy");
  355.       }
  356.    }
  357.    function PauseAll()
  358.    {
  359.       if(!this.paused)
  360.       {
  361.          this.paused = true;
  362.          _global.C[_global.C.G_vanAi].Pause();
  363.          _global.C[_global.C.G_vehPers].Pause();
  364.          _global.C[_global.C.G_van].Pause();
  365.          this.missionCD.Pause();
  366.          this.packageTimer.Pause();
  367.          this.powerUpCD.Pause();
  368.       }
  369.       else
  370.       {
  371.          this.paused = false;
  372.          _global.C[_global.C.G_vanAi].UnPause();
  373.          _global.C[_global.C.G_vehPers].UnPause();
  374.          _global.C[_global.C.G_van].UnPause();
  375.          this.missionCD.UnPause();
  376.          this.packageTimer.UnPause();
  377.          this.powerUpCD.UnPause();
  378.       }
  379.    }
  380.    function SetState(l_newState)
  381.    {
  382.       if(l_newState != undefined && l_newState != this.etat)
  383.       {
  384.          this.oldEtat = this.etat;
  385.          this.etat = l_newState;
  386.       }
  387.    }
  388.    function UpdateInterface()
  389.    {
  390.       this.UpdateMissionCD();
  391.       this.UpdatePackageDir();
  392.    }
  393.    function UpdateMapScreen()
  394.    {
  395.       var _loc5_ = _global.C[_global.C.G_package].AttachedToVan();
  396.       var _loc2_ = _global.C.utils.GetMapZone(_global.C[_global.C[_global.C.G_package].GetDropZone()].GetStageCoord());
  397.       var _loc3_ = _global.C.utils.GetMapZone(_global.C[_global.C.G_vehPers].GetStageCoord());
  398.       var _loc4_ = _global.C.utils.GetMapZone(_global.C[_global.C.G_van].GetStageCoord());
  399.       _global.C._parent.MapScreen.Map.EdDot._x = (_loc3_.x - 1) * 2;
  400.       _global.C._parent.MapScreen.Map.EdDot._y = (_loc3_.y - 1) * 2;
  401.       if(_loc5_)
  402.       {
  403.          _global.C._parent.MapScreen.Map.DropDot._x = -100;
  404.          _global.C._parent.MapScreen.Map.DropDot._y = -100;
  405.          _global.C._parent.MapScreen.Map.VanDot._x = (_loc4_.x - 1) * 2;
  406.          _global.C._parent.MapScreen.Map.VanDot._y = (_loc4_.y - 1) * 2;
  407.       }
  408.       else
  409.       {
  410.          _global.C._parent.MapScreen.Map.DropDot._x = (_loc2_.x - 1) * 2;
  411.          _global.C._parent.MapScreen.Map.DropDot._y = (_loc2_.y - 1) * 2;
  412.          _global.C._parent.MapScreen.Map.VanDot._x = -100;
  413.          _global.C._parent.MapScreen.Map.VanDot._y = -100;
  414.       }
  415.    }
  416.    function UpdateMissionCD()
  417.    {
  418.       var _loc3_ = this.missionCD.GetCurrentTime();
  419.       if(_loc3_ < 30)
  420.       {
  421.          if(_global.C._parent.ScrollMap.Items.Hud.timerMC._currentframe == 1)
  422.          {
  423.             _global.C._parent.ScrollMap.Items.Hud.timerMC.gotoAndPlay("flash");
  424.             if(!this.soundPlayCD30)
  425.             {
  426.                _global.C._parent.Overlays.gotoAndPlay("HurryUp");
  427.                _global.S.PlaySound("countDown30",50,100);
  428.                this.soundPlayCD30 = true;
  429.             }
  430.          }
  431.          if(_loc3_ < 10)
  432.          {
  433.             if(!this.soundPlayCD10)
  434.             {
  435.                _global.S.PlaySound("countDown10",50,100);
  436.                _global.S.StopSound("countDown30");
  437.                _global.C._parent.Overlays.gotoAndPlay("HurryUp");
  438.                this.soundPlayCD10 = true;
  439.             }
  440.          }
  441.       }
  442.       else if(_global.C._parent.ScrollMap.Items.Hud.timerMC._currentframe != 1)
  443.       {
  444.          _global.C._parent.ScrollMap.Items.Hud.timerMC.gotoAndPlay("idle");
  445.       }
  446.       if(_loc3_ != null)
  447.       {
  448.          if(_loc3_ >= 60)
  449.          {
  450.             var _loc4_ = Math.floor(_loc3_ / 60);
  451.             var _loc5_ = _loc3_ - _loc4_ * 60;
  452.             if(_loc5_ < 10)
  453.             {
  454.                var _loc6_ = "00:0" + _loc4_ + ":0" + _loc5_;
  455.             }
  456.             else
  457.             {
  458.                _loc6_ = "00:0" + _loc4_ + ":" + _loc5_;
  459.             }
  460.          }
  461.          else if(_loc3_ < 10)
  462.          {
  463.             _loc6_ = "00:00:0" + _loc3_;
  464.          }
  465.          else
  466.          {
  467.             _loc6_ = "00:00:" + _loc3_;
  468.          }
  469.          _global.C._parent.ScrollMap.Items.Hud.timerMC.time_txt.text = _loc6_;
  470.       }
  471.       else
  472.       {
  473.          _global.S.G_TabSonFade.push(["muzikGame",0,"Out",10]);
  474.          _global.S.StopSound("countDown10");
  475.          _global.S.PlaySound("loose",50,0);
  476.          this.GameOver();
  477.       }
  478.    }
  479.    function UpdateNbLife()
  480.    {
  481.       _global.C._parent.ScrollMap.Items.Hud.NbLife_txt.text = _global.C.G_nbLife;
  482.    }
  483.    function UpdateNbPackages()
  484.    {
  485.       _global.C._parent.ScrollMap.Items.Hud.NbPackages_txt.text = _global.C.G_nbPackagesDone + " / " + _global.C.G_nbPackagesToDo;
  486.    }
  487.    function packageStolen(l_stolen)
  488.    {
  489.       _global.C._parent.ScrollMap.Items.Hud.packageStolen._visible = l_stolen;
  490.    }
  491.    function UpdatePackageDir()
  492.    {
  493.       var _loc6_ = _global.C[_global.C.G_package].GetAttachedTo();
  494.       var _loc4_ = new Number();
  495.       var _loc7_ = _global.C[_loc6_].GetStageCoord();
  496.       var _loc3_ = _global.C[_global.C.G_vehPers].GetStageCoord();
  497.       _loc3_.x -= _loc7_.x;
  498.       _loc3_.y -= _loc7_.y;
  499.       _loc4_ = Math.floor(Math.atan2(_loc3_.y,_loc3_.x) * 57.29577951308232) - 90;
  500.       if(_loc4_ != this.oldDir)
  501.       {
  502.          _global.C._parent.ScrollMap.Items.Hud_Fleche._rotation = _loc4_;
  503.          this.oldDir = _loc4_;
  504.       }
  505.       this.nbFrArrowDist = this.nbFrArrowDist + 1;
  506.       if(this.nbFrArrowDist >= 10)
  507.       {
  508.          this.nbFrArrowDist = 0;
  509.          var _loc5_ = _global.C.utils.GetAbsDistBetweenObj(_global.C[_global.C.G_vehPers],_global.C[_loc6_]);
  510.          if(_loc5_ <= 1000)
  511.          {
  512.             if(this.oldArrowDist > 1000)
  513.             {
  514.                _global.C._parent.ScrollMap.Items.Hud_Fleche.Etat.gotoAndPlay("MtoN");
  515.             }
  516.          }
  517.          else if(_loc5_ > 1000 && _loc5_ <= 3000)
  518.          {
  519.             if(this.oldArrowDist <= 1000)
  520.             {
  521.                _global.C._parent.ScrollMap.Items.Hud_Fleche.Etat.gotoAndPlay("NtoM");
  522.             }
  523.             else if(this.oldArrowDist > 3000)
  524.             {
  525.                _global.C._parent.ScrollMap.Items.Hud_Fleche.Etat.gotoAndPlay("FtoM");
  526.             }
  527.          }
  528.          else if(this.oldArrowDist > 1000 && this.oldArrowDist <= 3000)
  529.          {
  530.             _global.C._parent.ScrollMap.Items.Hud_Fleche.Etat.gotoAndPlay("MtoF");
  531.          }
  532.          else if(this.oldArrowDist <= 1000)
  533.          {
  534.             _global.C._parent.ScrollMap.Items.Hud_Fleche.Etat.gotoAndPlay("NtoF");
  535.          }
  536.          else if(_global.C._parent.ScrollMap.Items.Hud_Fleche.Etat._currentframe < 40)
  537.          {
  538.             _global.C._parent.ScrollMap.Items.Hud_Fleche.Etat.gotoAndPlay("NtoF");
  539.          }
  540.          this.oldArrowDist = _loc5_;
  541.       }
  542.    }
  543.    function UpdatePoints(l_points)
  544.    {
  545.       this.nbPoints += l_points;
  546.       _global.C._parent.ScrollMap.Items.Hud.points_txt.text = this.nbPoints;
  547.    }
  548. }
  549.