Exemple #1
0
        // Token: 0x0600191B RID: 6427 RVA: 0x0002CCD4 File Offset: 0x0002BCD4
        public void OnUpdate(EntrantInfo entrant, Event evnt, float dt)
        {
            PursuitScoringState pursuitScoringState = entrant.ScoringState as PursuitScoringState;

            if (pursuitScoringState != null)
            {
                float speed = entrant.Opponent.Vehicle.GetSpeed();
                if (speed > pursuitScoringState.TopSpeed)
                {
                    pursuitScoringState.TopSpeed = speed;
                }
                if (entrant.Opponent.Vehicle.GetCurrentAirborneTime() > pursuitScoringState.LongestAirTimeInSeconds)
                {
                    pursuitScoringState.LongestAirTimeInSeconds = entrant.Opponent.Vehicle.GetCurrentAirborneTime();
                }
                if (entrant.Opponent.Vehicle.GetNumWheelsOnGround() == 0)
                {
                    pursuitScoringState.SumAirTimeInSeconds += dt;
                }
                LocalHumanOpponent localHumanOpponent = entrant.Opponent as LocalHumanOpponent;
                if (localHumanOpponent != null)
                {
                    PursuitInfo pursuitData = localHumanOpponent.PursuitData;
                    pursuitScoringState.Heat                        = Cops.GetPursuitHeat();
                    pursuitScoringState.CopsDisabled                = pursuitData.GetNumCopsDisabled();
                    pursuitScoringState.CopsRammed                  = pursuitData.GetNumCopsRammed();
                    pursuitScoringState.CopsDeployed                = pursuitData.GetNumCopsDeployed();
                    pursuitScoringState.CostToState                 = pursuitData.GetCostToState();
                    pursuitScoringState.SpikeStripsDodged           = pursuitData.GetSpikeStripsDodged();
                    pursuitScoringState.RoadBlocksDodged            = pursuitData.GetRoadBlocksDodged();
                    pursuitScoringState.Infractions                 = pursuitData.GetInfractions();
                    pursuitScoringState.EventDurationInMilliseconds = pursuitData.GetPursuitDuration();
                }
            }
        }
        // Token: 0x06001997 RID: 6551 RVA: 0x0002E398 File Offset: 0x0002D398
        public virtual void OnUpdate(EntrantInfo entrant, Event evnt, float dt)
        {
            TeamEscapeScoringState teamEscapeScoringState = entrant.ScoringState as TeamEscapeScoringState;
            InstancedEvent         instancedEvent         = evnt as InstancedEvent;

            if (teamEscapeScoringState != null)
            {
                teamEscapeScoringState.FractionCompleted   = this.GetFractionCompleted(teamEscapeScoringState, entrant, instancedEvent);
                teamEscapeScoringState.DistanceToStartLine = instancedEvent.GetDistanceToStartLine(entrant.Opponent.Vehicle);
                teamEscapeScoringState.DistanceToFinish    = this.GetDistanceToFinish(teamEscapeScoringState, entrant, instancedEvent);
                if (!instancedEvent.IsTimingOut)
                {
                    teamEscapeScoringState.TimeRemaining = evnt.EventDef.TimeLimit() - entrant.ScoringState.EventDurationInSeconds;
                }
                else
                {
                    teamEscapeScoringState.TimeRemaining = (float)instancedEvent.TimingOutRemaining.TotalSeconds;
                }
                if (!teamEscapeScoringState.IsTimerUrgent && teamEscapeScoringState.TimeRemaining < evnt.EventDef.TimeLimitWarning())
                {
                    teamEscapeScoringState.IsTimerUrgent = true;
                    new OnTimingOut(entrant.PersonaId).Post(Ports.Gameplay);
                }
                float speed = entrant.Opponent.Vehicle.GetSpeed();
                if (speed > teamEscapeScoringState.TopSpeed)
                {
                    teamEscapeScoringState.TopSpeed = speed;
                }
                if (entrant.Opponent.Vehicle.GetCurrentAirborneTime() > teamEscapeScoringState.LongestAirTimeInSeconds)
                {
                    teamEscapeScoringState.LongestAirTimeInSeconds = entrant.Opponent.Vehicle.GetCurrentAirborneTime();
                }
                if (entrant.Opponent.InternalOpponent.GetNumOpponentsCollidedWith() > teamEscapeScoringState.NumOpponentsTagged)
                {
                    teamEscapeScoringState.NumOpponentsTagged = entrant.Opponent.InternalOpponent.GetNumOpponentsCollidedWith();
                }
                if (entrant.Opponent is LocalHumanOpponent)
                {
                    Screen.Print(-300, 120, string.Format("{0} : {1}", entrant.Opponent.OpponentName, teamEscapeScoringState.FractionCompleted));
                }
                entrant.Opponent.InternalOpponent.SetFractionEventComplete(teamEscapeScoringState.FractionCompleted);
                LocalHumanOpponent localHumanOpponent = entrant.Opponent as LocalHumanOpponent;
                if (localHumanOpponent != null)
                {
                    PursuitInfo pursuitData = localHumanOpponent.PursuitData;
                    teamEscapeScoringState.CopsDisabled      = pursuitData.GetNumCopsDisabled();
                    teamEscapeScoringState.CopsRammed        = pursuitData.GetNumCopsRammed();
                    teamEscapeScoringState.CopsDeployed      = pursuitData.GetNumCopsDeployed();
                    teamEscapeScoringState.CostToState       = pursuitData.GetCostToState();
                    teamEscapeScoringState.SpikeStripsDodged = pursuitData.GetSpikeStripsDodged();
                    teamEscapeScoringState.RoadBlocksDodged  = pursuitData.GetRoadBlocksDodged();
                    teamEscapeScoringState.Infractions       = pursuitData.GetInfractions();
                    pursuitData.HACK_SetPursuitMeter(teamEscapeScoringState.PursuitBar);
                }
            }
        }