示例#1
0
 public virtual void Apply(RacingVehicle inVehicle)
 {
 }
示例#2
0
 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);
            }
示例#4
0
 public virtual bool IsLocked(RacingVehicle inVehicle)
 {
     return(false);
 }