// Token: 0x06001947 RID: 6471 RVA: 0x0002D328 File Offset: 0x0002C328 public void Fill(ArbitratedPacket arbitratedPacket, EntrantInfo entrant) { RouteArbitratedPacket routeArbitratedPacket = arbitratedPacket as RouteArbitratedPacket; RouteScoringState routeScoringState = entrant.ScoringState as RouteScoringState; if (routeScoringState != null && null != routeArbitratedPacket) { RouteEntrantArbitratedPacket routeEntrantArbitratedPacket = routeArbitratedPacket.CreateEntrantArbitratedPacket(); Marshal.Get().FillFEPlayerPersona(entrant.PersonaId, routeEntrantArbitratedPacket); routeEntrantArbitratedPacket.PersonaId = entrant.PersonaId; routeEntrantArbitratedPacket.SetPersonaName(entrant.Opponent.OpponentName); routeEntrantArbitratedPacket.SetMotto(entrant.Opponent.Motto); routeEntrantArbitratedPacket.HasArbitrated = routeScoringState.HasArbitrated; routeEntrantArbitratedPacket.FinishReason = routeScoringState.FinishReason; routeEntrantArbitratedPacket.Rank = routeScoringState.Rank; routeEntrantArbitratedPacket.Level = routeScoringState.Level; routeEntrantArbitratedPacket.IconIndex = (long)((ulong)entrant.Opponent.IconIndex); routeEntrantArbitratedPacket.IsLocal = (entrant.Opponent is LocalHumanOpponent); routeEntrantArbitratedPacket.EventDuration = routeScoringState.EventDurationInSeconds; Powerups.FillEntrantArbitratedPacket(routeEntrantArbitratedPacket); entrant.Opponent.FillCarData(routeEntrantArbitratedPacket.GetCarData()); routeEntrantArbitratedPacket.BestLapDuration = routeScoringState.BestLapDurationInSeconds; routeEntrantArbitratedPacket.TopSpeed = routeScoringState.TopSpeed; } }
// Token: 0x06001993 RID: 6547 RVA: 0x0002E1B4 File Offset: 0x0002D1B4 public void Fill(ArbitratedPacket arbitratedPacket, EntrantInfo entrant) { TeamEscapeArbitratedPacket teamEscapeArbitratedPacket = arbitratedPacket as TeamEscapeArbitratedPacket; TeamEscapeScoringState teamEscapeScoringState = entrant.ScoringState as TeamEscapeScoringState; if (null != teamEscapeArbitratedPacket && teamEscapeScoringState != null) { TeamEscapeEntrantArbitratedPacket teamEscapeEntrantArbitratedPacket = teamEscapeArbitratedPacket.CreateEntrantArbitratedPacket(); Marshal.Get().FillFEPlayerPersona(entrant.PersonaId, teamEscapeEntrantArbitratedPacket); teamEscapeEntrantArbitratedPacket.PersonaId = entrant.PersonaId; teamEscapeEntrantArbitratedPacket.SetPersonaName(entrant.Opponent.OpponentName); teamEscapeEntrantArbitratedPacket.SetMotto(entrant.Opponent.Motto); teamEscapeEntrantArbitratedPacket.HasArbitrated = teamEscapeScoringState.HasArbitrated; teamEscapeEntrantArbitratedPacket.FinishReason = teamEscapeScoringState.FinishReason; teamEscapeEntrantArbitratedPacket.Rank = teamEscapeScoringState.Rank; teamEscapeEntrantArbitratedPacket.Level = teamEscapeScoringState.Level; teamEscapeEntrantArbitratedPacket.IconIndex = (long)((ulong)entrant.Opponent.IconIndex); teamEscapeEntrantArbitratedPacket.IsLocal = (entrant.Opponent is LocalHumanOpponent); teamEscapeEntrantArbitratedPacket.EventDuration = teamEscapeScoringState.EventDurationInSeconds; Powerups.FillEntrantArbitratedPacket(teamEscapeEntrantArbitratedPacket); entrant.Opponent.FillCarData(teamEscapeEntrantArbitratedPacket.GetCarData()); teamEscapeEntrantArbitratedPacket.DistanceToFinish = teamEscapeScoringState.DistanceToFinish; teamEscapeEntrantArbitratedPacket.Strikes = teamEscapeScoringState.Busts; teamEscapeArbitratedPacket.Strikes += teamEscapeScoringState.Busts; teamEscapeArbitratedPacket.EventDuration = ((teamEscapeScoringState.EventDurationInSeconds > teamEscapeArbitratedPacket.EventDuration) ? teamEscapeScoringState.EventDurationInSeconds : teamEscapeArbitratedPacket.EventDuration); } }
// Token: 0x06001990 RID: 6544 RVA: 0x0002E090 File Offset: 0x0002D090 public void Fill(LivePacket livePacket, EntrantInfo entrant) { TeamEscapeLivePacket teamEscapeLivePacket = livePacket as TeamEscapeLivePacket; TeamEscapeScoringState teamEscapeScoringState = entrant.ScoringState as TeamEscapeScoringState; if (null != teamEscapeLivePacket && teamEscapeScoringState != null) { TeamEscapeEntrantLivePacket teamEscapeEntrantLivePacket = teamEscapeLivePacket.CreateEntrantLivePacket(); teamEscapeEntrantLivePacket.PersonaId = entrant.PersonaId; teamEscapeEntrantLivePacket.SetPersonaName(entrant.Opponent.OpponentName); teamEscapeEntrantLivePacket.FinishReason = teamEscapeScoringState.FinishReason; teamEscapeEntrantLivePacket.Rank = teamEscapeScoringState.Rank; teamEscapeEntrantLivePacket.IsLocal = (entrant.Opponent is LocalHumanOpponent); teamEscapeEntrantLivePacket.Highlight = teamEscapeScoringState.Highlight; teamEscapeEntrantLivePacket.DistanceToFinish = teamEscapeScoringState.DistanceToFinish; teamEscapeEntrantLivePacket.SetDistanceToFinishString(FormatUtils.FormatDistance(teamEscapeScoringState.DistanceToFinish)); teamEscapeLivePacket.NumBusts += teamEscapeScoringState.Busts; if (teamEscapeEntrantLivePacket.IsLocal) { System.TimeSpan span = System.TimeSpan.FromSeconds((double)teamEscapeScoringState.TimeRemaining); span.Fill(teamEscapeLivePacket.GetEventTimer()); teamEscapeLivePacket.IsTimerUrgent = teamEscapeScoringState.IsTimerUrgent; } } }
// Token: 0x060019A0 RID: 6560 RVA: 0x0002EA54 File Offset: 0x0002DA54 public EventResult Arbitrated(Event evnt, XmlString xmlString) { InstancedEvent instancedEvent = evnt as InstancedEvent; TeamEscapeEventResult teamEscapeEventResult; if (XSD2CPP.ReadTeamEscapeEventResult(xmlString, out teamEscapeEventResult) && teamEscapeEventResult.EventSessionId == instancedEvent.EventSessionId) { foreach (TeamEscapeEntrantResult teamEscapeEntrantResult in teamEscapeEventResult.Entrants) { EntrantInfo entrantInfo = evnt.FindEntrant(teamEscapeEntrantResult.PersonaId); if (entrantInfo != null) { TeamEscapeScoringState teamEscapeScoringState = entrantInfo.ScoringState as TeamEscapeScoringState; if (teamEscapeScoringState != null && !teamEscapeScoringState.HasArbitrated && teamEscapeEntrantResult.FinishReason != 0) { teamEscapeScoringState.HasArbitrated = true; teamEscapeScoringState.FinishReason = (FinishReason)teamEscapeEntrantResult.FinishReason; teamEscapeScoringState.EventDurationInMilliseconds = teamEscapeEntrantResult.EventDurationInMilliseconds; teamEscapeScoringState.FractionCompleted = teamEscapeEntrantResult.FractionCompleted; teamEscapeScoringState.DistanceToFinish = teamEscapeEntrantResult.DistanceToFinish; teamEscapeScoringState.Rank = teamEscapeEntrantResult.Ranking; } } } Marshal.Get().SetLocalPlayersDurability(teamEscapeEventResult.Durability); return(teamEscapeEventResult); } return(null); }
// Token: 0x060018A0 RID: 6304 RVA: 0x0002BBA0 File Offset: 0x0002ABA0 public RoutingState HitTrigger(InstancedEvent evnt, EntrantInfo entrant, RoutingState s) { CircuitRoutingState circuitRoutingState = s as CircuitRoutingState; if (circuitRoutingState != null) { if (circuitRoutingState.NextIndex >= evnt.Route.Count) { circuitRoutingState.Lap++; RouteScoringMethod routeScoringMethod = evnt.ScoringMethod as RouteScoringMethod; if (routeScoringMethod != null) { routeScoringMethod.OnLapCompleted(entrant, evnt, circuitRoutingState.Lap); } if (circuitRoutingState.Lap >= evnt.NumLaps) { circuitRoutingState.CurrentTarget = null; circuitRoutingState.IsRoutingFinished = true; return(circuitRoutingState); } circuitRoutingState.NextIndex = 0; } circuitRoutingState.CurrentTarget = evnt.Route[circuitRoutingState.NextIndex++]; return(circuitRoutingState); } s.CurrentTarget = null; s.IsRoutingFinished = true; return(s); }
// Token: 0x0600199F RID: 6559 RVA: 0x0002E93C File Offset: 0x0002D93C public ArbitrationPacket FillArbitrationRecord(EntrantInfo entrant) { TeamEscapeScoringState teamEscapeScoringState = entrant.ScoringState as TeamEscapeScoringState; if (teamEscapeScoringState != null) { return(new TeamEscapeArbitrationPacket { Rank = teamEscapeScoringState.Rank, EventDurationInMilliseconds = teamEscapeScoringState.EventDurationInMilliseconds, AlternateEventDurationInMilliseconds = teamEscapeScoringState.SecureEventDurationInMilliseconds, HacksDetected = SecurityManager.GetHacks(), FinishReason = (int)teamEscapeScoringState.FinishReason, FractionCompleted = teamEscapeScoringState.FractionCompleted, TopSpeed = teamEscapeScoringState.TopSpeed, LongestJumpDurationInMilliseconds = teamEscapeScoringState.LongestAirTimeInMilliseconds, SumOfJumpsDurationInMilliseconds = teamEscapeScoringState.SumAirTimeInMilliseconds, PerfectStart = (int)teamEscapeScoringState.PerfectStart, NumberOfCollisions = teamEscapeScoringState.NumOpponentsTagged, BustedCount = teamEscapeScoringState.Busts, DistanceToFinish = teamEscapeScoringState.DistanceToFinish, CopsDeployed = teamEscapeScoringState.CopsDeployed, CopsDisabled = teamEscapeScoringState.CopsDisabled, CopsRammed = teamEscapeScoringState.CopsRammed, CostToState = teamEscapeScoringState.CostToState, Infractions = teamEscapeScoringState.Infractions, RoadBlocksDodged = teamEscapeScoringState.RoadBlocksDodged, SpikeStripsDodged = teamEscapeScoringState.SpikeStripsDodged }); } return(null); }
// Token: 0x060018D2 RID: 6354 RVA: 0x0002C58C File Offset: 0x0002B58C public EventResult Arbitrated(Event evnt, XmlString xmlString) { InstancedEvent instancedEvent = evnt as InstancedEvent; DragEventResult dragEventResult; if (XSD2CPP.ReadDragEventResult(xmlString, out dragEventResult) && dragEventResult.EventSessionId == instancedEvent.EventSessionId) { foreach (DragEntrantResult dragEntrantResult in dragEventResult.Entrants) { if (dragEntrantResult.FinishReason != 0) { EntrantInfo entrantInfo = evnt.FindEntrant(dragEntrantResult.PersonaId); if (entrantInfo != null) { DragScoringState dragScoringState = entrantInfo.ScoringState as DragScoringState; if (dragScoringState != null && !dragScoringState.HasArbitrated) { dragScoringState.HasArbitrated = true; dragScoringState.FinishReason = (FinishReason)dragEntrantResult.FinishReason; dragScoringState.EventDurationInMilliseconds = dragEntrantResult.EventDurationInMilliseconds; dragScoringState.Rank = dragEntrantResult.Ranking; dragScoringState.TopSpeed = dragEntrantResult.TopSpeed; } } } } Marshal.Get().SetLocalPlayersDurability(dragEventResult.Durability); return(dragEventResult); } return(null); }
// Token: 0x06001920 RID: 6432 RVA: 0x0002CED8 File Offset: 0x0002BED8 public EventResult Arbitrated(Event evnt, XmlString xmlString) { InstancedEvent instancedEvent = evnt as InstancedEvent; PursuitEventResult pursuitEventResult; if (!XSD2CPP.ReadPursuitEventResult(xmlString, out pursuitEventResult) || pursuitEventResult.EventSessionId != instancedEvent.EventSessionId) { return(null); } EntrantInfo entrantInfo = evnt.FindEntrant(pursuitEventResult.PersonaId); if (entrantInfo == null) { return(null); } LocalHumanOpponent localHumanOpponent = entrantInfo.Opponent as LocalHumanOpponent; if (localHumanOpponent != null) { localHumanOpponent.Heat = pursuitEventResult.Heat; } PursuitScoringState pursuitScoringState = entrantInfo.ScoringState as PursuitScoringState; if (pursuitScoringState != null) { pursuitScoringState.HasArbitrated = true; } Marshal.Get().SetLocalPlayersDurability(pursuitEventResult.Durability); return(pursuitEventResult); }
// 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: 0x0600191E RID: 6430 RVA: 0x0002CDE8 File Offset: 0x0002BDE8 public ArbitrationPacket FillArbitrationRecord(EntrantInfo entrant) { PursuitScoringState pursuitScoringState = entrant.ScoringState as PursuitScoringState; if (pursuitScoringState != null) { return(new PursuitArbitrationPacket { Rank = pursuitScoringState.Rank, EventDurationInMilliseconds = pursuitScoringState.EventDurationInMilliseconds, AlternateEventDurationInMilliseconds = pursuitScoringState.SecureEventDurationInMilliseconds, HacksDetected = SecurityManager.GetHacks(), FinishReason = (int)pursuitScoringState.FinishReason, TopSpeed = pursuitScoringState.TopSpeed, LongestJumpDurationInMilliseconds = pursuitScoringState.LongestAirTimeInMilliseconds, SumOfJumpsDurationInMilliseconds = pursuitScoringState.SumAirTimeInMilliseconds, CopsDeployed = pursuitScoringState.CopsDeployed, CopsDisabled = pursuitScoringState.CopsDisabled, CopsRammed = pursuitScoringState.CopsRammed, CostToState = pursuitScoringState.CostToState, Heat = pursuitScoringState.Heat, Infractions = pursuitScoringState.Infractions, RoadBlocksDodged = pursuitScoringState.RoadBlocksDodged, SpikeStripsDodged = pursuitScoringState.SpikeStripsDodged }); } return(null); }
// Token: 0x060018CD RID: 6349 RVA: 0x0002C257 File Offset: 0x0002B257 public virtual void OnRoutingFinished(EntrantInfo entrant) { if (entrant.Opponent is LocalOpponent) { entrant.ScoringState.FinishReason = FinishReason.CrossedFinish; } }
// Token: 0x060018CA RID: 6346 RVA: 0x0002C0DC File Offset: 0x0002B0DC public virtual void OnUpdate(EntrantInfo entrant, Event evnt, float dt) { InstancedEvent instancedEvent = evnt as InstancedEvent; DragScoringState dragScoringState = entrant.ScoringState as DragScoringState; if (dragScoringState != null) { dragScoringState.FractionCompleted = this.GetFractionCompleted(dragScoringState, entrant, instancedEvent); dragScoringState.DistanceToStartLine = instancedEvent.GetDistanceToStartLine(entrant.Opponent.Vehicle); float speed = entrant.Opponent.Vehicle.GetSpeed(); if (speed > dragScoringState.TopSpeed) { dragScoringState.TopSpeed = speed; } if (entrant.Opponent.Vehicle.GetCurrentAirborneTime() > dragScoringState.LongestAirTimeInSeconds) { dragScoringState.LongestAirTimeInSeconds = entrant.Opponent.Vehicle.GetCurrentAirborneTime(); } if (entrant.Opponent.Vehicle.GetNumWheelsOnGround() == 0) { dragScoringState.SumAirTimeInSeconds += dt; } if (entrant.Opponent.InternalOpponent.GetNumOpponentsCollidedWith() > dragScoringState.NumOpponentsTagged) { dragScoringState.NumOpponentsTagged = entrant.Opponent.InternalOpponent.GetNumOpponentsCollidedWith(); } entrant.Opponent.InternalOpponent.SetFractionEventComplete(dragScoringState.FractionCompleted); } }
// Token: 0x06001496 RID: 5270 RVA: 0x00022504 File Offset: 0x00021504 protected override void OnMessage(OnTriggerEnter message) { Collection collection = new Collection(message.TriggerKey); if (collection.IsDerivedFrom(3085914478u)) { if (this.fired.ContainsKey(collection.GetCollection())) { if (collection.DelayInterval() < 0f) { return; } if (TimeSpan.FromMilliseconds(Simulation.GetTickDifference(this.fired[collection.GetCollection()])).TotalSeconds < (double)collection.DelayInterval()) { return; } } uint key = collection.ScriptAction().GetKey(); IScript script = null; if (!this.scripts.TryGetValue(key, out script)) { script = Activator.CreateInstance <IScript>(key); this.scripts.Add(key, script); } if (script != null) { EntrantInfo entrantInfo = base.Event.FindEntrant(message.PersonaId); if (entrantInfo != null) { script.Execute(base.Event, entrantInfo, collection); this.fired[collection.GetCollection()] = Simulation.GetTick(); } } } }
// Token: 0x06001954 RID: 6484 RVA: 0x0002DAB8 File Offset: 0x0002CAB8 public EventResult Arbitrated(Event evnt, XmlString xmlString) { InstancedEvent instancedEvent = evnt as InstancedEvent; RouteEventResult routeEventResult; if (XSD2CPP.ReadRouteEventResult(xmlString, out routeEventResult) && routeEventResult.EventSessionId == instancedEvent.EventSessionId) { foreach (RouteEntrantResult routeEntrantResult in routeEventResult.Entrants) { EntrantInfo entrantInfo = evnt.FindEntrant(routeEntrantResult.PersonaId); if (entrantInfo != null) { RouteScoringState routeScoringState = entrantInfo.ScoringState as RouteScoringState; if (routeScoringState != null && !routeScoringState.HasArbitrated) { routeScoringState.HasArbitrated = true; routeScoringState.FinishReason = (FinishReason)routeEntrantResult.FinishReason; routeScoringState.EventDurationInMilliseconds = routeEntrantResult.EventDurationInMilliseconds; routeScoringState.Rank = routeEntrantResult.Ranking; routeScoringState.TopSpeed = routeEntrantResult.TopSpeed; routeScoringState.BestLapDurationInMilliseconds = routeEntrantResult.BestLapDurationInMilliseconds; } } } Marshal.Get().SetLocalPlayersDurability(routeEventResult.Durability); return(routeEventResult); } return(null); }
// Token: 0x06001917 RID: 6423 RVA: 0x0002CB2C File Offset: 0x0002BB2C public void Fill(ArbitratedPacket arbitratedPacket, EntrantInfo entrant) { PursuitArbitratedPacket pursuitArbitratedPacket = arbitratedPacket as PursuitArbitratedPacket; PursuitScoringState pursuitScoringState = entrant.ScoringState as PursuitScoringState; if (pursuitScoringState != null && null != pursuitArbitratedPacket) { PursuitEntrantArbitratedPacket pursuitEntrantArbitratedPacket = pursuitArbitratedPacket.CreateEntrantArbitratedPacket(); Marshal.Get().FillFEPlayerPersona(entrant.PersonaId, pursuitEntrantArbitratedPacket); pursuitEntrantArbitratedPacket.PersonaId = entrant.PersonaId; pursuitEntrantArbitratedPacket.SetPersonaName(entrant.Opponent.OpponentName); pursuitEntrantArbitratedPacket.SetMotto(entrant.Opponent.Motto); pursuitEntrantArbitratedPacket.HasArbitrated = pursuitScoringState.HasArbitrated; pursuitEntrantArbitratedPacket.FinishReason = pursuitScoringState.FinishReason; pursuitEntrantArbitratedPacket.Rank = pursuitScoringState.Rank; pursuitEntrantArbitratedPacket.Level = pursuitScoringState.Level; pursuitEntrantArbitratedPacket.IconIndex = (long)((ulong)entrant.Opponent.IconIndex); pursuitEntrantArbitratedPacket.IsLocal = (entrant.Opponent is LocalHumanOpponent); pursuitEntrantArbitratedPacket.EventDuration = pursuitScoringState.EventDurationInSeconds; Powerups.FillEntrantArbitratedPacket(pursuitEntrantArbitratedPacket); entrant.Opponent.FillCarData(pursuitEntrantArbitratedPacket.GetCarData()); pursuitEntrantArbitratedPacket.LongestJumpDuration = pursuitScoringState.LongestAirTimeInSeconds; pursuitEntrantArbitratedPacket.TopSpeed = pursuitScoringState.TopSpeed; pursuitEntrantArbitratedPacket.CopsDeployed = pursuitScoringState.CopsDeployed; pursuitEntrantArbitratedPacket.CopsDisabled = pursuitScoringState.CopsDisabled; pursuitEntrantArbitratedPacket.CopsRammed = pursuitScoringState.CopsRammed; pursuitEntrantArbitratedPacket.CostToState = pursuitScoringState.CostToState; pursuitEntrantArbitratedPacket.Heat = pursuitScoringState.Heat; pursuitEntrantArbitratedPacket.Infractions = pursuitScoringState.Infractions; pursuitEntrantArbitratedPacket.RoadBlocksDodged = pursuitScoringState.RoadBlocksDodged; pursuitEntrantArbitratedPacket.SpikeStripsDodged = pursuitScoringState.SpikeStripsDodged; } }
// Token: 0x06001447 RID: 5191 RVA: 0x00021410 File Offset: 0x00020410 protected override void OnMessage(OnGearShift message) { EntrantInfo entrantInfo = base.Event.FindEntrant(message.PersonaId); if (entrantInfo != null) { if (entrantInfo.Opponent is LocalHumanOpponent) { switch (message.ShiftStatus) { case ShiftPotential.SHIFT_POTENTIAL_GOOD: FlasherManager.Get().EnqueueFlasher(new FlasherBase(2103729003u)); break; case ShiftPotential.SHIFT_POTENTIAL_PERFECT: FlasherManager.Get().EnqueueFlasher(new FlasherBase(2156820684u)); break; case ShiftPotential.SHIFT_POTENTIAL_OVERREV: FlasherManager.Get().EnqueueFlasher(new FlasherBase(3187619114u)); Audio.PlaySound("DRAGRACE_OVERREV"); Audio.SendMixTrigger("DRAGMODE_OVERREV", -1); break; } } if (message.ShiftStatus == ShiftPotential.SHIFT_POTENTIAL_PERFECT) { entrantInfo.Opponent.Vehicle.PerfectShift(0.4f, 1f); } } }
// Token: 0x06001322 RID: 4898 RVA: 0x0001B710 File Offset: 0x0001A710 public Countdown(InstancedEvent evnt, EntrantInfo entrant) { LocalHumanOpponent localHumanOpponent = entrant.Opponent as LocalHumanOpponent; if (localHumanOpponent != null) { FlasherBase flasher = new FlasherBase(1031321970u); FlasherBase flasher2 = new FlasherBase(2997328623u); FlasherBase flasher3 = new FlasherBase(3512998001u); FlasherBase flasher4 = new FlasherBase(2140919479u); FlasherBase flasher5 = new FlasherBase(2926395083u); base.Activities.Add(new DisplayFlasher(evnt, entrant, flasher, false)); if (evnt.ConnectionSupport == ConnectionSupport.kConnectionOnline) { base.Activities.Add(new ReadySync(0.0166666675f)); } else { base.Activities.Add(new Timer(new InArgument <float>(() => 3f))); } base.Activities.Add(new RemoveFlasher(evnt, entrant, flasher)); base.Activities.Add(new DisplayFlasher(evnt, entrant, flasher2, false)); base.Activities.Add(new Timer(new InArgument <float>(() => 1f))); base.Activities.Add(new RemoveFlasher(evnt, entrant, flasher2)); base.Activities.Add(new DisplayFlasher(evnt, entrant, flasher3, false)); base.Activities.Add(new Timer(new InArgument <float>(() => 1f))); base.Activities.Add(new RemoveFlasher(evnt, entrant, flasher3)); base.Activities.Add(new DisplayFlasher(evnt, entrant, flasher4, false)); base.Activities.Add(new Timer(new InArgument <float>(() => 1f))); base.Activities.Add(new RemoveFlasher(evnt, entrant, flasher4)); base.Activities.Add(new DisplayFlasher(evnt, entrant, flasher5, false)); } }
// Token: 0x0600194E RID: 6478 RVA: 0x0002D6F0 File Offset: 0x0002C6F0 protected virtual float GetFractionLapCompleted(RouteScoringState state, EntrantInfo entrant, InstancedEvent evnt) { float num = evnt.TrackLayout.GetLapStartToVehicleDistance(entrant.Opponent.Vehicle); float lapLength = evnt.TrackLayout.GetLapLength(state.CurrentLap); num = Math.Max(num, 0f); return(Math.Min(num / lapLength, 1f)); }
// Token: 0x0600194F RID: 6479 RVA: 0x0002D73F File Offset: 0x0002C73F public virtual void OnRoutingFinished(EntrantInfo entrant) { Console.WriteLine("CS: {0} has finished routing.", entrant.Opponent.OpponentName); if (entrant.Opponent is LocalOpponent) { entrant.ScoringState.FinishReason = FinishReason.CrossedFinish; } }
// Token: 0x06001385 RID: 4997 RVA: 0x0001C47C File Offset: 0x0001B47C public PostEventScreen(Event evnt, EntrantInfo entrant, uint port) : base(evnt, entrant, port) { LocalHumanOpponent localHumanOpponent = base.Entrant.Opponent as LocalHumanOpponent; if (localHumanOpponent != null) { base.Event.CreateArbitratedPacket(); } }
// Token: 0x0600137B RID: 4987 RVA: 0x0001C27C File Offset: 0x0001B27C public NavigateToGPSUpdater(InstancedEvent @event, EntrantInfo entrant, uint port) : base(@event, entrant, port) { this.currentTrigger = 0; this.useGPS = base.Event.EventDef.GPSArrow(); if (this.useGPS) { NavigateTo.NavigatePlayerTo(base.InstancedEvent.Route[this.currentTrigger].Position, Vector3.kZero, 0f, true, false, true); } }
// Token: 0x06001471 RID: 5233 RVA: 0x00021D18 File Offset: 0x00020D18 protected override void OnMessage(OnPerfectLaunchAchieved message) { EntrantInfo entrantInfo = base.Event.FindEntrant(message.PersonaId); if (entrantInfo != null) { entrantInfo.Opponent.Vehicle.PerfectLaunch(message.Duration, message.Torque); } }
// 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); } } }
// Token: 0x06001319 RID: 4889 RVA: 0x0001B5DC File Offset: 0x0001A5DC protected internal override void Execute(ActivityExecutionContext context) { EntrantInfo entrantInfo = base.Event.Entrants.Find((EntrantInfo t) => t.PersonaId == this.personaId.Value); if (entrantInfo == null) { return; } entrantInfo.RoutingState.CopyTo(base.Entrant.RoutingState); }
// Token: 0x0600198D RID: 6541 RVA: 0x0002E024 File Offset: 0x0002D024 public void Fill(PursuitInfo pursuitPacket, EntrantInfo entrant) { TeamEscapeScoringState teamEscapeScoringState = entrant.ScoringState as TeamEscapeScoringState; if (teamEscapeScoringState != null) { pursuitPacket.PursuitStatus = teamEscapeScoringState.PursuitBar; pursuitPacket.NumCopsEngaged = (uint)teamEscapeScoringState.CopsDeployed; } }
// Token: 0x060018D4 RID: 6356 RVA: 0x0002C6FC File Offset: 0x0002B6FC public bool IsPowerupRestricted(Restriction restriction, EntrantInfo entrantInfo, Event evnt) { if (entrantInfo == null) { return(true); } LocalHumanOpponent localHumanOpponent = entrantInfo.Opponent as LocalHumanOpponent; DragScoringState dragScoringState = entrantInfo.ScoringState as DragScoringState; if (dragScoringState == null) { return(true); } if (dragScoringState.EventDurationInSeconds < evnt.EventDef.PowerupBlackoutAtEventStart() && localHumanOpponent != null && !this.IsJumpStartActive(entrantInfo, evnt)) { return(true); } switch (restriction) { case Restriction.kPowerupRestriction_NobodyHasFinishedEvent: foreach (EntrantInfo entrantInfo2 in evnt.Entrants) { DragScoringState dragScoringState2 = entrantInfo2.ScoringState as DragScoringState; if (dragScoringState2 != null && dragScoringState2.FractionCompleted > 0.95f) { return(true); } } break; case Restriction.kPowerupRestriction_IAmNotInFirstPlace: { if (dragScoringState.Rank == 1) { return(true); } int num = 999; foreach (EntrantInfo entrantInfo3 in evnt.Entrants) { bool flag = entrantInfo3.Opponent.IsStatus(OpponentStatus.kOpponent_Disconnected); RouteScoringState routeScoringState = entrantInfo3.ScoringState as RouteScoringState; if (routeScoringState != null && routeScoringState.FinishReason == FinishReason.Unknown && !flag && routeScoringState.Rank < num) { num = routeScoringState.Rank; } } if (num == dragScoringState.Rank) { return(true); } break; } } return(false); }
// Token: 0x060019C7 RID: 6599 RVA: 0x0002F06F File Offset: 0x0002E06F public void Execute(Event evnt, EntrantInfo entrant, Collection trigger) { if (entrant == null || !(entrant.Opponent is LocalHumanOpponent)) { return; } if (trigger.IsDerivedFrom(450779598u)) { Cops.CreateRhinos(trigger.Distance(), trigger.NumRhinos()); } }
// Token: 0x06001994 RID: 6548 RVA: 0x0002E2F4 File Offset: 0x0002D2F4 public virtual ScoringState Prepare(EntrantInfo entrant, Event evnt) { TeamEscapeScoringState teamEscapeScoringState = new TeamEscapeScoringState(); if (!(entrant.Opponent is LocalHumanOpponent)) { teamEscapeScoringState.TrackerEntity = TrackerManager.Get().CreateEntity(entrant.Opponent); TrackerManager.Get().AddEntity(teamEscapeScoringState.TrackerEntity); } return(teamEscapeScoringState); }
// Token: 0x060018CC RID: 6348 RVA: 0x0002C1E0 File Offset: 0x0002B1E0 protected virtual float GetFractionCompleted(DragScoringState state, EntrantInfo entrant, InstancedEvent evnt) { float num = evnt.TrackLayout.GetLapStartToVehicleDistance(entrant.Opponent.Vehicle); float lapStartToCheckpointDistance = evnt.TrackLayout.GetLapStartToCheckpointDistance(entrant.RoutingState.NextIndex); if (num > lapStartToCheckpointDistance) { num -= evnt.TrackLayout.GetLapLength(0); } num = Math.Max(num, 0f); return(Math.Min(num / evnt.TrackLayout.GetLength(evnt.NumLaps), 0.99999f)); }
// Token: 0x060018A6 RID: 6310 RVA: 0x0002BCD8 File Offset: 0x0002ACD8 public RoutingState HitTrigger(InstancedEvent evnt, EntrantInfo entrant, RoutingState s) { P2PRoutingState p2PRoutingState = s as P2PRoutingState; if (p2PRoutingState != null && p2PRoutingState.NextIndex < evnt.Route.Count) { p2PRoutingState.CurrentTarget = evnt.Route[p2PRoutingState.NextIndex++]; return(p2PRoutingState); } s.CurrentTarget = null; s.IsRoutingFinished = true; return(s); }