Esempio n. 1
0
        // Main - On Tick
        private void onTick(object sender, EventArgs e)
        {
            // Always
            this.handleMessages();
            this.handleSubtitles();
            _iFruit.Update();
            menuPool.ProcessMenus();
            currentPlayerPosition = Game.Player.Character.GetOffsetInWorldCoords(new Vector3(0, 0, 0));

            if (vehicleToReportStolen != null && Game.Player.Character.CurrentVehicle != null &&
                vehicleToReportStolen == Game.Player.Character.CurrentVehicle &&
                Environment.TickCount > reportStolenTick
                )
            {
                Game.Player.Character.CurrentVehicle.IsStolen = true;
                vehicleToReportStolen = null;
                reportStolenTick      = 0;
            }

            if (Game.Player.WantedLevel > 0 && this.wantedVehicleName == null)
            {
                if (
                    Game.Player.Character.CurrentVehicle != null && Game.Player.Character.CurrentVehicle.DisplayName != this.wantedVehicleName)
                {
                    this.wantedVehicleName  = Game.Player.Character.CurrentVehicle.DisplayName;
                    this.wantedVehicleColor = Game.Player.Character.CurrentVehicle.PrimaryColor;
                }
            }
            this.prevWantedLevel = Game.Player.WantedLevel > 0 ? Game.Player.WantedLevel : this.prevWantedLevel;

            // World Management
            foreach (Vehicle vehicle in World.GetNearbyVehicles(Game.Player.Character, 20f))
            {
                if (!eligibleVehicles.Contains(vehicle) && !vehicle.Driver.Exists())
                {
                    vehicle.LockStatus        = VehicleLockStatus.CanBeBrokenInto;
                    vehicle.HasAlarm          = true;
                    vehicle.NeedsToBeHotwired = true;
                }
            }

            // Vehicle Management
            if (Game.Player.Character.IsInVehicle() && !Game.Player.Character.CurrentVehicle.AlarmActive && !Game.Player.Character.CurrentVehicle.EngineRunning)
            {
                Game.Player.Character.CurrentVehicle.LockStatus = VehicleLockStatus.Unlocked;
                Game.Player.Character.CurrentVehicle.StartAlarm();
                vehicleToReportStolen = Game.Player.Character.CurrentVehicle;
                reportStolenTick      = Environment.TickCount + 120000;
            }
            if (Utility.IsPlayerDriving())
            {
                vehicleOnTickUpdates();
            }
            if (Game.Player.Character.IsInVehicle())
            {
                Game.Player.Character.CurrentVehicle.HandbrakeOn = shouldDisableVehicle();
            }
            if (Game.Player.Character.IsJacking)
            {
                Game.Player.Character.GetVehicleIsTryingToEnter().IsStolen = true;
            }

            // Staging
            if (StageConditions.isReadyForNewJob(currentStageAction, newJobStartTick))
            {
                createNewJob();
            }
            if (isCloseToCurrentStageLocation())
            {
                closeToStageLocationActions();
            }
            if (isAtCurrentStageLocation())
            {
                nextStage();
            }
            if (shouldSpawnCrew())
            {
                foreach (CrewMember crewMember in Crew.Crew.SpawnCrew(this, currentJob.locationSet))
                {
                    currentCrew.Add(crewMember);
                }
            }
            if (StageConditions.isStageCloseSuccessReady(currentStageAction, currentStageLocation, currentPlayerPosition))
            {
                stageCloseSuccess();
            }
            if (StageConditions.isStageCloseFailReady(currentStageAction))
            {
                stageCloseFail();
            }
            if (Utility.IsPlayerDeadOrBusted() && currentStageAction != Jobs.Stage.NONE)
            {
                resetAll();
            }

            // Cop Mechanics
            Game.ShowsPoliceBlipsOnRadar = showPoliceOnMap;

            currentCops = new List <Cop>();
            foreach (Ped cop in World.GetNearbyPeds(currentPlayerPosition, 100f).Where(x => x.RelationshipGroup.GetHashCode() == -1533126372))
            {
                currentCops.Add(new Cop(this, cop));
            }

            // Subclass Onticks
            foreach (CrewMember crewMember in currentCrew)
            {
                crewMember.onTick();
            }
            foreach (Cop cop in currentCops)
            {
                if (cop.ped.Exists())
                {
                    cop.onTick();
                }
            }
        }
Esempio n. 2
0
 public void Update()
 {
     phone.Update();
 }
Esempio n. 3
0
 void OnTick(object sender, EventArgs e)
 {
     ifruit.Update();
 }