Untitled diff

Created Diff never expires
3 removals
57 lines
3 additions
57 lines
public void OnEnterGate(int inGateID, PathData.GateType inGateType)
public void OnEnterGate(int inGateID, PathData.GateType inGateType)
{
{
if (Game.instance.sessionManager.eventDetails.currentSession.sessionType == SessionDetails.SessionType.Race)
if (Game.instance.sessionManager.eventDetails.currentSession.sessionType == SessionDetails.SessionType.Race)
{
{
if (inGateID % 5 == 0)
if (inGateID % 5 == 0)
{
{
this.UpdateDrivingStyleAndEngineModes();
this.UpdateDrivingStyleAndEngineModes();
}
}
if (this.mVehicle.pathController.GetCurrentPath().pathType == PathController.PathType.Track)
if (this.mVehicle.pathController.GetCurrentPath().pathType == PathController.PathType.Track)
{
{
int num = Game.instance.sessionManager.circuit.pitlaneEntryTrackPathID - 5;
int num = Game.instance.sessionManager.circuit.pitlaneEntryTrackPathID - 5;
if (inGateID == num || (inGateType == PathData.GateType.Sector && inGateID != 0))
if (inGateID == num || (inGateType == PathData.GateType.Sector && inGateID != 0))
{
{
if (inGateID == num)
if (inGateID == num)
{
{
RacingVehicle vehicleTeamMate = Game.instance.vehicleManager.GetVehicleTeamMate(this.mVehicle);
RacingVehicle vehicleTeamMate = Game.instance.vehicleManager.GetVehicleTeamMate(this.mVehicle);
if (!this.mVehicle.performance.IsExperiencingCriticalIssue() && (!vehicleTeamMate.isPlayerDriver || Game.instance.sessionManager.isUsingAIForPlayerDrivers) && !vehicleTeamMate.behaviourManager.isOutOfRace && vehicleTeamMate.pathState.IsInPitlaneArea() && vehicleTeamMate.setup.PitTimeLeft() > 20f)
if (!this.mVehicle.performance.IsExperiencingCriticalIssue() && (!vehicleTeamMate.isPlayerDriver || Game.instance.sessionManager.isUsingAIForPitting) && !vehicleTeamMate.behaviourManager.isOutOfRace && vehicleTeamMate.pathState.IsInPitlaneArea() && vehicleTeamMate.setup.PitTimeLeft() > 20f)
{
{
this.CancelPit();
this.CancelPit();
return;
return;
}
}
}
}
if (Game.instance.sessionManager.GetLapsRemaining() > 1 && (!this.mVehicle.isPlayerDriver || Game.instance.sessionManager.isUsingAIForPlayerDrivers) && this.DoesVehicleNeedToPit(inGateID == num) && !Game.instance.sessionManager.isRollingOut)
if (Game.instance.sessionManager.GetLapsRemaining() > 1 && (!this.mVehicle.isPlayerDriver || Game.instance.sessionManager.isUsingAIForPitting) && this.DoesVehicleNeedToPit(inGateID == num) && !Game.instance.sessionManager.isRollingOut)
{
{
this.PlanPitstop();
this.PlanPitstop();
}
}
}
}
}
}
}
}
else if (this.mVehicle.pathController.GetCurrentPath().pathType == PathController.PathType.Track)
else if (this.mVehicle.pathController.GetCurrentPath().pathType == PathController.PathType.Track)
{
{
int num2 = Game.instance.sessionManager.circuit.pitlaneEntryTrackPathID - 5;
int num2 = Game.instance.sessionManager.circuit.pitlaneEntryTrackPathID - 5;
if (inGateType == PathData.GateType.Sector || inGateID == num2)
if (inGateType == PathData.GateType.Sector || inGateID == num2)
{
{
bool flag = false;
bool flag = false;
if (this.mVehicle.behaviourManager.currentBehaviour.behaviourType == AIBehaviourStateManager.Behaviour.InOutLap && this.mVehicle.timer.HasSetLapTime())
if (this.mVehicle.behaviourManager.currentBehaviour.behaviourType == AIBehaviourStateManager.Behaviour.InOutLap && this.mVehicle.timer.HasSetLapTime())
{
{
PrefGameAIStrategyDifficulty.Type aistrategyDifficulty = App.instance.preferencesManager.gamePreferences.GetAIStrategyDifficulty();
PrefGameAIStrategyDifficulty.Type aistrategyDifficulty = App.instance.preferencesManager.gamePreferences.GetAIStrategyDifficulty();
if (aistrategyDifficulty == PrefGameAIStrategyDifficulty.Type.Realistic && !Game.instance.challengeManager.IsAttemptingChallenge())
if (aistrategyDifficulty == PrefGameAIStrategyDifficulty.Type.Realistic && !Game.instance.challengeManager.IsAttemptingChallenge())
{
{
if (this.mVehicle.strategy.ShouldPitForDifferentTyreTread(this.mVehicle.setup.currentSetup.tyreSet, 0f, true))
if (this.mVehicle.strategy.ShouldPitForDifferentTyreTread(this.mVehicle.setup.currentSetup.tyreSet, 0f, true))
{
{
flag = true;
flag = true;
}
}
}
}
else if (!this.mVehicle.sessionAIOrderController.IsDriverOnIdealTyreTread())
else if (!this.mVehicle.sessionAIOrderController.IsDriverOnIdealTyreTread())
{
{
flag = true;
flag = true;
}
}
}
}
if ((this.HasCompletedOrderedLapCount() || flag || this.mVehicle.setup.tyreSet.GetCondition() < 0.2f) && !this.mVehicle.strategy.IsGoingToPit() && (!this.mVehicle.isPlayerDriver || Game.instance.sessionManager.isUsingAIForPlayerDrivers))
if ((this.HasCompletedOrderedLapCount() || flag || this.mVehicle.setup.tyreSet.GetCondition() < 0.2f) && !this.mVehicle.strategy.IsGoingToPit() && (!this.mVehicle.isPlayerDriver || Game.instance.sessionManager.isUsingAIForPitting))
{
{
this.ReturnToGarage();
this.ReturnToGarage();
}
}
}
}
}
}
}
}