// 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: 0x0600189A RID: 6298 RVA: 0x0002BB38 File Offset: 0x0002AB38 public override bool CopyTo(RoutingState other) { CircuitRoutingState circuitRoutingState = other as CircuitRoutingState; if (circuitRoutingState != null) { circuitRoutingState.lap = this.lap; return(base.CopyTo(other)); } return(false); }
// Token: 0x060018A1 RID: 6305 RVA: 0x0002BC54 File Offset: 0x0002AC54 public RoutePoint GetExpectedPreviousTarget(InstancedEvent evnt, RoutingState s) { CircuitRoutingState circuitRoutingState = s as CircuitRoutingState; if (circuitRoutingState != null) { int num = circuitRoutingState.NextIndex + circuitRoutingState.Lap * evnt.Route.Count - 2; if (num >= 0) { return(evnt.Route[num % evnt.Route.Count]); } } return(null); }
// Token: 0x0600189F RID: 6303 RVA: 0x0002BB84 File Offset: 0x0002AB84 public RoutingState Prepare(InstancedEvent evnt, EntrantInfo entrant) { CircuitRoutingState s = new CircuitRoutingState(); return(this.HitTrigger(evnt, entrant, s)); }