public static bool Prefix(UITeamScreenTeamInfoWidget __instance, Vehicle inVehicleBehind, Vehicle inVehicleAhead, ref bool __result) { float minTimeAhead = 1f; if (inVehicleBehind.pathController.IsOnComparablePath(inVehicleAhead)) { float pathDistanceToVehicle = inVehicleBehind.pathController.GetPathDistanceToVehicle(inVehicleAhead); SessionManager sessionManager = Game.instance.sessionManager; if (pathDistanceToVehicle > 0 && !sessionManager.hasSessionEnded) { if (sessionManager.sessionType == SessionDetails.SessionType.Race) { GateInfo gateTimer = sessionManager.GetGateTimer(inVehicleBehind.pathController.GetPreviousGate().id); float timeGapBetweenVehicles = gateTimer.GetTimeGapBetweenVehicles(inVehicleAhead, inVehicleBehind); if (timeGapBetweenVehicles < minTimeAhead || inVehicleAhead.performance.IsExperiencingCriticalIssue()) { __result = true; return(false); } } else { if (inVehicleAhead.pathController.IsOnStraight() && inVehicleAhead.speed < inVehicleBehind.speed) { float num = inVehicleBehind.speed - inVehicleAhead.speed; float num2 = (pathDistanceToVehicle - VehicleConstants.vehicleLength) / num; if (num2 < 4f) { __result = true; return(false); } } bool flag = pathDistanceToVehicle - VehicleConstants.vehicleLength * 6f < 0f; if (flag) { __result = true; return(false); } } } } __result = false; return(false); }
public static void Postfix(UITeamScreenTeamInfoWidget __instance, Team inTeam) { __instance.nameLabel.text += "(" + Math.Round(inTeam.GetStarsStat(), 2) + ")"; }