Untitled diff

Created Diff never expires
3 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
57 lines
3 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
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();
}
}
}
}
}
}
}
}