void UpdateBattleCamera(DataSample data)
{
if (data.Telemetry.SessionTimeSpan <= cameraChangeTime)
return;
cameraChangeTime = data.Telemetry.SessionTimeSpan + this.battleCameraChangePeriod;
var otherCar = ChangeCarForCamera(data, battleFollower);
var cameraSet = otherCar == null ? new [] {CameraAngle.LookingInfrontOfCar, CameraAngle.LookingAtCar} : new [] { CameraAngle.LookingInfrontOfCar, CameraAngle.LookingBehindCar, CameraAngle.LookingAtCar };
camera = cameraControl.FindACamera(cameraSet, adjustedCamera, 2);
adjustedCamera = null;
if (camera.CameraAngle == CameraAngle.LookingBehindCar)
{
TraceInfo.WriteLine("{0} Changing to forward car, with reverse camera", data.Telemetry.SessionTimeSpan);
car = otherCar;
}
else
{
car = battleFollower;
}
TraceInfo.WriteLine("{0} Changing camera to driver: {1}; camera: {2}", data.Telemetry.SessionTimeSpan, car.UserName, camera.CameraName);
cameraControl.CameraOnDriver(car.CarNumberRaw, camera.CameraNumber);
}