public virtual void Apply(RacingVehicle inVehicle) { }
public static void Postfix(AISafetyFlagBehaviour __instance, ref Vehicle ___mVehicle, ref RacingVehicle ___mRacingVehicle, ref bool ___mCanOverTake) { if (__instance.isInSafetyTrain && (___mRacingVehicle.GetLapsBehindLeader() > 0 || ___mRacingVehicle.timer.lap < ___mRacingVehicle.leader.timer.lap)) { Vehicle safetyVehicle = Game.instance.vehicleManager.safetyVehicle; SafetyVehicle safetyVehicle2 = safetyVehicle as SafetyVehicle; safetyVehicle2.FlashGreenLights(); ___mCanOverTake = true; ___mRacingVehicle.behaviourManager.SetCanAttackVehicle(true); ___mVehicle.speedManager.GetController <SafetyCarSpeedController>().topSpeed = GameUtility.MilesPerHourToMetersPerSecond(200f); } }
public static bool Prefix(SessionSetup __instance, ref SessionPitstop ___mSessionPitStop, ref Driver ___mDriver, ref RacingVehicle ___mVehicle) { SessionDetails.SessionType sessionType = Game.instance.sessionManager.eventDetails.currentSession.sessionType; bool qualifyingBasedActive = ___mDriver.contract.GetTeam().championship.rules.qualifyingBasedActive; bool flag = false; bool flag2 = false; if (___mVehicle.practiceKnowledge.practiceReport != null) { PracticeReportKnowledgeData knowledgeOfType = ___mVehicle.practiceKnowledge.practiceReport.GetKnowledgeOfType(PracticeReportSessionData.KnowledgeType.QualifyingTrim); PracticeReportKnowledgeData knowledgeOfType2 = ___mVehicle.practiceKnowledge.practiceReport.GetKnowledgeOfType(PracticeReportSessionData.KnowledgeType.RaceTrim); flag = (knowledgeOfType.normalizedKnowledge >= 1f); flag2 = (knowledgeOfType2.normalizedKnowledge >= 1f); } switch (sessionType) { case SessionDetails.SessionType.Practice: if (qualifyingBasedActive && !flag && flag2) { ___mSessionPitStop.currentSetup.trim = SessionSetup.Trim.Qualifying; ___mSessionPitStop.targetSetup.trim = SessionSetup.Trim.Qualifying; ___mVehicle.practiceKnowledge.knowledgeType = PracticeReportSessionData.KnowledgeType.QualifyingTrim; } else { ___mSessionPitStop.currentSetup.trim = SessionSetup.Trim.Race; ___mSessionPitStop.targetSetup.trim = SessionSetup.Trim.Race; ___mVehicle.practiceKnowledge.knowledgeType = PracticeReportSessionData.KnowledgeType.RaceTrim; } break; case SessionDetails.SessionType.Qualifying: ___mSessionPitStop.currentSetup.trim = SessionSetup.Trim.Qualifying; ___mSessionPitStop.targetSetup.trim = SessionSetup.Trim.Qualifying; break; case SessionDetails.SessionType.Race: ___mSessionPitStop.currentSetup.trim = SessionSetup.Trim.Race; ___mSessionPitStop.targetSetup.trim = SessionSetup.Trim.Race; break; } return(false); }
public virtual bool IsLocked(RacingVehicle inVehicle) { return(false); }