From 539db6940f1e6fb5335289d8e830f4e42236a85b Mon Sep 17 00:00:00 2001
From: LarsLaskowski <26182282+LarsLaskowski@users.noreply.github.com>
Date: Sat, 10 Oct 2026 14:04:31 +0200
Subject: [PATCH] Use across codebase
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Replaced many XML blocks with /// on properties, events, methods and indexers across packet/data types (2019–2024), live data, repositories, processors, telemetry types, IDisposable implementations, and QueryableBase. Made a few small API/implementation tweaks: adjusted/added explicit interface accessors (e.g. IEventDataBase.EventDetails, ILiveSessionData.Drivers/TimeTable), added default initializers for some string properties (e.g. EventCode, DriverName), and standardized several Dispose implementations (many now call GC.SuppressFinalize(this)). Changes are primarily documentation and surface-level; runtime behavior is unchanged except for the added defaults and accessor exposure. Rebuild solution and run tests to verify no regressions and to ensure XML docs/analyzers remain satisfied.
---
.../Data/Base/NotifyPropertyBase.cs | 4 +-
F1ReplayClient/Data/ContextViewData.cs | 12 +-
F1ReplayClient/MainWindow.xaml.cs | 4 +-
.../Packets/Data/F1-2019/CarStatus2019.cs | 4 +-
.../Packets/Data/F1-2019/CarStatusData2019.cs | 108 +++-------
.../Packets/Data/F1-2019/CarTelemetry2019.cs | 4 +-
.../Data/F1-2019/CarTelemetryData2019.cs | 60 ++----
.../Packets/Data/F1-2019/EventData2019.cs | 8 +-
.../Data/F1-2019/EventDataDetails2019.cs | 12 +-
.../Packets/Data/F1-2019/LapData2019.cs | 64 ++----
.../Data/F1-2019/LapDataComplete2019.cs | 4 +-
.../Data/F1-2019/ParticipantData2019.cs | 28 +--
.../Data/F1-2019/ParticipantsData2019.cs | 8 +-
.../Packets/Data/F1-2019/SessionData2019.cs | 84 ++------
.../Packets/Data/F1-2020/CarStatus2020.cs | 4 +-
.../Packets/Data/F1-2020/CarStatusData2020.cs | 120 +++--------
.../Packets/Data/F1-2020/CarTelemetry2020.cs | 4 +-
.../Data/F1-2020/CarTelemetryData2020.cs | 60 ++----
.../Packets/Data/F1-2020/EventData2020.cs | 8 +-
.../Data/F1-2020/EventDataDetails2020.cs | 28 +--
.../F1-2020/FinalClassificationCarData2020.cs | 52 ++---
.../F1-2020/FinalClassificationData2020.cs | 8 +-
.../Packets/Data/F1-2020/LapData2020.cs | 112 +++-------
.../Data/F1-2020/LapDataComplete2020.cs | 4 +-
.../Data/F1-2020/ParticipantData2020.cs | 28 +--
.../Data/F1-2020/ParticipantsData2020.cs | 8 +-
.../Packets/Data/F1-2020/SessionData2020.cs | 92 ++------
.../Packets/Data/F1-2021/CarStatus2021.cs | 4 +-
.../Packets/Data/F1-2021/CarStatusData2021.cs | 92 ++------
.../Packets/Data/F1-2021/CarTelemetry2021.cs | 16 +-
.../Data/F1-2021/CarTelemetryData2021.cs | 64 ++----
.../Packets/Data/F1-2021/EventData2021.cs | 8 +-
.../Data/F1-2021/EventDataDetails2021.cs | 52 ++---
.../F1-2021/FinalClassificationCarData2021.cs | 52 ++---
.../F1-2021/FinalClassificationData2021.cs | 8 +-
.../Packets/Data/F1-2021/LapData2021.cs | 100 +++------
.../Data/F1-2021/LapDataComplete2021.cs | 4 +-
.../Data/F1-2021/ParticipantData2021.cs | 36 +---
.../Data/F1-2021/ParticipantsData2021.cs | 8 +-
.../Packets/Data/F1-2021/SessionData2021.cs | 160 ++++----------
.../Data/F1-2021/SessionHistoryData2021.cs | 36 +---
.../Data/F1-2021/SessionHistoryLapData2021.cs | 36 +---
.../SessionHistoryTyreStintData2021.cs | 12 +-
.../Packets/Data/F1-2022/CarStatus2022.cs | 4 +-
.../Packets/Data/F1-2022/CarStatusData2022.cs | 92 ++------
.../Packets/Data/F1-2022/CarTelemetry2022.cs | 16 +-
.../Data/F1-2022/CarTelemetryData2022.cs | 64 ++----
.../Packets/Data/F1-2022/EventData2022.cs | 8 +-
.../Data/F1-2022/EventDataDetails2022.cs | 60 ++----
.../F1-2022/FinalClassificationCarData2022.cs | 56 ++---
.../F1-2022/FinalClassificationData2022.cs | 8 +-
.../Packets/Data/F1-2022/LapData2022.cs | 100 +++------
.../Data/F1-2022/LapDataComplete2022.cs | 12 +-
.../Data/F1-2022/ParticipantData2022.cs | 36 +---
.../Data/F1-2022/ParticipantsData2022.cs | 8 +-
.../Packets/Data/F1-2022/SessionData2022.cs | 176 ++++-----------
.../Data/F1-2022/SessionHistoryData2022.cs | 36 +---
.../Data/F1-2022/SessionHistoryLapData2022.cs | 36 +---
.../SessionHistoryTyreStintData2022.cs | 12 +-
.../Packets/Data/F1-2023/CarStatus2023.cs | 4 +-
.../Packets/Data/F1-2023/CarStatusData2023.cs | 100 +++------
.../Packets/Data/F1-2023/CarTelemetry2023.cs | 16 +-
.../Data/F1-2023/CarTelemetryData2023.cs | 64 ++----
.../Packets/Data/F1-2023/EventData2023.cs | 8 +-
.../Data/F1-2023/EventDataDetails2023.cs | 72 ++-----
.../F1-2023/FinalClassificationCarData2023.cs | 56 ++---
.../F1-2023/FinalClassificationData2023.cs | 8 +-
.../Packets/Data/F1-2023/LapData2023.cs | 120 +++--------
.../Data/F1-2023/LapDataComplete2023.cs | 12 +-
.../Data/F1-2023/ParticipantData2023.cs | 44 +---
.../Data/F1-2023/ParticipantsData2023.cs | 8 +-
.../Packets/Data/F1-2023/SessionData2023.cs | 204 +++++-------------
.../Data/F1-2023/SessionHistoryData2023.cs | 36 +---
.../Data/F1-2023/SessionHistoryLapData2023.cs | 48 ++---
.../SessionHistoryTyreStintData2023.cs | 12 +-
.../Packets/Data/F1-2024/CarStatus2024.cs | 4 +-
.../Packets/Data/F1-2024/CarStatusData2024.cs | 100 +++------
.../Packets/Data/F1-2024/CarTelemetry2024.cs | 16 +-
.../Data/F1-2024/CarTelemetryData2024.cs | 64 ++----
.../Packets/Data/F1-2024/EventData2024.cs | 8 +-
.../Data/F1-2024/EventDataDetails2024.cs | 88 ++------
.../F1-2024/FinalClassificationCarData2024.cs | 56 ++---
.../F1-2024/FinalClassificationData2024.cs | 8 +-
.../Packets/Data/F1-2024/LapData2024.cs | 138 +++---------
.../Data/F1-2024/LapDataComplete2024.cs | 12 +-
.../Data/F1-2024/ParticipantData2024.cs | 48 ++---
.../Data/F1-2024/ParticipantsData2024.cs | 8 +-
.../Packets/Data/F1-2024/SessionData2024.cs | 112 +++-------
.../Data/F1-2024/SessionHistoryData2024.cs | 36 +---
.../Data/F1-2024/SessionHistoryLapData2024.cs | 48 ++---
.../SessionHistoryTyreStintData2024.cs | 12 +-
.../Packets/Data/F1-2024/TimeTrialData2024.cs | 12 +-
.../Packets/Data/F1-2025/CarTelemetry2025.cs | 12 +-
.../Packets/Data/F1-2026/CarTelemetry2026.cs | 12 +-
F1Server.Data/IndependentLapData.cs | 20 +-
F1Server.Data/LiveDriverData.cs | 64 ++----
F1Server.Data/LiveGameData.cs | 24 +--
F1Server.Data/LiveSessionData.cs | 84 ++------
.../Queryable/Base/QueryableBase{TEntity}.cs | 22 +-
F1Server.Db/Entity/RepositoryFactory.cs | 4 +-
.../ObservabilityConfiguration.cs | 4 +-
.../Processors/ProcessorFactory.cs | 4 +-
F1Server.Service/Runtime/PacketProcessor.cs | 4 +-
.../Runtime/ParticipantRuntimeData.cs | 4 +-
F1Server.Service/TelemetryClient.cs | 4 +-
F1Server.Telemetry/TelemetryWriter.cs | 8 +-
F1Server.WebApi/Core/TimerManager.cs | 4 +-
F1Server.WebApi/WebHosting.cs | 4 +-
108 files changed, 1049 insertions(+), 3155 deletions(-)
diff --git a/F1ReplayClient/Data/Base/NotifyPropertyBase.cs b/F1ReplayClient/Data/Base/NotifyPropertyBase.cs
index 04e2153..4598b53 100644
--- a/F1ReplayClient/Data/Base/NotifyPropertyBase.cs
+++ b/F1ReplayClient/Data/Base/NotifyPropertyBase.cs
@@ -22,9 +22,7 @@ public void RaisePropertyChange(string propertyName)
#region INotifyPropertyChanged
- ///
- /// PropertyChanged event
- ///
+ ///
public event PropertyChangedEventHandler? PropertyChanged;
#endregion // INotifyPropertyChanged
diff --git a/F1ReplayClient/Data/ContextViewData.cs b/F1ReplayClient/Data/ContextViewData.cs
index 0604548..76cb00d 100644
--- a/F1ReplayClient/Data/ContextViewData.cs
+++ b/F1ReplayClient/Data/ContextViewData.cs
@@ -575,18 +575,10 @@ public string TimeDuration
#region IDataErrorInfo
- ///
- /// Returns the error text for the object as a whole. This type validates per property only,
- /// so the value is never assigned and stays null. WPF binding ignores an object level error
- /// and evaluates the indexer instead, which is the supported usage of IDataErrorInfo here
- ///
+ ///
public string Error { get; }
- ///
- /// Check content
- ///
- /// Name of field
- /// Error
+ ///
public string this[string columnName] => CheckFieldContent(columnName);
///
diff --git a/F1ReplayClient/MainWindow.xaml.cs b/F1ReplayClient/MainWindow.xaml.cs
index ee559f0..87aa20a 100644
--- a/F1ReplayClient/MainWindow.xaml.cs
+++ b/F1ReplayClient/MainWindow.xaml.cs
@@ -877,9 +877,7 @@ private void UpdateProgressView(int processedFiles,
#region IDisposable
- ///
- /// Dispose method
- ///
+ ///
public void Dispose()
{
Dispose(true);
diff --git a/F1Server.Core/Packets/Data/F1-2019/CarStatus2019.cs b/F1Server.Core/Packets/Data/F1-2019/CarStatus2019.cs
index 328aec0..b656ac0 100644
--- a/F1Server.Core/Packets/Data/F1-2019/CarStatus2019.cs
+++ b/F1Server.Core/Packets/Data/F1-2019/CarStatus2019.cs
@@ -32,9 +32,7 @@ public CarStatus2019()
#region ICarStatusBase
- ///
- /// Car status of all cars
- ///
+ ///
public ICarStatusDataBase[] CarStatusData { get; }
#endregion // ICarStatusBase
diff --git a/F1Server.Core/Packets/Data/F1-2019/CarStatusData2019.cs b/F1Server.Core/Packets/Data/F1-2019/CarStatusData2019.cs
index fd5dfb8..bd81812 100644
--- a/F1Server.Core/Packets/Data/F1-2019/CarStatusData2019.cs
+++ b/F1Server.Core/Packets/Data/F1-2019/CarStatusData2019.cs
@@ -10,143 +10,89 @@ public class CarStatusData2019 : ICarStatusData2019
{
#region ICarStatusData2019
- ///
- /// Tyres wear percentage
- ///
+ ///
public ushort[] TyresWear { get; set; }
- ///
- /// Tyre damage in percent
- ///
+ ///
public ushort[] TyreDamage { get; set; }
- ///
- /// Front left wing damage in percent
- ///
+ ///
public ushort FrontLeftWingDamage { get; set; }
- ///
- /// Front right wing damage in percent
- ///
+ ///
public ushort FrontRightWingDamage { get; set; }
- ///
- /// Rear wing damage in percent
- ///
+ ///
public ushort RearWingDamage { get; set; }
- ///
- /// Engine Damage in percent
- ///
+ ///
public ushort EngineDamage { get; set; }
- ///
- /// Gearbox damage in percent
- ///
+ ///
public ushort GearBoxDamage { get; set; }
#endregion // ICarStatusData2019
#region ICarStatusDataBase
- ///
- /// Traction control 0 - off - 2 - high
- ///
+ ///
public ushort TractionControl { get; set; }
- ///
- /// Anti lock brakes - 0 - off - 1 - on
- ///
+ ///
public ushort AntiLockBrakes { get; set; }
- ///
- /// Fuel mix - 0 - lean - 1 - standard - 2 - rich - 3 - max
- ///
+ ///
public ushort FuelMix { get; set; }
- ///
- /// Front brake bias in percentage
- ///
+ ///
public ushort FrontBrakeBias { get; set; }
- ///
- /// Pit limiter status - 0 - off - 1 - on
- ///
+ ///
public ushort PitLimiterStatus { get; set; }
- ///
- /// Current fuel mass
- ///
+ ///
public float FuelInTank { get; set; }
- ///
- /// Fuel capacity
- ///
+ ///
public float FuelCapacity { get; set; }
- ///
- /// Fuel remaining in terms of laps (value on MFD)
- ///
+ ///
public float FuelRemainingLaps { get; set; }
- ///
- /// Cars max RPM, point of rev limiter
- ///
+ ///
public uint MaxRPM { get; set; }
- ///
- /// Cars idle RPM
- ///
+ ///
public uint IdleRPM { get; set; }
- ///
- /// Maximum number of gears
- ///
+ ///
public ushort MaxGears { get; set; }
- ///
- /// DRS allowed - 0 - not allowed - 1 - allowed - -1 - unknown
- ///
+ ///
public short DRSAllowed { get; set; }
- ///
- /// Tyre compound
- ///
+ ///
public ushort ActualTyreCompound { get; set; }
- ///
- /// Visual tyre compound - can be different from actual compound
- ///
+ ///
public VisualTyreCompound VisualTyreCompound { get; set; }
- ///
- /// FIA flags
- ///
+ ///
public VehicleFiaFlagColor FiaFlags { get; set; }
- ///
- /// ERS energy store in Joules
- ///
+ ///
public float ERSStoreEnergy { get; set; }
- ///
- /// ERS deployment mode - 0 - none - 1 - low - 2 - medium - 3 - high - 4 - overtake - 5 - hotlap
- ///
+ ///
public ushort ERSDeployMode { get; set; }
- ///
- /// ERS energy harvested this lap by MGU-K
- ///
+ ///
public float ERSHarvestedThisLapMGUK { get; set; }
- ///
- /// ERS energy harvested this lap by MGU-H
- ///
+ ///
public float ERSHarvestedThisLapMGUH { get; set; }
- ///
- /// ERS energy deployed this lap
- ///
+ ///
public float ERSDeployedThisLap { get; set; }
#endregion // ICarStatusDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2019/CarTelemetry2019.cs b/F1Server.Core/Packets/Data/F1-2019/CarTelemetry2019.cs
index 222e38b..3f82c09 100644
--- a/F1Server.Core/Packets/Data/F1-2019/CarTelemetry2019.cs
+++ b/F1Server.Core/Packets/Data/F1-2019/CarTelemetry2019.cs
@@ -44,9 +44,7 @@ public CarTelemetry2019()
#region ICarTelemetryBase
- ///
- /// Car telemetry of all cars
- ///
+ ///
public ICarTelemetryDataBase[] CarTelemetryData { get; }
#endregion // ICarTelemetryBase
diff --git a/F1Server.Core/Packets/Data/F1-2019/CarTelemetryData2019.cs b/F1Server.Core/Packets/Data/F1-2019/CarTelemetryData2019.cs
index f35a35c..6e6529b 100644
--- a/F1Server.Core/Packets/Data/F1-2019/CarTelemetryData2019.cs
+++ b/F1Server.Core/Packets/Data/F1-2019/CarTelemetryData2019.cs
@@ -9,79 +9,49 @@ public class CarTelemetryData2019 : ICarTelemetryData2019
{
#region ICarTelemetryDataBase
- ///
- /// Speed
- ///
+ ///
public ushort Speed { get; set; }
- ///
- /// Amount of throttle applied (0.0 - 1.0)
- ///
+ ///
public float Throttle { get; set; }
- ///
- /// Steering (-1.0 [full left] - 1.0 [full right])
- ///
+ ///
public float Steer { get; set; }
- ///
- /// Amount of brake applied (0.0 - 1.0)
- ///
+ ///
public float Brake { get; set; }
- ///
- /// Amount of clutch applied (0 - 100)
- ///
+ ///
public ushort Clutch { get; set; }
- ///
- /// Current gear (1-8, N = 0, R = -1)
- ///
+ ///
public short Gear { get; set; }
- ///
- /// Engine RPM
- ///
+ ///
public ushort EngineRPM { get; set; }
- ///
- /// DRS active or not
- ///
+ ///
public bool IsDRS { get; set; }
- ///
- /// Rev lights indicator in percent
- ///
+ ///
public ushort RevLightsIndicator { get; set; }
- ///
- /// Brakes temperatures (celsius)
- ///
+ ///
public Temperature BrakesTemperature { get; set; }
- ///
- /// Tyres surface temperature (celsius)
- ///
+ ///
public Temperature TyresSurfaceTemperature { get; set; }
- ///
- /// Tyres inner temperature (celsius)
- ///
+ ///
public Temperature TyresInnerTemperature { get; set; }
- ///
- /// Engine temperature (celsius)
- ///
+ ///
public ushort EngineTemperature { get; set; }
- ///
- /// Tyres pressure
- ///
+ ///
public TyresPressure TyresPressure { get; set; }
- ///
- /// Type of surface
- ///
+ ///
public WheelSurface SurfaceType { get; set; }
#endregion // ICarTelemetryDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2019/EventData2019.cs b/F1Server.Core/Packets/Data/F1-2019/EventData2019.cs
index 98d6647..3db9396 100644
--- a/F1Server.Core/Packets/Data/F1-2019/EventData2019.cs
+++ b/F1Server.Core/Packets/Data/F1-2019/EventData2019.cs
@@ -21,14 +21,10 @@ public EventData2019()
#region IEventDataBase
- ///
- /// Event code
- ///
+ ///
public string EventCode { get; set; }
- ///
- /// Event details
- ///
+ ///
public IEventDataDetailsBase EventDetails { get; }
#endregion // IEventDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2019/EventDataDetails2019.cs b/F1Server.Core/Packets/Data/F1-2019/EventDataDetails2019.cs
index e465967..5a83c82 100644
--- a/F1Server.Core/Packets/Data/F1-2019/EventDataDetails2019.cs
+++ b/F1Server.Core/Packets/Data/F1-2019/EventDataDetails2019.cs
@@ -10,19 +10,13 @@ internal class EventDataDetails2019 : IEventDataDetailsBase
{
#region IEventDataDetailsBase
- ///
- /// Type of event
- ///
+ ///
public EventType EventType { get; set; }
- ///
- /// Car number
- ///
+ ///
public ushort VehicleIndex { get; set; }
- ///
- /// Fastest lap in seconds
- ///
+ ///
public float FastestLap { get; set; }
#endregion // IEventDataDetailsBase
diff --git a/F1Server.Core/Packets/Data/F1-2019/LapData2019.cs b/F1Server.Core/Packets/Data/F1-2019/LapData2019.cs
index decb9a9..9b0865c 100644
--- a/F1Server.Core/Packets/Data/F1-2019/LapData2019.cs
+++ b/F1Server.Core/Packets/Data/F1-2019/LapData2019.cs
@@ -10,19 +10,13 @@ public class LapData2019 : ILapData2019
{
#region ILapData2019
- ///
- /// Last lap time
- ///
+ ///
public float LastLapTime { get; set; }
- ///
- /// Current lap time
- ///
+ ///
public float CurrentLapTime { get; set; }
- ///
- /// Best lap time in session in seconds
- ///
+ ///
public float BestLapTime { get; set; }
///
@@ -35,69 +29,43 @@ public class LapData2019 : ILapData2019
#region ILapDataBase
- ///
- /// Flag if there is no car available (is nothing from the game)
- ///
+ ///
public bool IsEmpty => CurrentLapNumber == 0 && CarPosition == 0 && GridPosition == 0 && TotalDistance <= 0.0;
- ///
- /// Distance vehicle is around current lap in meters, negative is finish line not crossed yet
- ///
+ ///
public float LapDistance { get; set; }
- ///
- /// Total distance travelled in session in meters, can be negative like
- ///
+ ///
public float TotalDistance { get; set; }
- ///
- /// Delta in seconds for safety car
- ///
+ ///
public float SafetyCarDelta { get; set; }
- ///
- /// Actual race position
- ///
+ ///
public ushort CarPosition { get; set; }
- ///
- /// Current lap number
- ///
+ ///
public ushort CurrentLapNumber { get; set; }
- ///
- /// Current pit status
- ///
+ ///
public PitStatus CurrentPitStatus { get; set; }
- ///
- /// Current sector
- ///
+ ///
public Sector CurrentSector { get; set; }
- ///
- /// Is current lap invalid?
- ///
+ ///
public bool IsCurrentLapInvalid { get; set; }
- ///
- /// Accumulated time penalties in seconds to be added
- ///
+ ///
public ushort TimePenalties { get; set; }
- ///
- /// Grid start position
- ///
+ ///
public ushort GridPosition { get; set; }
- ///
- /// Current driver status
- ///
+ ///
public DriverStatus CurrentDriverStatus { get; set; }
- ///
- /// Current result status
- ///
+ ///
public ResultStatus CurrentResultStatus { get; set; }
#endregion // ILapDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2019/LapDataComplete2019.cs b/F1Server.Core/Packets/Data/F1-2019/LapDataComplete2019.cs
index 385bed0..8d89f83 100644
--- a/F1Server.Core/Packets/Data/F1-2019/LapDataComplete2019.cs
+++ b/F1Server.Core/Packets/Data/F1-2019/LapDataComplete2019.cs
@@ -21,9 +21,7 @@ public LapDataComplete2019()
#region ILapDataComplete
- ///
- /// Array with all lap data information of all cars
- ///
+ ///
public ILapDataBase[] LapData { get; set; }
#endregion // ILapDataComplete
diff --git a/F1Server.Core/Packets/Data/F1-2019/ParticipantData2019.cs b/F1Server.Core/Packets/Data/F1-2019/ParticipantData2019.cs
index 4f11a85..bd6a927 100644
--- a/F1Server.Core/Packets/Data/F1-2019/ParticipantData2019.cs
+++ b/F1Server.Core/Packets/Data/F1-2019/ParticipantData2019.cs
@@ -9,39 +9,25 @@ public class ParticipantData2019 : IParticipantData2019
{
#region IParticipantDataBase
- ///
- /// Is AI controlled or human
- ///
+ ///
public bool IsAIControlled { get; set; }
- ///
- /// Id of driver
- ///
+ ///
public ushort DriverId { get; set; }
- ///
- /// Id of team
- ///
+ ///
public ushort TeamId { get; set; }
- ///
- /// Race number of the car
- ///
+ ///
public ushort RaceNumber { get; set; }
- ///
- /// Nationality of the driver
- ///
+ ///
public ushort Nationality { get; set; }
- ///
- /// Name of the driver
- ///
+ ///
public string DriverName { get; set; }
- ///
- /// Is telemetry restricted or public?
- ///
+ ///
public bool IsPublicTelemetry { get; set; }
#endregion // IParticipantDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2019/ParticipantsData2019.cs b/F1Server.Core/Packets/Data/F1-2019/ParticipantsData2019.cs
index 318b4d3..aa77409 100644
--- a/F1Server.Core/Packets/Data/F1-2019/ParticipantsData2019.cs
+++ b/F1Server.Core/Packets/Data/F1-2019/ParticipantsData2019.cs
@@ -21,14 +21,10 @@ public ParticipantsData2019()
#region IParticipantsBase
- ///
- /// Active cars
- ///
+ ///
public ushort ActiveCars { get; set; }
- ///
- /// Data about participants in current session
- ///
+ ///
public IParticipantDataBase[] Participants { get; set; }
#endregion // IParticipantsBase
diff --git a/F1Server.Core/Packets/Data/F1-2019/SessionData2019.cs b/F1Server.Core/Packets/Data/F1-2019/SessionData2019.cs
index 9fc5e17..b45bdfb 100644
--- a/F1Server.Core/Packets/Data/F1-2019/SessionData2019.cs
+++ b/F1Server.Core/Packets/Data/F1-2019/SessionData2019.cs
@@ -22,109 +22,67 @@ public SessionData2019()
#region ISessionDataBase
- ///
- /// Is session recordable? Network games or time trial are not
- ///
+ ///
public bool IsRecordable { get; set; }
- ///
- /// Weather condition
- ///
+ ///
public WeatherCondition Weather { get; set; }
- ///
- /// Track temperature
- ///
+ ///
public short TrackTemperature { get; set; }
- ///
- /// Air temperature
- ///
+ ///
public short AirTemperature { get; set; }
- ///
- /// Total laps
- ///
+ ///
public ushort TotalLaps { get; set; }
- ///
- /// Length of track
- ///
+ ///
public int TrackLength { get; set; }
- ///
- /// Session type
- ///
+ ///
public SessionType SessionType { get; set; }
- ///
- /// Track id, -1 when unknown
- ///
+ ///
public short TrackId { get; set; }
- ///
- /// Name of the track
- ///
+ ///
public string TrackName { get; set; }
- ///
- /// Formula type - F1 and so on
- ///
+ ///
public Formula FormulaType { get; set; }
- ///
- /// Session time left in seconds
- ///
+ ///
public int SessionTimeLeft { get; set; }
- ///
- /// Duration of current session
- ///
+ ///
public int SessionDuration { get; set; }
- ///
- /// Pit speed limit
- ///
+ ///
public ushort PitSpeedLimit { get; set; }
- ///
- /// Flag if game is paused
- ///
+ ///
public bool IsGamePaused { get; set; }
- ///
- /// Flag if user is spectating
- ///
+ ///
public bool IsSpectating { get; set; }
- ///
- /// Car index spectating
- ///
+ ///
public ushort SpectatorCarIndex { get; set; }
- ///
- /// SLI Pro support
- ///
+ ///
public bool IsSliProNativeSupport { get; set; }
- ///
- /// Number of marshal zones
- ///
+ ///
public ushort NumberOfMarshalZones { get; set; }
- ///
- /// Marshal zone data
- ///
+ ///
public MarshalZone[] MarshalZones { get; set; }
- ///
- /// Safety car status
- ///
+ ///
public SafetyCarStatus SafetyCar { get; set; }
- ///
- /// Online or offline
- ///
+ ///
public bool IsNetworkGame { get; set; }
#endregion // ISessionDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2020/CarStatus2020.cs b/F1Server.Core/Packets/Data/F1-2020/CarStatus2020.cs
index 959a56c..f5a4303 100644
--- a/F1Server.Core/Packets/Data/F1-2020/CarStatus2020.cs
+++ b/F1Server.Core/Packets/Data/F1-2020/CarStatus2020.cs
@@ -32,9 +32,7 @@ public CarStatus2020()
#region ICarStatusBase
- ///
- /// Car Status of all cars
- ///
+ ///
public ICarStatusDataBase[] CarStatusData { get; }
#endregion // ICarStatusBase
diff --git a/F1Server.Core/Packets/Data/F1-2020/CarStatusData2020.cs b/F1Server.Core/Packets/Data/F1-2020/CarStatusData2020.cs
index bb34cfa..90f8424 100644
--- a/F1Server.Core/Packets/Data/F1-2020/CarStatusData2020.cs
+++ b/F1Server.Core/Packets/Data/F1-2020/CarStatusData2020.cs
@@ -10,158 +10,98 @@ public class CarStatusData2020 : ICarStatusData2020
{
#region ICarStatusData2020
- ///
- /// DRS activation distance - 0 - DRS not available - non-zero - DRS will be available
- ///
+ ///
public int DRSActivationDistance { get; set; }
- ///
- /// Age of laps of the current set of tyres
- ///
+ ///
public ushort TyresAgeLaps { get; set; }
- ///
- /// Tyre damage in percent
- ///
+ ///
public ushort[] TyreDamage { get; set; }
- ///
- /// Front left wing damage in percent
- ///
+ ///
public ushort FrontLeftWingDamage { get; set; }
- ///
- /// Front right wing damage in percent
- ///
+ ///
public ushort FrontRightWingDamage { get; set; }
- ///
- /// Rear wing damage in percent
- ///
+ ///
public ushort RearWingDamage { get; set; }
- ///
- /// Engine Damage in percent
- ///
+ ///
public ushort EngineDamage { get; set; }
- ///
- /// Gearbox damage in percent
- ///
+ ///
public ushort GearBoxDamage { get; set; }
- ///
- /// Indicator for DRS fault - 0 - ok - 1 - fault
- ///
+ ///
public ushort DRSFault { get; set; }
- ///
- /// Tyres wear percentage
- ///
+ ///
public ushort[] TyresWear { get; set; }
#endregion // ICarStatusData2020
#region ICarStatusDataBase
- ///
- /// Traction control 0 - off - 2 - high
- ///
+ ///
public ushort TractionControl { get; set; }
- ///
- /// Anti lock brakes - 0 - off - 1 - on
- ///
+ ///
public ushort AntiLockBrakes { get; set; }
- ///
- /// Fuel mix - 0 - lean - 1 - standard - 2 - rich - 3 - max
- ///
+ ///
public ushort FuelMix { get; set; }
- ///
- /// Front brake bias in percentage
- ///
+ ///
public ushort FrontBrakeBias { get; set; }
- ///
- /// Pit limiter status - 0 - off - 1 - on
- ///
+ ///
public ushort PitLimiterStatus { get; set; }
- ///
- /// Current fuel mass
- ///
+ ///
public float FuelInTank { get; set; }
- ///
- /// Fuel capacity
- ///
+ ///
public float FuelCapacity { get; set; }
- ///
- /// Fuel remaining in terms of laps (value on MFD)
- ///
+ ///
public float FuelRemainingLaps { get; set; }
- ///
- /// Cars max RPM, point of rev limiter
- ///
+ ///
public uint MaxRPM { get; set; }
- ///
- /// Cars idle RPM
- ///
+ ///
public uint IdleRPM { get; set; }
- ///
- /// Maximum number of gears
- ///
+ ///
public ushort MaxGears { get; set; }
- ///
- /// DRS allowed - 0 - not allowed - 1 - allowed - -1 - unknown
- ///
+ ///
public short DRSAllowed { get; set; }
- ///
- /// Tyre compound
- ///
+ ///
public ushort ActualTyreCompound { get; set; }
- ///
- /// Visual tyre compound - can be different from actual compound
- ///
+ ///
public VisualTyreCompound VisualTyreCompound { get; set; }
- ///
- /// FIA flags
- ///
+ ///
public VehicleFiaFlagColor FiaFlags { get; set; }
- ///
- /// ERS energy store in Joules
- ///
+ ///
public float ERSStoreEnergy { get; set; }
- ///
- /// ERS deployment mode - 0 - none - 1 - medium - 2 - overtake - 3 - hotlap
- ///
+ ///
public ushort ERSDeployMode { get; set; }
- ///
- /// ERS energy harvested this lap by MGU-K
- ///
+ ///
public float ERSHarvestedThisLapMGUK { get; set; }
- ///
- /// ERS energy harvested this lap by MGU-H
- ///
+ ///
public float ERSHarvestedThisLapMGUH { get; set; }
- ///
- /// ERS energy deployed this lap
- ///
+ ///
public float ERSDeployedThisLap { get; set; }
#endregion // ICarStatusDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2020/CarTelemetry2020.cs b/F1Server.Core/Packets/Data/F1-2020/CarTelemetry2020.cs
index c6586bd..7e2dec2 100644
--- a/F1Server.Core/Packets/Data/F1-2020/CarTelemetry2020.cs
+++ b/F1Server.Core/Packets/Data/F1-2020/CarTelemetry2020.cs
@@ -59,9 +59,7 @@ public CarTelemetry2020()
#region ICarTelemetryBase
- ///
- /// Car telemetry of all cars
- ///
+ ///
public ICarTelemetryDataBase[] CarTelemetryData { get; }
#endregion // ICarTelemetryBase
diff --git a/F1Server.Core/Packets/Data/F1-2020/CarTelemetryData2020.cs b/F1Server.Core/Packets/Data/F1-2020/CarTelemetryData2020.cs
index e23ae82..8c8643f 100644
--- a/F1Server.Core/Packets/Data/F1-2020/CarTelemetryData2020.cs
+++ b/F1Server.Core/Packets/Data/F1-2020/CarTelemetryData2020.cs
@@ -9,79 +9,49 @@ public class CarTelemetryData2020 : ICarTelemetryData2020
{
#region ICarTelemetryDataBase
- ///
- /// Speed
- ///
+ ///
public ushort Speed { get; set; }
- ///
- /// Amount of throttle applied (0.0 - 1.0)
- ///
+ ///
public float Throttle { get; set; }
- ///
- /// Steering (-1.0 [full left] - 1.0 [full right])
- ///
+ ///
public float Steer { get; set; }
- ///
- /// Amount of brake applied (0.0 - 1.0)
- ///
+ ///
public float Brake { get; set; }
- ///
- /// Amount of clutch applied (0 - 100)
- ///
+ ///
public ushort Clutch { get; set; }
- ///
- /// Current gear (1-8, N = 0, R = -1)
- ///
+ ///
public short Gear { get; set; }
- ///
- /// Engine RPM
- ///
+ ///
public ushort EngineRPM { get; set; }
- ///
- /// DRS active or not
- ///
+ ///
public bool IsDRS { get; set; }
- ///
- /// Rev lights indicator in percent
- ///
+ ///
public ushort RevLightsIndicator { get; set; }
- ///
- /// Brakes temperatures (celsius)
- ///
+ ///
public Temperature BrakesTemperature { get; set; }
- ///
- /// Tyres surface temperature (celsius)
- ///
+ ///
public Temperature TyresSurfaceTemperature { get; set; }
- ///
- /// Tyres inner temperature (celsius)
- ///
+ ///
public Temperature TyresInnerTemperature { get; set; }
- ///
- /// Engine temperature (celsius)
- ///
+ ///
public ushort EngineTemperature { get; set; }
- ///
- /// Tyres pressure
- ///
+ ///
public TyresPressure TyresPressure { get; set; }
- ///
- /// Type of surface
- ///
+ ///
public WheelSurface SurfaceType { get; set; }
#endregion // ICarTelemetryDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2020/EventData2020.cs b/F1Server.Core/Packets/Data/F1-2020/EventData2020.cs
index 1140b5f..4b6c6c1 100644
--- a/F1Server.Core/Packets/Data/F1-2020/EventData2020.cs
+++ b/F1Server.Core/Packets/Data/F1-2020/EventData2020.cs
@@ -30,14 +30,10 @@ public EventData2020()
#region IEventDataBase
- ///
- /// Event code
- ///
+ ///
public string EventCode { get; set; }
- ///
- /// Event details
- ///
+ ///
IEventDataDetailsBase IEventDataBase.EventDetails => EventDetails;
#endregion // IEventDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2020/EventDataDetails2020.cs b/F1Server.Core/Packets/Data/F1-2020/EventDataDetails2020.cs
index c6cdb0f..6a61234 100644
--- a/F1Server.Core/Packets/Data/F1-2020/EventDataDetails2020.cs
+++ b/F1Server.Core/Packets/Data/F1-2020/EventDataDetails2020.cs
@@ -10,39 +10,25 @@ internal class EventDataDetails2020 : EventDataDetails2019, IEventDataDetails202
{
#region IEventDataDetails2020
- ///
- /// Type of penalty
- ///
+ ///
public PenaltyType PenaltyType { get; set; }
- ///
- /// Type of infringement
- ///
+ ///
public InfringementType PenaltyInfringementType { get; set; }
- ///
- /// Other vehicle index
- ///
+ ///
public ushort PenaltyOtherVehicleIndex { get; set; }
- ///
- /// Time gained or time spent doing action in seconds
- ///
+ ///
public ushort PenaltyTimeGained { get; set; }
- ///
- /// Lap of penalty occurred on
- ///
+ ///
public ushort PenaltyLapNumber { get; set; }
- ///
- /// Number of places gained by this penalty
- ///
+ ///
public ushort PenaltyPlacesGained { get; set; }
- ///
- /// Top speed achieved in km/h
- ///
+ ///
public float TopSpeed { get; set; }
#endregion // IEventDataDetails2020
diff --git a/F1Server.Core/Packets/Data/F1-2020/FinalClassificationCarData2020.cs b/F1Server.Core/Packets/Data/F1-2020/FinalClassificationCarData2020.cs
index df91b41..626c3a6 100644
--- a/F1Server.Core/Packets/Data/F1-2020/FinalClassificationCarData2020.cs
+++ b/F1Server.Core/Packets/Data/F1-2020/FinalClassificationCarData2020.cs
@@ -23,69 +23,43 @@ public FinalClassificationCarData2020()
#region IFinalClassificationCarBase
- ///
- /// Finishing position
- ///
+ ///
public ushort Position { get; set; }
- ///
- /// Number of laps completed
- ///
+ ///
public ushort LapsCompleted { get; set; }
- ///
- /// Grid position of the car
- ///
+ ///
public ushort GridPosition { get; set; }
- ///
- /// Number of points scored
- ///
+ ///
public ushort Points { get; set; }
- ///
- /// Number of pit stops made
- ///
+ ///
public ushort PitStops { get; set; }
- ///
- /// Result status
- ///
+ ///
public ResultStatus ResultStatus { get; set; }
- ///
- /// Best lap time of the session in milliseconds
- ///
+ ///
public uint BestLapTimeInMs { get; set; }
- ///
- /// Total race time in seconds without penalties
- ///
+ ///
public double TotalRaceTime { get; set; }
- ///
- /// Total penalties accumulated in seconds
- ///
+ ///
public ushort PenaltiesTime { get; set; }
- ///
- /// Number of penalties applied to this driver
- ///
+ ///
public ushort NumPenalties { get; set; }
- ///
- /// Number of tyre stints up to maximum
- ///
+ ///
public ushort NumTyreStints { get; set; }
- ///
- /// Actual tyres used by this driver
- ///
+ ///
public ushort[] TyreStintsActual { get; }
- ///
- /// Visual tyre stints used by this driver
- ///
+ ///
public ushort[] TyreStintsVisual { get; }
#endregion // IFinalClassificationCarBase
diff --git a/F1Server.Core/Packets/Data/F1-2020/FinalClassificationData2020.cs b/F1Server.Core/Packets/Data/F1-2020/FinalClassificationData2020.cs
index f7ef589..c0a613d 100644
--- a/F1Server.Core/Packets/Data/F1-2020/FinalClassificationData2020.cs
+++ b/F1Server.Core/Packets/Data/F1-2020/FinalClassificationData2020.cs
@@ -21,14 +21,10 @@ public FinalClassificationData2020()
#region IFinalClassificationData
- ///
- /// Number of cars in the final classification
- ///
+ ///
public ushort NumberOfCars { get; set; }
- ///
- /// Data of final classification for each car
- ///
+ ///
public IFinalClassificationCarBase[] FinalClassifications { get; }
#endregion // IFinalClassificationData
diff --git a/F1Server.Core/Packets/Data/F1-2020/LapData2020.cs b/F1Server.Core/Packets/Data/F1-2020/LapData2020.cs
index 71c7f38..a485184 100644
--- a/F1Server.Core/Packets/Data/F1-2020/LapData2020.cs
+++ b/F1Server.Core/Packets/Data/F1-2020/LapData2020.cs
@@ -10,148 +10,92 @@ public class LapData2020 : ILapData2020
{
#region ILapData2020
- ///
- /// Last lap time
- ///
+ ///
public float LastLapTime { get; set; }
- ///
- /// Current lap time
- ///
+ ///
public float CurrentLapTime { get; set; }
- ///
- /// Sector 1 time in milliseconds
- ///
+ ///
public ushort Sector1Time { get; set; }
- ///
- /// Sector 2 time in milliseconds
- ///
+ ///
public ushort Sector2Time { get; set; }
- ///
- /// Best lap time in session in seconds
- ///
+ ///
public float BestLapTime { get; set; }
- ///
- /// Number of lap achieved best lap time
- ///
+ ///
public ushort BestLapNumber { get; set; }
- ///
- /// Sector 1 time of best lap in milliseconds
- ///
+ ///
public ushort BestLapSector1Time { get; set; }
- ///
- /// Sector 2 time of best lap in milliseconds
- ///
+ ///
public ushort BestLapSector2Time { get; set; }
- ///
- /// Sector 3 time of best lap in milliseconds
- ///
+ ///
public ushort BestLapSector3Time { get; set; }
- ///
- /// Best Sector 1 time overall in milliseconds
- ///
+ ///
public ushort BestOverallSector1Time { get; set; }
- ///
- /// Number of lap achieved best sector 1 time
- ///
+ ///
public ushort BestOverallSector1LapNumber { get; set; }
- ///
- /// Best Sector 2 time overall in milliseconds
- ///
+ ///
public ushort BestOverallSector2Time { get; set; }
- ///
- /// Number of lap achieved best sector 2 time
- ///
+ ///
public ushort BestOverallSector2LapNumber { get; set; }
- ///
- /// Best Sector 3 time overall in milliseconds
- ///
+ ///
public ushort BestOverallSector3Time { get; set; }
- ///
- /// Number of lap achieved best sector 3 time
- ///
+ ///
public ushort BestOverallSector3LapNumber { get; set; }
#endregion // ILapData2020
#region ILapDataBase
- ///
- /// Flag if there is no car available (is nothing from the game)
- ///
+ ///
public bool IsEmpty => CurrentLapNumber == 0 && CarPosition == 0 && GridPosition == 0 && TotalDistance <= 0.0;
- ///
- /// Distance vehicle is around current lap in meters, negative is finish line not crossed yet
- ///
+ ///
public float LapDistance { get; set; }
- ///
- /// Total distance travelled in session in meters, can be negative like
- ///
+ ///
public float TotalDistance { get; set; }
- ///
- /// Delta in seconds for safety car
- ///
+ ///
public float SafetyCarDelta { get; set; }
- ///
- /// Actual race position
- ///
+ ///
public ushort CarPosition { get; set; }
- ///
- /// Current lap number
- ///
+ ///
public ushort CurrentLapNumber { get; set; }
- ///
- /// Current pit status
- ///
+ ///
public PitStatus CurrentPitStatus { get; set; }
- ///
- /// Current sector
- ///
+ ///
public Sector CurrentSector { get; set; }
- ///
- /// Is current lap invalid?
- ///
+ ///
public bool IsCurrentLapInvalid { get; set; }
- ///
- /// Accumulated time penalties in seconds to be added
- ///
+ ///
public ushort TimePenalties { get; set; }
- ///
- /// Grid start position
- ///
+ ///
public ushort GridPosition { get; set; }
- ///
- /// Current driver status
- ///
+ ///
public DriverStatus CurrentDriverStatus { get; set; }
- ///
- /// Current result status
- ///
+ ///
public ResultStatus CurrentResultStatus { get; set; }
#endregion // ILapDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2020/LapDataComplete2020.cs b/F1Server.Core/Packets/Data/F1-2020/LapDataComplete2020.cs
index 92dce76..9eafad7 100644
--- a/F1Server.Core/Packets/Data/F1-2020/LapDataComplete2020.cs
+++ b/F1Server.Core/Packets/Data/F1-2020/LapDataComplete2020.cs
@@ -21,9 +21,7 @@ public LapDataComplete2020()
#region ILapDataComplete
- ///
- /// Array with all lap data information of all cars
- ///
+ ///
public ILapDataBase[] LapData { get; set; }
#endregion // ILapDataComplete
diff --git a/F1Server.Core/Packets/Data/F1-2020/ParticipantData2020.cs b/F1Server.Core/Packets/Data/F1-2020/ParticipantData2020.cs
index 2953fc5..624a84d 100644
--- a/F1Server.Core/Packets/Data/F1-2020/ParticipantData2020.cs
+++ b/F1Server.Core/Packets/Data/F1-2020/ParticipantData2020.cs
@@ -9,39 +9,25 @@ public class ParticipantData2020 : IParticipantData2020
{
#region IParticipantDataBase
- ///
- /// Is AI controlled or human
- ///
+ ///
public bool IsAIControlled { get; set; }
- ///
- /// Id of driver
- ///
+ ///
public ushort DriverId { get; set; }
- ///
- /// Id of team
- ///
+ ///
public ushort TeamId { get; set; }
- ///
- /// Race number of the car
- ///
+ ///
public ushort RaceNumber { get; set; }
- ///
- /// Nationality of the driver
- ///
+ ///
public ushort Nationality { get; set; }
- ///
- /// Name of the driver
- ///
+ ///
public string DriverName { get; set; }
- ///
- /// Is telemetry restricted or public?
- ///
+ ///
public bool IsPublicTelemetry { get; set; }
#endregion // IParticipantDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2020/ParticipantsData2020.cs b/F1Server.Core/Packets/Data/F1-2020/ParticipantsData2020.cs
index ef63b82..076e0cc 100644
--- a/F1Server.Core/Packets/Data/F1-2020/ParticipantsData2020.cs
+++ b/F1Server.Core/Packets/Data/F1-2020/ParticipantsData2020.cs
@@ -21,14 +21,10 @@ public ParticipantsData2020()
#region IParticipantsBase
- ///
- /// Active cars
- ///
+ ///
public ushort ActiveCars { get; set; }
- ///
- /// Data about participants in current session
- ///
+ ///
public IParticipantDataBase[] Participants { get; set; }
#endregion // IParticipantsBase
diff --git a/F1Server.Core/Packets/Data/F1-2020/SessionData2020.cs b/F1Server.Core/Packets/Data/F1-2020/SessionData2020.cs
index ef2e4b6..4b1c448 100644
--- a/F1Server.Core/Packets/Data/F1-2020/SessionData2020.cs
+++ b/F1Server.Core/Packets/Data/F1-2020/SessionData2020.cs
@@ -23,123 +23,77 @@ public SessionData2020()
#region ISessionDataBase
- ///
- /// Is session recordable? Network games or time trial are not
- ///
+ ///
public bool IsRecordable { get; set; }
- ///
- /// Weather condition
- ///
+ ///
public WeatherCondition Weather { get; set; }
- ///
- /// Track temperature
- ///
+ ///
public short TrackTemperature { get; set; }
- ///
- /// Air temperature
- ///
+ ///
public short AirTemperature { get; set; }
- ///
- /// Total laps
- ///
+ ///
public ushort TotalLaps { get; set; }
- ///
- /// Length of track
- ///
+ ///
public int TrackLength { get; set; }
- ///
- /// Session type
- ///
+ ///
public SessionType SessionType { get; set; }
- ///
- /// Track id, -1 when unknown
- ///
+ ///
public short TrackId { get; set; }
- ///
- /// Name of the track
- ///
+ ///
public string TrackName { get; set; }
- ///
- /// Formula type - F1 and so on
- ///
+ ///
public Formula FormulaType { get; set; }
- ///
- /// Session time left in seconds
- ///
+ ///
public int SessionTimeLeft { get; set; }
- ///
- /// Duration of current session
- ///
+ ///
public int SessionDuration { get; set; }
- ///
- /// Pit speed limit
- ///
+ ///
public ushort PitSpeedLimit { get; set; }
- ///
- /// Flag if game is paused
- ///
+ ///
public bool IsGamePaused { get; set; }
- ///
- /// Flag if user is spectating
- ///
+ ///
public bool IsSpectating { get; set; }
- ///
- /// Car index spectating
- ///
+ ///
public ushort SpectatorCarIndex { get; set; }
- ///
- /// SLI Pro support
- ///
+ ///
public bool IsSliProNativeSupport { get; set; }
- ///
- /// Number of marshal zones
- ///
+ ///
public ushort NumberOfMarshalZones { get; set; }
- ///
- /// Marshal zone data
- ///
+ ///
public MarshalZone[] MarshalZones { get; set; }
- ///
- /// Safety car status
- ///
+ ///
public SafetyCarStatus SafetyCar { get; set; }
- ///
- /// Online or offline
- ///
+ ///
public bool IsNetworkGame { get; set; }
#endregion // ISessionDataBase
#region ISessionData2020
- ///
- /// Number of weather samples to follow
- ///
+ ///
public ushort NumberWeatherForecastSamples { get; set; }
- ///
- /// Weather forecast data
- ///
+ ///
public WeatherForecastSample[] WeatherForecastSamples { get; }
#endregion // ISessionData2020
diff --git a/F1Server.Core/Packets/Data/F1-2021/CarStatus2021.cs b/F1Server.Core/Packets/Data/F1-2021/CarStatus2021.cs
index b649904..08bd8c0 100644
--- a/F1Server.Core/Packets/Data/F1-2021/CarStatus2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/CarStatus2021.cs
@@ -28,9 +28,7 @@ public CarStatus2021()
#region ICarStatusBase
- ///
- /// Car Status of all cars
- ///
+ ///
public ICarStatusDataBase[] CarStatusData { get; }
#endregion // ICarStatusBase
diff --git a/F1Server.Core/Packets/Data/F1-2021/CarStatusData2021.cs b/F1Server.Core/Packets/Data/F1-2021/CarStatusData2021.cs
index 1e4a777..dcde652 100644
--- a/F1Server.Core/Packets/Data/F1-2021/CarStatusData2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/CarStatusData2021.cs
@@ -10,123 +10,77 @@ public class CarStatusData2021 : ICarStatusData2021
{
#region ICarStatusDataBase
- ///
- /// Traction control 0 - off - 2 - high
- ///
+ ///
public ushort TractionControl { get; set; }
- ///
- /// Anti lock brakes - 0 - off - 1 - on
- ///
+ ///
public ushort AntiLockBrakes { get; set; }
- ///
- /// Fuel mix - 0 - lean - 1 - standard - 2 - rich - 3 - max
- ///
+ ///
public ushort FuelMix { get; set; }
- ///
- /// Front brake bias in percentage
- ///
+ ///
public ushort FrontBrakeBias { get; set; }
- ///
- /// Pit limiter status - 0 - off - 1 - on
- ///
+ ///
public ushort PitLimiterStatus { get; set; }
- ///
- /// Current fuel mass
- ///
+ ///
public float FuelInTank { get; set; }
- ///
- /// Fuel capacity
- ///
+ ///
public float FuelCapacity { get; set; }
- ///
- /// Fuel remaining in terms of laps (value on MFD)
- ///
+ ///
public float FuelRemainingLaps { get; set; }
- ///
- /// Cars max RPM, point of rev limiter
- ///
+ ///
public uint MaxRPM { get; set; }
- ///
- /// Cars idle RPM
- ///
+ ///
public uint IdleRPM { get; set; }
- ///
- /// Maximum number of gears
- ///
+ ///
public ushort MaxGears { get; set; }
- ///
- /// DRS allowed - 0 - not allowed - 1 - allowed - -1 - unknown
- ///
+ ///
public short DRSAllowed { get; set; }
- ///
- /// Tyre compound
- ///
+ ///
public ushort ActualTyreCompound { get; set; }
- ///
- /// Visual tyre compound - can be different from actual compound
- ///
+ ///
public VisualTyreCompound VisualTyreCompound { get; set; }
- ///
- /// FIA flags
- ///
+ ///
public VehicleFiaFlagColor FiaFlags { get; set; }
- ///
- /// ERS energy store in Joules
- ///
+ ///
public float ERSStoreEnergy { get; set; }
- ///
- /// ERS deployment mode - 0 - none - 1 - medium - 2 - hotlap - 3 - overtake
- ///
+ ///
public ushort ERSDeployMode { get; set; }
- ///
- /// ERS energy harvested this lap by MGU-K
- ///
+ ///
public float ERSHarvestedThisLapMGUK { get; set; }
- ///
- /// ERS energy harvested this lap by MGU-H
- ///
+ ///
public float ERSHarvestedThisLapMGUH { get; set; }
- ///
- /// ERS energy deployed this lap
- ///
+ ///
public float ERSDeployedThisLap { get; set; }
#endregion // ICarStatusDataBase
#region ICarStatusData2021
- ///
- /// DRS activation distance - 0 - DRS not available - non-zero - DRS will be available
- ///
+ ///
public int DRSActivationDistance { get; set; }
- ///
- /// Age of laps of the current set of tyres
- ///
+ ///
public ushort TyresAgeLaps { get; set; }
- ///
- /// Whether the car is paused in a network game
- ///
+ ///
public ushort NetworkPaused { get; set; }
#endregion // ICarStatusData2021
diff --git a/F1Server.Core/Packets/Data/F1-2021/CarTelemetry2021.cs b/F1Server.Core/Packets/Data/F1-2021/CarTelemetry2021.cs
index 32542ab..c8fa050 100644
--- a/F1Server.Core/Packets/Data/F1-2021/CarTelemetry2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/CarTelemetry2021.cs
@@ -35,28 +35,20 @@ public CarTelemetry2021()
#region ICarTelemetry2021
- ///
- /// Index of MFD panel open - 255 = closed
- ///
+ ///
public ushort MfdPanelIndex { get; set; }
- ///
- /// Index of MFD panel open (second player)
- ///
+ ///
public ushort MfdPanelIndexSecondary { get; set; }
- ///
- /// Suggested gear
- ///
+ ///
public ushort SuggestedGear { get; set; }
#endregion // ICarTelemetry2021
#region ICarTelemetryBase
- ///
- /// Car telemetry of all cars
- ///
+ ///
public ICarTelemetryDataBase[] CarTelemetryData { get; }
#endregion // ICarTelemetryBase
diff --git a/F1Server.Core/Packets/Data/F1-2021/CarTelemetryData2021.cs b/F1Server.Core/Packets/Data/F1-2021/CarTelemetryData2021.cs
index fc9dcfe..4d4c862 100644
--- a/F1Server.Core/Packets/Data/F1-2021/CarTelemetryData2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/CarTelemetryData2021.cs
@@ -9,88 +9,56 @@ public class CarTelemetryData2021 : ICarTelemetryData2021
{
#region ICarTelemetryDataBase
- ///
- /// Speed
- ///
+ ///
public ushort Speed { get; set; }
- ///
- /// Amount of throttle applied (0.0 - 1.0)
- ///
+ ///
public float Throttle { get; set; }
- ///
- /// Steering (-1.0 [full left] - 1.0 [full right])
- ///
+ ///
public float Steer { get; set; }
- ///
- /// Amount of brake applied (0.0 - 1.0)
- ///
+ ///
public float Brake { get; set; }
- ///
- /// Amount of clutch applied (0 - 100)
- ///
+ ///
public ushort Clutch { get; set; }
- ///
- /// Current gear (1-8, N = 0, R = -1)
- ///
+ ///
public short Gear { get; set; }
- ///
- /// Engine RPM
- ///
+ ///
public ushort EngineRPM { get; set; }
- ///
- /// DRS active or not
- ///
+ ///
public bool IsDRS { get; set; }
- ///
- /// Rev lights indicator in percent
- ///
+ ///
public ushort RevLightsIndicator { get; set; }
- ///
- /// Brakes temperatures (celsius)
- ///
+ ///
public Temperature BrakesTemperature { get; set; }
- ///
- /// Tyres surface temperature (celsius)
- ///
+ ///
public Temperature TyresSurfaceTemperature { get; set; }
- ///
- /// Tyres inner temperature (celsius)
- ///
+ ///
public Temperature TyresInnerTemperature { get; set; }
- ///
- /// Engine temperature (celsius)
- ///
+ ///
public ushort EngineTemperature { get; set; }
- ///
- /// Tyres pressure
- ///
+ ///
public TyresPressure TyresPressure { get; set; }
- ///
- /// Type of surface
- ///
+ ///
public WheelSurface SurfaceType { get; set; }
#endregion // ICarTelemetryDataBase
#region ICarTelemetryData2021
- ///
- /// Rev lights bit
- ///
+ ///
public ushort RevLightsBitValue { get; set; }
#endregion // ICarTelemetryData2021
diff --git a/F1Server.Core/Packets/Data/F1-2021/EventData2021.cs b/F1Server.Core/Packets/Data/F1-2021/EventData2021.cs
index 6e59c8b..7ece294 100644
--- a/F1Server.Core/Packets/Data/F1-2021/EventData2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/EventData2021.cs
@@ -21,14 +21,10 @@ public EventData2021()
#region IEventDataBase
- ///
- /// Event code
- ///
+ ///
public string EventCode { get; set; }
- ///
- /// Event details
- ///
+ ///
public IEventDataDetailsBase EventDetails { get; }
#endregion // IEventDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2021/EventDataDetails2021.cs b/F1Server.Core/Packets/Data/F1-2021/EventDataDetails2021.cs
index 8d44c60..662af78 100644
--- a/F1Server.Core/Packets/Data/F1-2021/EventDataDetails2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/EventDataDetails2021.cs
@@ -10,69 +10,43 @@ internal class EventDataDetails2021 : EventDataDetails2019, IEventDataDetails202
{
#region IEventDataDetails2021
- ///
- /// Type of penalty
- ///
+ ///
public PenaltyType PenaltyType { get; set; }
- ///
- /// Type of infringement
- ///
+ ///
public InfringementType PenaltyInfringementType { get; set; }
- ///
- /// Other vehicle index
- ///
+ ///
public ushort PenaltyOtherVehicleIndex { get; set; }
- ///
- /// Time gained or time spent doing action in seconds
- ///
+ ///
public ushort PenaltyTimeGained { get; set; }
- ///
- /// Lap of penalty occurred on
- ///
+ ///
public ushort PenaltyLapNumber { get; set; }
- ///
- /// Number of places gained by this penalty
- ///
+ ///
public ushort PenaltyPlacesGained { get; set; }
- ///
- /// Top speed achieved in km/h
- ///
+ ///
public float TopSpeed { get; set; }
- ///
- /// Overall fastest speed in session
- ///
+ ///
public bool IsTopSpeedOverallFastestInSession { get; set; }
- ///
- /// Fastest speed for driver in session
- ///
+ ///
public bool IsTopSpeedDriverFastestInSession { get; set; }
- ///
- /// Number of lights showing
- ///
+ ///
public ushort StartLightsNumbers { get; set; }
- ///
- /// Frame identifier flashed back
- ///
+ ///
public uint FlashbackFrame { get; set; }
- ///
- /// Session time flashed back
- ///
+ ///
public float FlashbackSessionTime { get; set; }
- ///
- /// Bit flags specifying which buttons are being pressed
- ///
+ ///
public uint ButtonsTriggered { get; set; }
#endregion // IEventDataDetails2021
diff --git a/F1Server.Core/Packets/Data/F1-2021/FinalClassificationCarData2021.cs b/F1Server.Core/Packets/Data/F1-2021/FinalClassificationCarData2021.cs
index d1ccc4e..2a7d29f 100644
--- a/F1Server.Core/Packets/Data/F1-2021/FinalClassificationCarData2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/FinalClassificationCarData2021.cs
@@ -23,69 +23,43 @@ public FinalClassificationCarData2021()
#region IFinalClassificationCarBase
- ///
- /// Finishing position
- ///
+ ///
public ushort Position { get; set; }
- ///
- /// Number of laps completed
- ///
+ ///
public ushort LapsCompleted { get; set; }
- ///
- /// Grid position of the car
- ///
+ ///
public ushort GridPosition { get; set; }
- ///
- /// Number of points scored
- ///
+ ///
public ushort Points { get; set; }
- ///
- /// Number of pit stops made
- ///
+ ///
public ushort PitStops { get; set; }
- ///
- /// Result status
- ///
+ ///
public ResultStatus ResultStatus { get; set; }
- ///
- /// Best lap time of the session in milliseconds
- ///
+ ///
public uint BestLapTimeInMs { get; set; }
- ///
- /// Total race time in seconds without penalties
- ///
+ ///
public double TotalRaceTime { get; set; }
- ///
- /// Total penalties accumulated in seconds
- ///
+ ///
public ushort PenaltiesTime { get; set; }
- ///
- /// Number of penalties applied to this driver
- ///
+ ///
public ushort NumPenalties { get; set; }
- ///
- /// Number of tyre stints up to maximum
- ///
+ ///
public ushort NumTyreStints { get; set; }
- ///
- /// Actual tyres used by this driver
- ///
+ ///
public ushort[] TyreStintsActual { get; }
- ///
- /// Visual tyre stints used by this driver
- ///
+ ///
public ushort[] TyreStintsVisual { get; }
#endregion // IFinalClassificationCarBase
diff --git a/F1Server.Core/Packets/Data/F1-2021/FinalClassificationData2021.cs b/F1Server.Core/Packets/Data/F1-2021/FinalClassificationData2021.cs
index e0fd024..8510cb5 100644
--- a/F1Server.Core/Packets/Data/F1-2021/FinalClassificationData2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/FinalClassificationData2021.cs
@@ -21,14 +21,10 @@ public FinalClassificationData2021()
#region IFinalClassificationData
- ///
- /// Number of cars in the final classification
- ///
+ ///
public ushort NumberOfCars { get; set; }
- ///
- /// Data of final classification for each car
- ///
+ ///
public IFinalClassificationCarBase[] FinalClassifications { get; }
#endregion // IFinalClassificationData
diff --git a/F1Server.Core/Packets/Data/F1-2021/LapData2021.cs b/F1Server.Core/Packets/Data/F1-2021/LapData2021.cs
index 0eca8b7..d2cae4b 100644
--- a/F1Server.Core/Packets/Data/F1-2021/LapData2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/LapData2021.cs
@@ -10,133 +10,83 @@ public class LapData2021 : ILapData2021
{
#region ILapData2021
- ///
- /// Last lap time in milliseconds
- ///
+ ///
public uint LastLapTime { get; set; }
- ///
- /// Current lap time in milliseconds
- ///
+ ///
public uint CurrentLapTime { get; set; }
- ///
- /// Sector 1 time in milliseconds
- ///
+ ///
public ushort Sector1Time { get; set; }
- ///
- /// Sector 2 time in milliseconds
- ///
+ ///
public ushort Sector2Time { get; set; }
- ///
- /// Accumulated number of warnings
- ///
+ ///
public ushort Warnings { get; set; }
- ///
- /// Number of drive through penalties left to serve
- ///
+ ///
public ushort NumberUnservedDriveThroughPens { get; set; }
- ///
- /// Number of stop and go penalties left to serve
- ///
+ ///
public ushort NumberUnservedStopAndGoPenalties { get; set; }
- ///
- /// Number of pit stops
- ///
+ ///
public ushort NumberPitStops { get; set; }
- ///
- /// Pit lane timing active flag
- ///
+ ///
public bool IsPitLaneTimerActive { get; set; }
- ///
- /// Pit lane time in lan in milliseconds, only if is active
- ///
+ ///
public ushort PitLaneTimeInLane { get; set; }
- ///
- /// Time of actual pit stop in milliseconds
- ///
+ ///
public ushort PitStopTimer { get; set; }
- ///
- /// Flag if the car should serve a penalty at this stop
- ///
+ ///
public bool PitStopShouldServePenalty { get; set; }
#endregion // ILapData2021
#region ILapDataBase
- ///
- /// Flag if there is no car available (is nothing from the game)
- ///
+ ///
public bool IsEmpty => GridPosition == 0 && CurrentLapTime == 0;
- ///
- /// Distance vehicle is around current lap in meters, negative is finish line not crossed yet
- ///
+ ///
public float LapDistance { get; set; }
- ///
- /// Total distance travelled in session in meters, can be negative like
- ///
+ ///
public float TotalDistance { get; set; }
- ///
- /// Delta in seconds for safety car
- ///
+ ///
public float SafetyCarDelta { get; set; }
- ///
- /// Actual race position
- ///
+ ///
public ushort CarPosition { get; set; }
- ///
- /// Current lap number
- ///
+ ///
public ushort CurrentLapNumber { get; set; }
- ///
- /// Current pit status
- ///
+ ///
public PitStatus CurrentPitStatus { get; set; }
- ///
- /// Current sector
- ///
+ ///
public Sector CurrentSector { get; set; }
- ///
- /// Is current lap invalid?
- ///
+ ///
public bool IsCurrentLapInvalid { get; set; }
- ///
- /// Accumulated time penalties in seconds to be added
- ///
+ ///
public ushort TimePenalties { get; set; }
- ///
- /// Grid start position
- ///
+ ///
public ushort GridPosition { get; set; }
- ///
- /// Current driver status
- ///
+ ///
public DriverStatus CurrentDriverStatus { get; set; }
- ///
- /// Current result status
- ///
+ ///
public ResultStatus CurrentResultStatus { get; set; }
#endregion // ILapDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2021/LapDataComplete2021.cs b/F1Server.Core/Packets/Data/F1-2021/LapDataComplete2021.cs
index 214bf3c..632772e 100644
--- a/F1Server.Core/Packets/Data/F1-2021/LapDataComplete2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/LapDataComplete2021.cs
@@ -21,9 +21,7 @@ public LapDataComplete2021()
#region ILapDataComplete
- ///
- /// Array with all lap data information of all cars
- ///
+ ///
public ILapDataBase[] LapData { get; }
#endregion // ILapDataComplete
diff --git a/F1Server.Core/Packets/Data/F1-2021/ParticipantData2021.cs b/F1Server.Core/Packets/Data/F1-2021/ParticipantData2021.cs
index b538642..7aa59d4 100644
--- a/F1Server.Core/Packets/Data/F1-2021/ParticipantData2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/ParticipantData2021.cs
@@ -9,53 +9,35 @@ public class ParticipantData2021 : IParticipantData2021
{
#region IParticipantDataBase
- ///
- /// Is AI controlled or human
- ///
+ ///
public bool IsAIControlled { get; set; }
- ///
- /// Id of driver
- ///
+ ///
public ushort DriverId { get; set; }
- ///
- /// Id of team
- ///
+ ///
public ushort TeamId { get; set; }
- ///
- /// Race number of the car
- ///
+ ///
public ushort RaceNumber { get; set; }
- ///
- /// Nationality of the driver
- ///
+ ///
public ushort Nationality { get; set; }
- ///
- /// Name of the driver
- ///
+ ///
public string DriverName { get; set; }
- ///
- /// Is telemetry restricted or public?
- ///
+ ///
public bool IsPublicTelemetry { get; set; }
#endregion // IParticipantDataBase
#region IParticipantData2021
- ///
- /// Identifier for network players
- ///
+ ///
public ushort NetworkId { get; set; }
- ///
- /// Is my team?
- ///
+ ///
public bool IsMyTeam { get; set; }
#endregion // IParticipantData2021
diff --git a/F1Server.Core/Packets/Data/F1-2021/ParticipantsData2021.cs b/F1Server.Core/Packets/Data/F1-2021/ParticipantsData2021.cs
index 70e6735..c2a8df2 100644
--- a/F1Server.Core/Packets/Data/F1-2021/ParticipantsData2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/ParticipantsData2021.cs
@@ -21,14 +21,10 @@ public ParticipantsData2021()
#region IParticipantsBase
- ///
- /// Active cars
- ///
+ ///
public ushort ActiveCars { get; set; }
- ///
- /// Data about participants in current session
- ///
+ ///
public IParticipantDataBase[] Participants { get; }
#endregion // IParticipantsBase
diff --git a/F1Server.Core/Packets/Data/F1-2021/SessionData2021.cs b/F1Server.Core/Packets/Data/F1-2021/SessionData2021.cs
index bafdbe4..bf37d91 100644
--- a/F1Server.Core/Packets/Data/F1-2021/SessionData2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/SessionData2021.cs
@@ -23,212 +23,132 @@ public SessionData2021()
#region ISessionDataBase
- ///
- /// Is session recordable? Network games or time trial are not
- ///
+ ///
public bool IsRecordable { get; set; }
- ///
- /// Weather condition
- ///
+ ///
public WeatherCondition Weather { get; set; }
- ///
- /// Track temperature
- ///
+ ///
public short TrackTemperature { get; set; }
- ///
- /// Air temperature
- ///
+ ///
public short AirTemperature { get; set; }
- ///
- /// Total laps
- ///
+ ///
public ushort TotalLaps { get; set; }
- ///
- /// Length of track
- ///
+ ///
public int TrackLength { get; set; }
- ///
- /// Session type
- ///
+ ///
public SessionType SessionType { get; set; }
- ///
- /// Track id, -1 when unknown
- ///
+ ///
public short TrackId { get; set; }
- ///
- /// Name of the track
- ///
+ ///
public string TrackName { get; set; }
- ///
- /// Formula type - F1 and so on
- ///
+ ///
public Formula FormulaType { get; set; }
- ///
- /// Session time left in seconds
- ///
+ ///
public int SessionTimeLeft { get; set; }
- ///
- /// Duration of current session
- ///
+ ///
public int SessionDuration { get; set; }
- ///
- /// Pit speed limit
- ///
+ ///
public ushort PitSpeedLimit { get; set; }
- ///
- /// Flag if game is paused
- ///
+ ///
public bool IsGamePaused { get; set; }
- ///
- /// Flag if user is spectating
- ///
+ ///
public bool IsSpectating { get; set; }
- ///
- /// Car index spectating
- ///
+ ///
public ushort SpectatorCarIndex { get; set; }
- ///
- /// SLI Pro support
- ///
+ ///
public bool IsSliProNativeSupport { get; set; }
- ///
- /// Number of marshal zones
- ///
+ ///
public ushort NumberOfMarshalZones { get; set; }
- ///
- /// Marshal zone data
- ///
+ ///
public MarshalZone[] MarshalZones { get; set; }
- ///
- /// Safety car status
- ///
+ ///
public SafetyCarStatus SafetyCar { get; set; }
- ///
- /// Online or offline
- ///
+ ///
public bool IsNetworkGame { get; set; }
#endregion // ISessionDataBase
#region ISessionData2020
- ///
- /// Number of weather samples to follow
- ///
+ ///
public ushort NumberWeatherForecastSamples { get; set; }
- ///
- /// Weather forecast data
- ///
+ ///
public WeatherForecastSample[] WeatherForecastSamples { get; }
#endregion // ISessionData2020
#region ISessionData2021
- ///
- /// Forecast accuracy
- ///
+ ///
public ForecastAccuracy ForecastAccuracy { get; set; }
- ///
- /// AI difficulty rating (0 - 110)
- ///
+ ///
public ushort AiDifficulty { get; set; }
- ///
- /// Identifier for season - persists across saves
- ///
+ ///
public uint SeasonLinkIdentifier { get; set; }
- ///
- /// Identifier for weekend - persists across saves
- ///
+ ///
public uint WeekendLinkIdentifier { get; set; }
- ///
- /// Identifier for session - persists across saves
- ///
+ ///
public uint SessionLinkIdentifier { get; set; }
- ///
- /// Ideal lap to pit on current strategy
- ///
+ ///
public ushort PitStopWindowIdealLap { get; set; }
- ///
- /// Latest lap to pit on current strategy
- ///
+ ///
public ushort PitStopWindowLatestLap { get; set; }
- ///
- /// Predicted position to rejoin at
- ///
+ ///
public ushort PitStopRejoinPosition { get; set; }
- ///
- /// Steering assist is on or off
- ///
+ ///
public bool IsSteeringAssist { get; set; }
- ///
- /// Braking assist setting
- ///
+ ///
public BrakingAssist BrakingAssist { get; set; }
- ///
- /// Gearbox assist setting
- ///
+ ///
public GearboxAssist GearboxAssist { get; set; }
- ///
- /// Pit assist on or off
- ///
+ ///
public bool IsPitAssist { get; set; }
- ///
- /// Pit release assist on or off
- ///
+ ///
public bool IsPitReleaseAssist { get; set; }
- ///
- /// ERS assist on or off
- ///
+ ///
public bool IsERSAssist { get; set; }
- ///
- /// DRS assist on or off
- ///
+ ///
public bool IsDRSAssist { get; set; }
- ///
- /// Dynamic race line settings
- ///
+ ///
public DynamicRaceLine DynamicRaceLine { get; set; }
- ///
- /// Type of dynamic race line
- ///
+ ///
public DynamicRaceLineType DynamicRaceLineType { get; set; }
#endregion // ISessionData2021
diff --git a/F1Server.Core/Packets/Data/F1-2021/SessionHistoryData2021.cs b/F1Server.Core/Packets/Data/F1-2021/SessionHistoryData2021.cs
index 42fe162..81163b1 100644
--- a/F1Server.Core/Packets/Data/F1-2021/SessionHistoryData2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/SessionHistoryData2021.cs
@@ -22,49 +22,31 @@ public SessionHistoryData2021()
#region ISessionHistoryDataBase
- ///
- /// Index of car
- ///
+ ///
public ushort CarIndex { get; set; }
- ///
- /// Number of laps in the data (including partial data of current lap)
- ///
+ ///
public ushort NumberOfLaps { get; set; }
- ///
- /// Number of tyre stints in the data
- ///
+ ///
public ushort NumberOfTyreStints { get; set; }
- ///
- /// Number of the lap on which the best lap time was achieved
- ///
+ ///
public ushort BestLapNumber { get; set; }
- ///
- /// Number of lap with best sector 1 time
- ///
+ ///
public ushort BestSector1LapNumber { get; set; }
- ///
- /// Number of lap with best sector 2 time
- ///
+ ///
public ushort BestSector2LapNumber { get; set; }
- ///
- /// Number of lap with best sector 3 time
- ///
+ ///
public ushort BestSector3LapNumber { get; set; }
- ///
- /// Array (max 100) lap data
- ///
+ ///
public ILapHistoryDataBase[] LapHistory { get; }
- ///
- /// History data of tyre stints
- ///
+ ///
public ITyreStintHistoryDataBase[] TyreStintHistory { get; }
#endregion // ISessionHistoryDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2021/SessionHistoryLapData2021.cs b/F1Server.Core/Packets/Data/F1-2021/SessionHistoryLapData2021.cs
index 391c9b5..a105ccb 100644
--- a/F1Server.Core/Packets/Data/F1-2021/SessionHistoryLapData2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/SessionHistoryLapData2021.cs
@@ -9,49 +9,31 @@ public class SessionHistoryLapData2021 : ILapHistoryDataBase
{
#region ILapHistoryDataBase
- ///
- /// Lap time in milliseconds
- ///
+ ///
public uint LapTime { get; set; }
- ///
- /// Sector 1 time in milliseconds
- ///
+ ///
public ushort Sector1Time { get; set; }
- ///
- /// Sector 2 time in milliseconds
- ///
+ ///
public ushort Sector2Time { get; set; }
- ///
- /// Sector 3 time in milliseconds
- ///
+ ///
public ushort Sector3Time { get; set; }
- ///
- /// Valid lap flag (0x01 - lap valid, 0x02 - sector 1 valid, 0x04 - sector 2 valid, 0x08 - sector 3 valid)
- ///
+ ///
public ushort LapValidFlag { get; set; }
- ///
- /// Is sector 1 time valid?
- ///
+ ///
public bool IsValidSector1 => (LapValidFlag & 0x02) == 0x02;
- ///
- /// Is sector 2 time valid?
- ///
+ ///
public bool IsValidSector2 => (LapValidFlag & 0x04) == 0x04;
- ///
- /// Is sector 3 time valid?
- ///
+ ///
public bool IsValidSector3 => (LapValidFlag & 0x08) == 0x08;
- ///
- /// Is lap time valid?
- ///
+ ///
public bool IsLapTimeValid => (LapValidFlag & 0x01) == 0x01;
#endregion // ILapHistoryDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2021/SessionHistoryTyreStintData2021.cs b/F1Server.Core/Packets/Data/F1-2021/SessionHistoryTyreStintData2021.cs
index 4a6015c..98dfe89 100644
--- a/F1Server.Core/Packets/Data/F1-2021/SessionHistoryTyreStintData2021.cs
+++ b/F1Server.Core/Packets/Data/F1-2021/SessionHistoryTyreStintData2021.cs
@@ -9,19 +9,13 @@ internal class SessionHistoryTyreStintData2021 : ITyreStintHistoryDataBase
{
#region ITyreStintHistoryDataBase
- ///
- /// Lap the tyre usage ends on (255 of current tyre)
- ///
+ ///
public ushort EndLap { get; set; }
- ///
- /// Actual tyres used by this driver
- ///
+ ///
public ushort TyreActualCompound { get; set; }
- ///
- /// Visual tyres used by this driver
- ///
+ ///
public ushort TyreVisualCompound { get; set; }
#endregion // ITyreStintHistoryDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2022/CarStatus2022.cs b/F1Server.Core/Packets/Data/F1-2022/CarStatus2022.cs
index aff80eb..e19315a 100644
--- a/F1Server.Core/Packets/Data/F1-2022/CarStatus2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/CarStatus2022.cs
@@ -28,9 +28,7 @@ public CarStatus2022()
#region ICarStatusBase
- ///
- /// Car Status of all cars
- ///
+ ///
public ICarStatusDataBase[] CarStatusData { get; }
#endregion // ICarStatusBase
diff --git a/F1Server.Core/Packets/Data/F1-2022/CarStatusData2022.cs b/F1Server.Core/Packets/Data/F1-2022/CarStatusData2022.cs
index 1c03d5a..c7d1d2f 100644
--- a/F1Server.Core/Packets/Data/F1-2022/CarStatusData2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/CarStatusData2022.cs
@@ -10,123 +10,77 @@ public class CarStatusData2022 : ICarStatusData2022
{
#region ICarStatusDataBase
- ///
- /// Traction control 0 - off - 2 - high
- ///
+ ///
public ushort TractionControl { get; set; }
- ///
- /// Anti lock brakes - 0 - off - 1 - on
- ///
+ ///
public ushort AntiLockBrakes { get; set; }
- ///
- /// Fuel mix - 0 - lean - 1 - standard - 2 - rich - 3 - max
- ///
+ ///
public ushort FuelMix { get; set; }
- ///
- /// Front brake bias in percentage
- ///
+ ///
public ushort FrontBrakeBias { get; set; }
- ///
- /// Pit limiter status - 0 - off - 1 - on
- ///
+ ///
public ushort PitLimiterStatus { get; set; }
- ///
- /// Current fuel mass
- ///
+ ///
public float FuelInTank { get; set; }
- ///
- /// Fuel capacity
- ///
+ ///
public float FuelCapacity { get; set; }
- ///
- /// Fuel remaining in terms of laps (value on MFD)
- ///
+ ///
public float FuelRemainingLaps { get; set; }
- ///
- /// Cars max RPM, point of rev limiter
- ///
+ ///
public uint MaxRPM { get; set; }
- ///
- /// Cars idle RPM
- ///
+ ///
public uint IdleRPM { get; set; }
- ///
- /// Maximum number of gears
- ///
+ ///
public ushort MaxGears { get; set; }
- ///
- /// DRS allowed - 0 - not allowed - 1 - allowed - -1 - unknown
- ///
+ ///
public short DRSAllowed { get; set; }
- ///
- /// Tyre compound
- ///
+ ///
public ushort ActualTyreCompound { get; set; }
- ///
- /// Visual tyre compound - can be different from actual compound
- ///
+ ///
public VisualTyreCompound VisualTyreCompound { get; set; }
- ///
- /// FIA flags
- ///
+ ///
public VehicleFiaFlagColor FiaFlags { get; set; }
- ///
- /// ERS energy store in Joules
- ///
+ ///
public float ERSStoreEnergy { get; set; }
- ///
- /// ERS deployment mode - 0 - none - 1 - medium - 2 - hotlap - 3 - overtake
- ///
+ ///
public ushort ERSDeployMode { get; set; }
- ///
- /// ERS energy harvested this lap by MGU-K
- ///
+ ///
public float ERSHarvestedThisLapMGUK { get; set; }
- ///
- /// ERS energy harvested this lap by MGU-H
- ///
+ ///
public float ERSHarvestedThisLapMGUH { get; set; }
- ///
- /// ERS energy deployed this lap
- ///
+ ///
public float ERSDeployedThisLap { get; set; }
#endregion // ICarStatusDataBase
#region ICarStatusData2022
- ///
- /// DRS activation distance - 0 - DRS not available - non-zero - DRS will be available
- ///
+ ///
public int DRSActivationDistance { get; set; }
- ///
- /// Age of laps of the current set of tyres
- ///
+ ///
public ushort TyresAgeLaps { get; set; }
- ///
- /// Whether the car is paused in a network game
- ///
+ ///
public ushort NetworkPaused { get; set; }
#endregion // ICarStatusData2022
diff --git a/F1Server.Core/Packets/Data/F1-2022/CarTelemetry2022.cs b/F1Server.Core/Packets/Data/F1-2022/CarTelemetry2022.cs
index ad27495..c5b76f7 100644
--- a/F1Server.Core/Packets/Data/F1-2022/CarTelemetry2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/CarTelemetry2022.cs
@@ -35,28 +35,20 @@ public CarTelemetry2022()
#region ICarTelemetry2022
- ///
- /// Index of MFD panel open - 255 = closed
- ///
+ ///
public ushort MfdPanelIndex { get; set; }
- ///
- /// Index of MFD panel open (second player)
- ///
+ ///
public ushort MfdPanelIndexSecondary { get; set; }
- ///
- /// Suggested gear
- ///
+ ///
public ushort SuggestedGear { get; set; }
#endregion // ICarTelemetry2022
#region ICarTelemetryBase
- ///
- /// Car telemetry of all cars
- ///
+ ///
public ICarTelemetryDataBase[] CarTelemetryData { get; }
#endregion // ICarTelemetryBase
diff --git a/F1Server.Core/Packets/Data/F1-2022/CarTelemetryData2022.cs b/F1Server.Core/Packets/Data/F1-2022/CarTelemetryData2022.cs
index b62cc9f..3f8bbd2 100644
--- a/F1Server.Core/Packets/Data/F1-2022/CarTelemetryData2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/CarTelemetryData2022.cs
@@ -9,88 +9,56 @@ public class CarTelemetryData2022 : ICarTelemetryData2022
{
#region ICarTelemetryDataBase
- ///
- /// Speed
- ///
+ ///
public ushort Speed { get; set; }
- ///
- /// Amount of throttle applied (0.0 - 1.0)
- ///
+ ///
public float Throttle { get; set; }
- ///
- /// Steering (-1.0 [full left] - 1.0 [full right])
- ///
+ ///
public float Steer { get; set; }
- ///
- /// Amount of brake applied (0.0 - 1.0)
- ///
+ ///
public float Brake { get; set; }
- ///
- /// Amount of clutch applied (0 - 100)
- ///
+ ///
public ushort Clutch { get; set; }
- ///
- /// Current gear (1-8, N = 0, R = -1)
- ///
+ ///
public short Gear { get; set; }
- ///
- /// Engine RPM
- ///
+ ///
public ushort EngineRPM { get; set; }
- ///
- /// DRS active or not
- ///
+ ///
public bool IsDRS { get; set; }
- ///
- /// Rev lights indicator in percent
- ///
+ ///
public ushort RevLightsIndicator { get; set; }
- ///
- /// Brakes temperatures (celsius)
- ///
+ ///
public Temperature BrakesTemperature { get; set; }
- ///
- /// Tyres surface temperature (celsius)
- ///
+ ///
public Temperature TyresSurfaceTemperature { get; set; }
- ///
- /// Tyres inner temperature (celsius)
- ///
+ ///
public Temperature TyresInnerTemperature { get; set; }
- ///
- /// Engine temperature (celsius)
- ///
+ ///
public ushort EngineTemperature { get; set; }
- ///
- /// Tyres pressure
- ///
+ ///
public TyresPressure TyresPressure { get; set; }
- ///
- /// Type of surface
- ///
+ ///
public WheelSurface SurfaceType { get; set; }
#endregion // ICarTelemetryDataBase
#region ICarTelemetryData2022
- ///
- /// Rev lights bit
- ///
+ ///
public ushort RevLightsBitValue { get; set; }
#endregion // ICarTelemetryData2022
diff --git a/F1Server.Core/Packets/Data/F1-2022/EventData2022.cs b/F1Server.Core/Packets/Data/F1-2022/EventData2022.cs
index 0db8a95..43b8b39 100644
--- a/F1Server.Core/Packets/Data/F1-2022/EventData2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/EventData2022.cs
@@ -21,14 +21,10 @@ public EventData2022()
#region IEventDataBase
- ///
- /// Event code
- ///
+ ///
public string EventCode { get; set; }
- ///
- /// Event details
- ///
+ ///
public IEventDataDetailsBase EventDetails { get; }
#endregion // IEventDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2022/EventDataDetails2022.cs b/F1Server.Core/Packets/Data/F1-2022/EventDataDetails2022.cs
index d7e6f02..0a31410 100644
--- a/F1Server.Core/Packets/Data/F1-2022/EventDataDetails2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/EventDataDetails2022.cs
@@ -10,79 +10,49 @@ internal class EventDataDetails2022 : EventDataDetails2019, IEventDataDetails202
{
#region IEventDataDetails2022
- ///
- /// Type of penalty
- ///
+ ///
public PenaltyType PenaltyType { get; set; }
- ///
- /// Type of infringement
- ///
+ ///
public InfringementType PenaltyInfringementType { get; set; }
- ///
- /// Other vehicle index
- ///
+ ///
public ushort PenaltyOtherVehicleIndex { get; set; }
- ///
- /// Time gained or time spent doing action in seconds
- ///
+ ///
public ushort PenaltyTimeGained { get; set; }
- ///
- /// Lap of penalty occurred on
- ///
+ ///
public ushort PenaltyLapNumber { get; set; }
- ///
- /// Number of places gained by this penalty
- ///
+ ///
public ushort PenaltyPlacesGained { get; set; }
- ///
- /// Top speed achieved in km/h
- ///
+ ///
public float TopSpeed { get; set; }
- ///
- /// Overall fastest speed in session
- ///
+ ///
public bool IsOverallFastestInSession { get; set; }
- ///
- /// Fastest speed for driver in session
- ///
+ ///
public bool IsDriverFastestInSession { get; set; }
- ///
- /// Fastest id of car in session
- ///
+ ///
public ushort FastestVehicleIndexInSession { get; set; }
- ///
- /// Speed of the vehicle that is the fastest in session
- ///
+ ///
public float FastestSpeedInSession { get; set; }
- ///
- /// Number of lights showing
- ///
+ ///
public ushort StartLightsNumbers { get; set; }
- ///
- /// Frame identifier flashed back
- ///
+ ///
public uint FlashbackFrame { get; set; }
- ///
- /// Session time flashed back
- ///
+ ///
public float FlashbackSessionTime { get; set; }
- ///
- /// Bit flags specifying which buttons are being pressed
- ///
+ ///
public uint ButtonsTriggered { get; set; }
#endregion // IEventDataDetails2022
diff --git a/F1Server.Core/Packets/Data/F1-2022/FinalClassificationCarData2022.cs b/F1Server.Core/Packets/Data/F1-2022/FinalClassificationCarData2022.cs
index 6540688..3c6b49c 100644
--- a/F1Server.Core/Packets/Data/F1-2022/FinalClassificationCarData2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/FinalClassificationCarData2022.cs
@@ -24,78 +24,50 @@ public FinalClassificationCarData2022()
#region IFinalClassificationCarBase
- ///
- /// Finishing position
- ///
+ ///
public ushort Position { get; set; }
- ///
- /// Number of laps completed
- ///
+ ///
public ushort LapsCompleted { get; set; }
- ///
- /// Grid position of the car
- ///
+ ///
public ushort GridPosition { get; set; }
- ///
- /// Number of points scored
- ///
+ ///
public ushort Points { get; set; }
- ///
- /// Number of pit stops made
- ///
+ ///
public ushort PitStops { get; set; }
- ///
- /// Result status
- ///
+ ///
public ResultStatus ResultStatus { get; set; }
- ///
- /// Best lap time of the session in milliseconds
- ///
+ ///
public uint BestLapTimeInMs { get; set; }
- ///
- /// Total race time in seconds without penalties
- ///
+ ///
public double TotalRaceTime { get; set; }
- ///
- /// Total penalties accumulated in seconds
- ///
+ ///
public ushort PenaltiesTime { get; set; }
- ///
- /// Number of penalties applied to this driver
- ///
+ ///
public ushort NumPenalties { get; set; }
- ///
- /// Number of tyre stints up to maximum
- ///
+ ///
public ushort NumTyreStints { get; set; }
- ///
- /// Actual tyres used by this driver
- ///
+ ///
public ushort[] TyreStintsActual { get; }
- ///
- /// Visual tyre stints used by this driver
- ///
+ ///
public ushort[] TyreStintsVisual { get; }
#endregion // IFinalClassificationCarBase
#region IFinalClassification2022
- ///
- /// The lap number stints end on
- ///
+ ///
public ushort[] TyreStintsEndLaps { get; set; }
#endregion // IFinalClassification2022
diff --git a/F1Server.Core/Packets/Data/F1-2022/FinalClassificationData2022.cs b/F1Server.Core/Packets/Data/F1-2022/FinalClassificationData2022.cs
index e83c02f..c991d2f 100644
--- a/F1Server.Core/Packets/Data/F1-2022/FinalClassificationData2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/FinalClassificationData2022.cs
@@ -26,14 +26,10 @@ public FinalClassificationData2022()
#region IFinalClassificationData
- ///
- /// Number of cars in the final classification
- ///
+ ///
public ushort NumberOfCars { get; set; }
- ///
- /// Data of final classification for each car
- ///
+ ///
public IFinalClassificationCarBase[] FinalClassifications { get; }
#endregion // IFinalClassificationData
diff --git a/F1Server.Core/Packets/Data/F1-2022/LapData2022.cs b/F1Server.Core/Packets/Data/F1-2022/LapData2022.cs
index f5d473d..85a63d1 100644
--- a/F1Server.Core/Packets/Data/F1-2022/LapData2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/LapData2022.cs
@@ -10,133 +10,83 @@ public class LapData2022 : ILapData2022
{
#region ILapData2022
- ///
- /// Last lap time in milliseconds
- ///
+ ///
public uint LastLapTime { get; set; }
- ///
- /// Current lap time in milliseconds
- ///
+ ///
public uint CurrentLapTime { get; set; }
- ///
- /// Sector 1 time in milliseconds
- ///
+ ///
public ushort Sector1Time { get; set; }
- ///
- /// Sector 2 time in milliseconds
- ///
+ ///
public ushort Sector2Time { get; set; }
- ///
- /// Number of pit stops
- ///
+ ///
public ushort NumberPitStops { get; set; }
- ///
- /// Accumulated number of warnings
- ///
+ ///
public ushort Warnings { get; set; }
- ///
- /// Number of drive through penalties left to serve
- ///
+ ///
public ushort NumberUnservedDriveThroughPens { get; set; }
- ///
- /// Number of stop and go penalties left to serve
- ///
+ ///
public ushort NumberUnservedStopAndGoPenalties { get; set; }
- ///
- /// Pit lane timing active flag
- ///
+ ///
public bool IsPitLaneTimerActive { get; set; }
- ///
- /// Pit lane time in lan in milliseconds, only if is active
- ///
+ ///
public ushort PitLaneTimeInLane { get; set; }
- ///
- /// Time of actual pit stop in milliseconds
- ///
+ ///
public ushort PitStopTimer { get; set; }
- ///
- /// Flag if the car should serve a penalty at this stop
- ///
+ ///
public bool PitStopShouldServePenalty { get; set; }
#endregion // ILapData2022
#region ILapDataBase
- ///
- /// Flag if there is no car available (is nothing from the game)
- ///
+ ///
public bool IsEmpty => GridPosition == 0 && CurrentLapTime == 0;
- ///
- /// Distance vehicle is around current lap in meters, negative is finish line not crossed yet
- ///
+ ///
public float LapDistance { get; set; }
- ///
- /// Total distance travelled in session in meters, can be negative like
- ///
+ ///
public float TotalDistance { get; set; }
- ///
- /// Delta in seconds for safety car
- ///
+ ///
public float SafetyCarDelta { get; set; }
- ///
- /// Actual race position
- ///
+ ///
public ushort CarPosition { get; set; }
- ///
- /// Current lap number
- ///
+ ///
public ushort CurrentLapNumber { get; set; }
- ///
- /// Current pit status
- ///
+ ///
public PitStatus CurrentPitStatus { get; set; }
- ///
- /// Current sector
- ///
+ ///
public Sector CurrentSector { get; set; }
- ///
- /// Is current lap invalid?
- ///
+ ///
public bool IsCurrentLapInvalid { get; set; }
- ///
- /// Accumulated time penalties in seconds to be added
- ///
+ ///
public ushort TimePenalties { get; set; }
- ///
- /// Grid start position
- ///
+ ///
public ushort GridPosition { get; set; }
- ///
- /// Current driver status
- ///
+ ///
public DriverStatus CurrentDriverStatus { get; set; }
- ///
- /// Current result status
- ///
+ ///
public ResultStatus CurrentResultStatus { get; set; }
#endregion // ILapDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2022/LapDataComplete2022.cs b/F1Server.Core/Packets/Data/F1-2022/LapDataComplete2022.cs
index 92ce720..a7fa3c1 100644
--- a/F1Server.Core/Packets/Data/F1-2022/LapDataComplete2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/LapDataComplete2022.cs
@@ -26,23 +26,17 @@ public LapDataComplete2022()
#region ILapDataComplete
- ///
- /// Array with all lap data information of all cars
- ///
+ ///
public ILapDataBase[] LapData { get; }
#endregion // ILapDataComplete
#region ILapDataComplete2022
- ///
- /// Index of personal best car in time trial (255 - invalid)
- ///
+ ///
public ushort TimeTrialPersonalBestCarIndex { get; set; }
- ///
- /// Index of rival car in time trial (255 - invalid)
- ///
+ ///
public ushort TimeTrialRivalCarIndex { get; set; }
#endregion // ILapDataComplete2022
diff --git a/F1Server.Core/Packets/Data/F1-2022/ParticipantData2022.cs b/F1Server.Core/Packets/Data/F1-2022/ParticipantData2022.cs
index 88646fc..c570d14 100644
--- a/F1Server.Core/Packets/Data/F1-2022/ParticipantData2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/ParticipantData2022.cs
@@ -9,53 +9,35 @@ public class ParticipantData2022 : IParticipantData2022
{
#region IParticipantDataBase
- ///
- /// Is AI controlled or human
- ///
+ ///
public bool IsAIControlled { get; set; }
- ///
- /// Id of driver
- ///
+ ///
public ushort DriverId { get; set; }
- ///
- /// Id of team
- ///
+ ///
public ushort TeamId { get; set; }
- ///
- /// Race number of the car
- ///
+ ///
public ushort RaceNumber { get; set; }
- ///
- /// Nationality of the driver
- ///
+ ///
public ushort Nationality { get; set; }
- ///
- /// Name of the driver
- ///
+ ///
public string DriverName { get; set; }
- ///
- /// Is telemetry restricted or public?
- ///
+ ///
public bool IsPublicTelemetry { get; set; }
#endregion // IParticipantDataBase
#region IParticipantData2021
- ///
- /// Identifier for network players
- ///
+ ///
public ushort NetworkId { get; set; }
- ///
- /// Is my team?
- ///
+ ///
public bool IsMyTeam { get; set; }
#endregion // IParticipantData2021
diff --git a/F1Server.Core/Packets/Data/F1-2022/ParticipantsData2022.cs b/F1Server.Core/Packets/Data/F1-2022/ParticipantsData2022.cs
index 05b0cb1..4fd74c1 100644
--- a/F1Server.Core/Packets/Data/F1-2022/ParticipantsData2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/ParticipantsData2022.cs
@@ -26,14 +26,10 @@ public ParticipantsData2022()
#region IParticipantsBase
- ///
- /// Active cars
- ///
+ ///
public ushort ActiveCars { get; set; }
- ///
- /// Data about participants in current session
- ///
+ ///
public IParticipantDataBase[] Participants { get; }
#endregion // IParticipantsBase
diff --git a/F1Server.Core/Packets/Data/F1-2022/SessionData2022.cs b/F1Server.Core/Packets/Data/F1-2022/SessionData2022.cs
index e62b22d..8947db2 100644
--- a/F1Server.Core/Packets/Data/F1-2022/SessionData2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/SessionData2022.cs
@@ -23,236 +23,148 @@ public SessionData2022()
#region ISessionDataBase
- ///
- /// Is session recordable? Network games or time trial are not
- ///
+ ///
public bool IsRecordable { get; set; }
- ///
- /// Weather condition
- ///
+ ///
public WeatherCondition Weather { get; set; }
- ///
- /// Track temperature
- ///
+ ///
public short TrackTemperature { get; set; }
- ///
- /// Air temperature
- ///
+ ///
public short AirTemperature { get; set; }
- ///
- /// Total laps
- ///
+ ///
public ushort TotalLaps { get; set; }
- ///
- /// Length of track
- ///
+ ///
public int TrackLength { get; set; }
- ///
- /// Session type
- ///
+ ///
public SessionType SessionType { get; set; }
- ///
- /// Track id, -1 when unknown
- ///
+ ///
public short TrackId { get; set; }
- ///
- /// Name of the track
- ///
+ ///
public string TrackName { get; set; }
- ///
- /// Formula type - F1 and so on
- ///
+ ///
public Formula FormulaType { get; set; }
- ///
- /// Session time left in seconds
- ///
+ ///
public int SessionTimeLeft { get; set; }
- ///
- /// Duration of current session
- ///
+ ///
public int SessionDuration { get; set; }
- ///
- /// Pit speed limit
- ///
+ ///
public ushort PitSpeedLimit { get; set; }
- ///
- /// Flag if game is paused
- ///
+ ///
public bool IsGamePaused { get; set; }
- ///
- /// Flag if user is spectating
- ///
+ ///
public bool IsSpectating { get; set; }
- ///
- /// Car index spectating
- ///
+ ///
public ushort SpectatorCarIndex { get; set; }
- ///
- /// SLI Pro support
- ///
+ ///
public bool IsSliProNativeSupport { get; set; }
- ///
- /// Number of marshal zones
- ///
+ ///
public ushort NumberOfMarshalZones { get; set; }
- ///
- /// Marshal zone data
- ///
+ ///
public MarshalZone[] MarshalZones { get; set; }
- ///
- /// Safety car status
- ///
+ ///
public SafetyCarStatus SafetyCar { get; set; }
- ///
- /// Online or offline
- ///
+ ///
public bool IsNetworkGame { get; set; }
#endregion // ISessionDataBase
#region ISessionData2020
- ///
- /// Number of weather samples to follow
- ///
+ ///
public ushort NumberWeatherForecastSamples { get; set; }
- ///
- /// Weather forecast data
- ///
+ ///
public WeatherForecastSample[] WeatherForecastSamples { get; }
#endregion // ISessionData2020
#region ISessionData2021
- ///
- /// Forecast accuracy
- ///
+ ///
public ForecastAccuracy ForecastAccuracy { get; set; }
- ///
- /// AI difficulty rating (0 - 110)
- ///
+ ///
public ushort AiDifficulty { get; set; }
- ///
- /// Identifier for season - persists across saves
- ///
+ ///
public uint SeasonLinkIdentifier { get; set; }
- ///
- /// Identifier for weekend - persists across saves
- ///
+ ///
public uint WeekendLinkIdentifier { get; set; }
- ///
- /// Identifier for session - persists across saves
- ///
+ ///
public uint SessionLinkIdentifier { get; set; }
- ///
- /// Ideal lap to pit on current strategy
- ///
+ ///
public ushort PitStopWindowIdealLap { get; set; }
- ///
- /// Latest lap to pit on current strategy
- ///
+ ///
public ushort PitStopWindowLatestLap { get; set; }
- ///
- /// Predicted position to rejoin at
- ///
+ ///
public ushort PitStopRejoinPosition { get; set; }
- ///
- /// Steering assist is on or off
- ///
+ ///
public bool IsSteeringAssist { get; set; }
- ///
- /// Braking assist setting
- ///
+ ///
public BrakingAssist BrakingAssist { get; set; }
- ///
- /// Gearbox assist setting
- ///
+ ///
public GearboxAssist GearboxAssist { get; set; }
- ///
- /// Pit assist on or off
- ///
+ ///
public bool IsPitAssist { get; set; }
- ///
- /// Pit release assist on or off
- ///
+ ///
public bool IsPitReleaseAssist { get; set; }
- ///
- /// ERS assist on or off
- ///
+ ///
public bool IsERSAssist { get; set; }
- ///
- /// DRS assist on or off
- ///
+ ///
public bool IsDRSAssist { get; set; }
- ///
- /// Dynamic race line settings
- ///
+ ///
public DynamicRaceLine DynamicRaceLine { get; set; }
- ///
- /// Type of dynamic race line
- ///
+ ///
public DynamicRaceLineType DynamicRaceLineType { get; set; }
#endregion // ISessionData2021
#region ISessionData2022
- ///
- /// Game mode
- ///
+ ///
public GameMode GameMode { get; set; }
- ///
- /// Ruleset
- ///
+ ///
public RuleSet RuleSet { get; set; }
- ///
- /// Local time of day - minutes since midnight
- ///
+ ///
public uint LocalTimeOfDay { get; set; }
- ///
- /// Length of session
- ///
+ ///
public SessionLength SessionLength { get; set; }
#endregion // ISessionData2022
diff --git a/F1Server.Core/Packets/Data/F1-2022/SessionHistoryData2022.cs b/F1Server.Core/Packets/Data/F1-2022/SessionHistoryData2022.cs
index 4e08357..18e879a 100644
--- a/F1Server.Core/Packets/Data/F1-2022/SessionHistoryData2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/SessionHistoryData2022.cs
@@ -32,49 +32,31 @@ public SessionHistoryData2022()
#region ISessionHistoryDataBase
- ///
- /// Index of car
- ///
+ ///
public ushort CarIndex { get; set; }
- ///
- /// Number of laps in the data (including partial data of current lap)
- ///
+ ///
public ushort NumberOfLaps { get; set; }
- ///
- /// Number of tyre stints in the data
- ///
+ ///
public ushort NumberOfTyreStints { get; set; }
- ///
- /// Number of the lap on which the best lap time was achieved
- ///
+ ///
public ushort BestLapNumber { get; set; }
- ///
- /// Number of lap with best sector 1 time
- ///
+ ///
public ushort BestSector1LapNumber { get; set; }
- ///
- /// Number of lap with best sector 2 time
- ///
+ ///
public ushort BestSector2LapNumber { get; set; }
- ///
- /// Number of lap with best sector 3 time
- ///
+ ///
public ushort BestSector3LapNumber { get; set; }
- ///
- /// Array (max 100) lap data
- ///
+ ///
public ILapHistoryDataBase[] LapHistory { get; }
- ///
- /// History data of tyre stints
- ///
+ ///
public ITyreStintHistoryDataBase[] TyreStintHistory { get; }
#endregion // ISessionHistoryDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2022/SessionHistoryLapData2022.cs b/F1Server.Core/Packets/Data/F1-2022/SessionHistoryLapData2022.cs
index acc3859..3f59dbd 100644
--- a/F1Server.Core/Packets/Data/F1-2022/SessionHistoryLapData2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/SessionHistoryLapData2022.cs
@@ -9,49 +9,31 @@ public class SessionHistoryLapData2022 : ILapHistoryDataBase
{
#region ILapHistoryDataBase
- ///
- /// Lap time in milliseconds
- ///
+ ///
public uint LapTime { get; set; }
- ///
- /// Sector 1 time in milliseconds
- ///
+ ///
public ushort Sector1Time { get; set; }
- ///
- /// Sector 2 time in milliseconds
- ///
+ ///
public ushort Sector2Time { get; set; }
- ///
- /// Sector 3 time in milliseconds
- ///
+ ///
public ushort Sector3Time { get; set; }
- ///
- /// Valid lap flag (0x01 - lap valid, 0x02 - sector 1 valid, 0x04 - sector 2 valid, 0x08 - sector 3 valid)
- ///
+ ///
public ushort LapValidFlag { get; set; }
- ///
- /// Is sector 1 time valid?
- ///
+ ///
public bool IsValidSector1 => (LapValidFlag & 0x02) == 0x02;
- ///
- /// Is sector 2 time valid?
- ///
+ ///
public bool IsValidSector2 => (LapValidFlag & 0x04) == 0x04;
- ///
- /// Is sector 3 time valid?
- ///
+ ///
public bool IsValidSector3 => (LapValidFlag & 0x08) == 0x08;
- ///
- /// Is lap time valid?
- ///
+ ///
public bool IsLapTimeValid => (LapValidFlag & 0x01) == 0x01;
#endregion // ILapHistoryDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2022/SessionHistoryTyreStintData2022.cs b/F1Server.Core/Packets/Data/F1-2022/SessionHistoryTyreStintData2022.cs
index 65b0b28..4bcd239 100644
--- a/F1Server.Core/Packets/Data/F1-2022/SessionHistoryTyreStintData2022.cs
+++ b/F1Server.Core/Packets/Data/F1-2022/SessionHistoryTyreStintData2022.cs
@@ -9,19 +9,13 @@ internal class SessionHistoryTyreStintData2022 : ITyreStintHistoryDataBase
{
#region ITyreStintHistoryDataBase
- ///
- /// Lap the tyre usage ends on (255 of current tyre)
- ///
+ ///
public ushort EndLap { get; set; }
- ///
- /// Actual tyres used by this driver
- ///
+ ///
public ushort TyreActualCompound { get; set; }
- ///
- /// Visual tyres used by this driver
- ///
+ ///
public ushort TyreVisualCompound { get; set; }
#endregion // ITyreStintHistoryDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2023/CarStatus2023.cs b/F1Server.Core/Packets/Data/F1-2023/CarStatus2023.cs
index 9179c70..70cd010 100644
--- a/F1Server.Core/Packets/Data/F1-2023/CarStatus2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/CarStatus2023.cs
@@ -28,9 +28,7 @@ public CarStatus2023()
#region ICarStatusBase
- ///
- /// Car Status of all cars
- ///
+ ///
public ICarStatusDataBase[] CarStatusData { get; }
#endregion // ICarStatusBase
diff --git a/F1Server.Core/Packets/Data/F1-2023/CarStatusData2023.cs b/F1Server.Core/Packets/Data/F1-2023/CarStatusData2023.cs
index 041050a..e8ad8f9 100644
--- a/F1Server.Core/Packets/Data/F1-2023/CarStatusData2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/CarStatusData2023.cs
@@ -10,133 +10,83 @@ public class CarStatusData2023 : ICarStatusData2023
{
#region ICarStatusDataBase
- ///
- /// Traction control 0 - off - 2 - high
- ///
+ ///
public ushort TractionControl { get; set; }
- ///
- /// Anti lock brakes - 0 - off - 1 - on
- ///
+ ///
public ushort AntiLockBrakes { get; set; }
- ///
- /// Fuel mix - 0 - lean - 1 - standard - 2 - rich - 3 - max
- ///
+ ///
public ushort FuelMix { get; set; }
- ///
- /// Front brake bias in percentage
- ///
+ ///
public ushort FrontBrakeBias { get; set; }
- ///
- /// Pit limiter status - 0 - off - 1 - on
- ///
+ ///
public ushort PitLimiterStatus { get; set; }
- ///
- /// Current fuel mass
- ///
+ ///
public float FuelInTank { get; set; }
- ///
- /// Fuel capacity
- ///
+ ///
public float FuelCapacity { get; set; }
- ///
- /// Fuel remaining in terms of laps (value on MFD)
- ///
+ ///
public float FuelRemainingLaps { get; set; }
- ///
- /// Cars max RPM, point of rev limiter
- ///
+ ///
public uint MaxRPM { get; set; }
- ///
- /// Cars idle RPM
- ///
+ ///
public uint IdleRPM { get; set; }
- ///
- /// Maximum number of gears
- ///
+ ///
public ushort MaxGears { get; set; }
- ///
- /// DRS allowed - 0 - not allowed - 1 - allowed - -1 - unknown
- ///
+ ///
public short DRSAllowed { get; set; }
- ///
- /// Tyre compound
- ///
+ ///
public ushort ActualTyreCompound { get; set; }
- ///
- /// Visual tyre compound - can be different from actual compound
- ///
+ ///
public VisualTyreCompound VisualTyreCompound { get; set; }
- ///
- /// FIA flags
- ///
+ ///
public VehicleFiaFlagColor FiaFlags { get; set; }
- ///
- /// ERS energy store in Joules
- ///
+ ///
public float ERSStoreEnergy { get; set; }
- ///
- /// ERS deployment mode - 0 - none - 1 - medium - 2 - hotlap - 3 - overtake
- ///
+ ///
public ushort ERSDeployMode { get; set; }
- ///
- /// ERS energy harvested this lap by MGU-K
- ///
+ ///
public float ERSHarvestedThisLapMGUK { get; set; }
- ///
- /// ERS energy harvested this lap by MGU-H
- ///
+ ///
public float ERSHarvestedThisLapMGUH { get; set; }
- ///
- /// ERS energy deployed this lap
- ///
+ ///
public float ERSDeployedThisLap { get; set; }
#endregion // ICarStatusDataBase
#region ICarStatusData2023
- ///
- /// Engine power output of ICE (W)
- ///
+ ///
public float EnginePowerICE { get; set; }
- ///
- /// Engine power output of MGU-K (W)
- ///
+ ///
public float EnginePowerMGUK { get; set; }
- ///
- /// DRS activation distance - 0 - DRS not available - non-zero - DRS will be available
- ///
+ ///
public int DRSActivationDistance { get; set; }
- ///
- /// Age of laps of the current set of tyres
- ///
+ ///
public ushort TyresAgeLaps { get; set; }
- ///
- /// Whether the car is paused in a network game
- ///
+ ///
public ushort NetworkPaused { get; set; }
#endregion // ICarStatusData2023
diff --git a/F1Server.Core/Packets/Data/F1-2023/CarTelemetry2023.cs b/F1Server.Core/Packets/Data/F1-2023/CarTelemetry2023.cs
index 3056f78..4ecf471 100644
--- a/F1Server.Core/Packets/Data/F1-2023/CarTelemetry2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/CarTelemetry2023.cs
@@ -35,28 +35,20 @@ public CarTelemetry2023()
#region ICarTelemetry2023
- ///
- /// Index of MFD panel open - 255 = closed
- ///
+ ///
public ushort MfdPanelIndex { get; set; }
- ///
- /// Index of MFD panel open (second player)
- ///
+ ///
public ushort MfdPanelIndexSecondary { get; set; }
- ///
- /// Suggested gear
- ///
+ ///
public ushort SuggestedGear { get; set; }
#endregion // ICarTelemetry2023
#region ICarTelemetryBase
- ///
- /// Car telemetry of all cars
- ///
+ ///
public ICarTelemetryDataBase[] CarTelemetryData { get; }
#endregion // ICarTelemetryBase
diff --git a/F1Server.Core/Packets/Data/F1-2023/CarTelemetryData2023.cs b/F1Server.Core/Packets/Data/F1-2023/CarTelemetryData2023.cs
index b81f3b3..46b7788 100644
--- a/F1Server.Core/Packets/Data/F1-2023/CarTelemetryData2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/CarTelemetryData2023.cs
@@ -9,88 +9,56 @@ public class CarTelemetryData2023 : ICarTelemetryData2023
{
#region ICarTelemetryDataBase
- ///
- /// Speed
- ///
+ ///
public ushort Speed { get; set; }
- ///
- /// Amount of throttle applied (0.0 - 1.0)
- ///
+ ///
public float Throttle { get; set; }
- ///
- /// Steering (-1.0 [full left] - 1.0 [full right])
- ///
+ ///
public float Steer { get; set; }
- ///
- /// Amount of brake applied (0.0 - 1.0)
- ///
+ ///
public float Brake { get; set; }
- ///
- /// Amount of clutch applied (0 - 100)
- ///
+ ///
public ushort Clutch { get; set; }
- ///
- /// Current gear (1-8, N = 0, R = -1)
- ///
+ ///
public short Gear { get; set; }
- ///
- /// Engine RPM
- ///
+ ///
public ushort EngineRPM { get; set; }
- ///
- /// DRS active or not
- ///
+ ///
public bool IsDRS { get; set; }
- ///
- /// Rev lights indicator in percent
- ///
+ ///
public ushort RevLightsIndicator { get; set; }
- ///
- /// Brakes temperatures (celsius)
- ///
+ ///
public Temperature BrakesTemperature { get; set; }
- ///
- /// Tyres surface temperature (celsius)
- ///
+ ///
public Temperature TyresSurfaceTemperature { get; set; }
- ///
- /// Tyres inner temperature (celsius)
- ///
+ ///
public Temperature TyresInnerTemperature { get; set; }
- ///
- /// Engine temperature (celsius)
- ///
+ ///
public ushort EngineTemperature { get; set; }
- ///
- /// Tyres pressure
- ///
+ ///
public TyresPressure TyresPressure { get; set; }
- ///
- /// Type of surface
- ///
+ ///
public WheelSurface SurfaceType { get; set; }
#endregion // ICarTelemetryDataBase
#region ICarTelemetryData2023
- ///
- /// Rev lights bit
- ///
+ ///
public ushort RevLightsBitValue { get; set; }
#endregion // ICarTelemetryData2023
diff --git a/F1Server.Core/Packets/Data/F1-2023/EventData2023.cs b/F1Server.Core/Packets/Data/F1-2023/EventData2023.cs
index fb35943..c626dbb 100644
--- a/F1Server.Core/Packets/Data/F1-2023/EventData2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/EventData2023.cs
@@ -21,14 +21,10 @@ public EventData2023()
#region IEventDataBase
- ///
- /// Event code
- ///
+ ///
public string EventCode { get; set; } = string.Empty;
- ///
- /// Event details
- ///
+ ///
public IEventDataDetailsBase EventDetails { get; }
#endregion // IEventDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2023/EventDataDetails2023.cs b/F1Server.Core/Packets/Data/F1-2023/EventDataDetails2023.cs
index a9de920..385ffd1 100644
--- a/F1Server.Core/Packets/Data/F1-2023/EventDataDetails2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/EventDataDetails2023.cs
@@ -10,94 +10,58 @@ internal class EventDataDetails2023 : EventDataDetails2019, IEventDataDetails202
{
#region IEventDataDetails2023
- ///
- /// Type of penalty
- ///
+ ///
public PenaltyType PenaltyType { get; set; }
- ///
- /// Type of infringement
- ///
+ ///
public InfringementType PenaltyInfringementType { get; set; }
- ///
- /// Other vehicle index
- ///
+ ///
public ushort PenaltyOtherVehicleIndex { get; set; }
- ///
- /// Time gained or time spent doing action in seconds
- ///
+ ///
public ushort PenaltyTimeGained { get; set; }
- ///
- /// Lap of penalty occurred on
- ///
+ ///
public ushort PenaltyLapNumber { get; set; }
- ///
- /// Number of places gained by this penalty
- ///
+ ///
public ushort PenaltyPlacesGained { get; set; }
- ///
- /// Top speed achieved in km/h
- ///
+ ///
public float TopSpeed { get; set; }
- ///
- /// Overall fastest speed in session
- ///
+ ///
public bool IsOverallFastestInSession { get; set; }
- ///
- /// Fastest speed for driver in session
- ///
+ ///
public bool IsDriverFastestInSession { get; set; }
- ///
- /// Fastest id of car in session
- ///
+ ///
public ushort FastestVehicleIndexInSession { get; set; }
- ///
- /// Speed of the vehicle that is the fastest in session
- ///
+ ///
public float FastestSpeedInSession { get; set; }
- ///
- /// Number of lights showing
- ///
+ ///
public ushort StartLightsNumbers { get; set; }
- ///
- /// Frame identifier flashed back
- ///
+ ///
public uint FlashbackFrame { get; set; }
- ///
- /// Session time flashed back
- ///
+ ///
public float FlashbackSessionTime { get; set; }
- ///
- /// Bit flags specifying which buttons are being pressed
- ///
+ ///
public uint ButtonsTriggered { get; set; }
- ///
- /// Vehicle index of the vehicle overtaking
- ///
+ ///
public ushort OvertakingVehicleIndex { get; set; }
- ///
- /// Vehicle index of vehicle being overtaken
- ///
+ ///
public ushort BeingOvertakenVehicleIndex { get; set; }
- ///
- /// Red flag shown
- ///
+ ///
public bool IsRedFlag { get; set; }
#endregion // IEventDataDetails2023
diff --git a/F1Server.Core/Packets/Data/F1-2023/FinalClassificationCarData2023.cs b/F1Server.Core/Packets/Data/F1-2023/FinalClassificationCarData2023.cs
index cdf5ae5..3dd9fee 100644
--- a/F1Server.Core/Packets/Data/F1-2023/FinalClassificationCarData2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/FinalClassificationCarData2023.cs
@@ -24,78 +24,50 @@ public FinalClassificationCarData2023()
#region IFinalClassificationCarBase
- ///
- /// Finishing position
- ///
+ ///
public ushort Position { get; set; }
- ///
- /// Number of laps completed
- ///
+ ///
public ushort LapsCompleted { get; set; }
- ///
- /// Grid position of the car
- ///
+ ///
public ushort GridPosition { get; set; }
- ///
- /// Number of points scored
- ///
+ ///
public ushort Points { get; set; }
- ///
- /// Number of pit stops made
- ///
+ ///
public ushort PitStops { get; set; }
- ///
- /// Result status
- ///
+ ///
public ResultStatus ResultStatus { get; set; }
- ///
- /// Best lap time of the session in milliseconds
- ///
+ ///
public uint BestLapTimeInMs { get; set; }
- ///
- /// Total race time in seconds without penalties
- ///
+ ///
public double TotalRaceTime { get; set; }
- ///
- /// Total penalties accumulated in seconds
- ///
+ ///
public ushort PenaltiesTime { get; set; }
- ///
- /// Number of penalties applied to this driver
- ///
+ ///
public ushort NumPenalties { get; set; }
- ///
- /// Number of tyre stints up to maximum
- ///
+ ///
public ushort NumTyreStints { get; set; }
- ///
- /// Actual tyres used by this driver
- ///
+ ///
public ushort[] TyreStintsActual { get; }
- ///
- /// Visual tyre stints used by this driver
- ///
+ ///
public ushort[] TyreStintsVisual { get; }
#endregion // IFinalClassificationCarBase
#region IFinalClassification2023
- ///
- /// The lap number stints end on
- ///
+ ///
public ushort[] TyreStintsEndLaps { get; set; }
#endregion // IFinalClassification2023
diff --git a/F1Server.Core/Packets/Data/F1-2023/FinalClassificationData2023.cs b/F1Server.Core/Packets/Data/F1-2023/FinalClassificationData2023.cs
index 3fa534d..bec6e7d 100644
--- a/F1Server.Core/Packets/Data/F1-2023/FinalClassificationData2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/FinalClassificationData2023.cs
@@ -26,14 +26,10 @@ public FinalClassificationData2023()
#region IFinalClassificationData
- ///
- /// Number of cars in the final classification
- ///
+ ///
public ushort NumberOfCars { get; set; }
- ///
- /// Data of final classification for each car
- ///
+ ///
public IFinalClassificationCarBase[] FinalClassifications { get; }
#endregion // IFinalClassificationData
diff --git a/F1Server.Core/Packets/Data/F1-2023/LapData2023.cs b/F1Server.Core/Packets/Data/F1-2023/LapData2023.cs
index 8241e6f..f04a770 100644
--- a/F1Server.Core/Packets/Data/F1-2023/LapData2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/LapData2023.cs
@@ -10,158 +10,98 @@ public class LapData2023 : ILapData2023
{
#region ILapData2023
- ///
- /// Last lap time in milliseconds
- ///
+ ///
public uint LastLapTime { get; set; }
- ///
- /// Current lap time in milliseconds
- ///
+ ///
public uint CurrentLapTime { get; set; }
- ///
- /// Sector 1 time in milliseconds
- ///
+ ///
public ushort Sector1Time { get; set; }
- ///
- /// Sector 1 whole minutes part
- ///
+ ///
public ushort Sector1TimeMinutes { get; set; }
- ///
- /// Sector 2 time in milliseconds
- ///
+ ///
public ushort Sector2Time { get; set; }
- ///
- /// Sector 2 whole minutes part
- ///
+ ///
public ushort Sector2TimeMinutes { get; set; }
- ///
- /// Delta to car in front in milliseconds
- ///
+ ///
public ushort DeltaToCarInFront { get; set; }
- ///
- /// Delta to race leader in milliseconds
- ///
+ ///
public ushort DeltaToRaceLeader { get; set; }
- ///
- /// Number of pit stops
- ///
+ ///
public ushort NumberPitStops { get; set; }
- ///
- /// Accumulated number of warnings
- ///
+ ///
public ushort Warnings { get; set; }
- ///
- /// Accumulated number of corner cutting warnings
- ///
+ ///
public ushort CornerCuttingWarnings { get; set; }
- ///
- /// Number of drive through penalties left to serve
- ///
+ ///
public ushort NumberUnservedDriveThroughPens { get; set; }
- ///
- /// Number of stop and go penalties left to serve
- ///
+ ///
public ushort NumberUnservedStopAndGoPenalties { get; set; }
- ///
- /// Pit lane timing active flag
- ///
+ ///
public bool IsPitLaneTimerActive { get; set; }
- ///
- /// Pit lane time in lane in milliseconds, only if is active
- ///
+ ///
public ushort PitLaneTimeInLane { get; set; }
- ///
- /// Time of actual pit stop in milliseconds
- ///
+ ///
public ushort PitStopTimer { get; set; }
- ///
- /// Flag if the car should serve a penalty at this stop
- ///
+ ///
public bool PitStopShouldServePenalty { get; set; }
#endregion // ILapData2023
#region ILapDataBase
- ///
- /// Flag if there is no car available (is nothing from the game)
- ///
+ ///
public bool IsEmpty => GridPosition == 0 && CurrentLapTime == 0;
- ///
- /// Distance vehicle is around current lap in meters, negative is finish line not crossed yet
- ///
+ ///
public float LapDistance { get; set; }
- ///
- /// Total distance travelled in session in meters, can be negative like
- ///
+ ///
public float TotalDistance { get; set; }
- ///
- /// Delta in seconds for safety car
- ///
+ ///
public float SafetyCarDelta { get; set; }
- ///
- /// Actual race position
- ///
+ ///
public ushort CarPosition { get; set; }
- ///
- /// Current lap number
- ///
+ ///
public ushort CurrentLapNumber { get; set; }
- ///
- /// Current pit status
- ///
+ ///
public PitStatus CurrentPitStatus { get; set; }
- ///
- /// Current sector
- ///
+ ///
public Sector CurrentSector { get; set; }
- ///
- /// Is current lap invalid?
- ///
+ ///
public bool IsCurrentLapInvalid { get; set; }
- ///
- /// Accumulated time penalties in seconds to be added
- ///
+ ///
public ushort TimePenalties { get; set; }
- ///
- /// Grid start position
- ///
+ ///
public ushort GridPosition { get; set; }
- ///
- /// Current driver status
- ///
+ ///
public DriverStatus CurrentDriverStatus { get; set; }
- ///
- /// Current result status
- ///
+ ///
public ResultStatus CurrentResultStatus { get; set; }
#endregion // ILapDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2023/LapDataComplete2023.cs b/F1Server.Core/Packets/Data/F1-2023/LapDataComplete2023.cs
index 44cfc53..be9b9a3 100644
--- a/F1Server.Core/Packets/Data/F1-2023/LapDataComplete2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/LapDataComplete2023.cs
@@ -26,23 +26,17 @@ public LapDataComplete2023()
#region ILapDataComplete
- ///
- /// Array with all lap data information of all cars
- ///
+ ///
public ILapDataBase[] LapData { get; }
#endregion // ILapDataComplete
#region ILapDataComplete2023
- ///
- /// Index of personal best car in time trial (255 - invalid)
- ///
+ ///
public ushort TimeTrialPersonalBestCarIndex { get; set; }
- ///
- /// Index of rival car in time trial (255 - invalid)
- ///
+ ///
public ushort TimeTrialRivalCarIndex { get; set; }
#endregion // ILapDataComplete2023
diff --git a/F1Server.Core/Packets/Data/F1-2023/ParticipantData2023.cs b/F1Server.Core/Packets/Data/F1-2023/ParticipantData2023.cs
index 4f400d2..6752b4d 100644
--- a/F1Server.Core/Packets/Data/F1-2023/ParticipantData2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/ParticipantData2023.cs
@@ -10,67 +10,45 @@ public class ParticipantData2023 : IParticipantData2023
{
#region IParticipantDataBase
- ///
- /// Is AI controlled or human
- ///
+ ///
public bool IsAIControlled { get; set; }
- ///
- /// Id of driver
- ///
+ ///
public ushort DriverId { get; set; }
- ///
- /// Id of team
- ///
+ ///
public ushort TeamId { get; set; }
- ///
- /// Race number of the car
- ///
+ ///
public ushort RaceNumber { get; set; }
- ///
- /// Nationality of the driver
- ///
+ ///
public ushort Nationality { get; set; }
- ///
- /// Name of the driver
- ///
+ ///
public string DriverName { get; set; } = string.Empty;
- ///
- /// Is telemetry restricted or public?
- ///
+ ///
public bool IsPublicTelemetry { get; set; }
#endregion // IParticipantDataBase
#region IParticipantData2021
- ///
- /// Identifier for network players
- ///
+ ///
public ushort NetworkId { get; set; }
- ///
- /// Is my team?
- ///
+ ///
public bool IsMyTeam { get; set; }
#endregion // IParticipantData2021
#region IParticipantData2023
- ///
- /// Players show online name setting
- ///
+ ///
public bool IsShowOnlineNames { get; set; }
- ///
- /// Platform of player
- ///
+ ///
public Platforms Platform { get; set; }
#endregion // IParticipantData2023
diff --git a/F1Server.Core/Packets/Data/F1-2023/ParticipantsData2023.cs b/F1Server.Core/Packets/Data/F1-2023/ParticipantsData2023.cs
index fe44ca9..fcf0d14 100644
--- a/F1Server.Core/Packets/Data/F1-2023/ParticipantsData2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/ParticipantsData2023.cs
@@ -26,14 +26,10 @@ public ParticipantsData2023()
#region IParticipantsBase
- ///
- /// Active cars
- ///
+ ///
public ushort ActiveCars { get; set; }
- ///
- /// Data about participants in current session
- ///
+ ///
public IParticipantDataBase[] Participants { get; }
#endregion // IParticipantsBase
diff --git a/F1Server.Core/Packets/Data/F1-2023/SessionData2023.cs b/F1Server.Core/Packets/Data/F1-2023/SessionData2023.cs
index 3a51163..3e32359 100644
--- a/F1Server.Core/Packets/Data/F1-2023/SessionData2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/SessionData2023.cs
@@ -24,275 +24,173 @@ public SessionData2023(int forecastSamples = 56)
#region ISessionDataBase
- ///
- /// Is session recordable? Network games or time trial are not
- ///
+ ///
public bool IsRecordable { get; set; }
- ///
- /// Weather condition
- ///
+ ///
public WeatherCondition Weather { get; set; }
- ///
- /// Track temperature
- ///
+ ///
public short TrackTemperature { get; set; }
- ///
- /// Air temperature
- ///
+ ///
public short AirTemperature { get; set; }
- ///
- /// Total laps
- ///
+ ///
public ushort TotalLaps { get; set; }
- ///
- /// Length of track
- ///
+ ///
public int TrackLength { get; set; }
- ///
- /// Session type
- ///
+ ///
public SessionType SessionType { get; set; }
- ///
- /// Track id, -1 when unknown
- ///
+ ///
public short TrackId { get; set; }
- ///
- /// Name of the track
- ///
+ ///
public string TrackName { get; set; }
- ///
- /// Formula type - F1 and so on
- ///
+ ///
public Formula FormulaType { get; set; }
- ///
- /// Session time left in seconds
- ///
+ ///
public int SessionTimeLeft { get; set; }
- ///
- /// Duration of current session
- ///
+ ///
public int SessionDuration { get; set; }
- ///
- /// Pit speed limit
- ///
+ ///
public ushort PitSpeedLimit { get; set; }
- ///
- /// Flag if game is paused
- ///
+ ///
public bool IsGamePaused { get; set; }
- ///
- /// Flag if user is spectating
- ///
+ ///
public bool IsSpectating { get; set; }
- ///
- /// Car index spectating
- ///
+ ///
public ushort SpectatorCarIndex { get; set; }
- ///
- /// SLI Pro support
- ///
+ ///
public bool IsSliProNativeSupport { get; set; }
- ///
- /// Number of marshal zones
- ///
+ ///
public ushort NumberOfMarshalZones { get; set; }
- ///
- /// Marshal zone data
- ///
+ ///
public MarshalZone[] MarshalZones { get; }
- ///
- /// Safety car status
- ///
+ ///
public SafetyCarStatus SafetyCar { get; set; }
- ///
- /// Online or offline
- ///
+ ///
public bool IsNetworkGame { get; set; }
#endregion // ISessionDataBase
#region ISessionData2020
- ///
- /// Number of weather samples to follow
- ///
+ ///
public ushort NumberWeatherForecastSamples { get; set; }
- ///
- /// Weather forecast data
- ///
+ ///
public WeatherForecastSample[] WeatherForecastSamples { get; }
#endregion // ISessionData2020
#region ISessionData2021
- ///
- /// Forecast accuracy
- ///
+ ///
public ForecastAccuracy ForecastAccuracy { get; set; }
- ///
- /// AI difficulty rating (0 - 110)
- ///
+ ///
public ushort AiDifficulty { get; set; }
- ///
- /// Identifier for season - persists across saves
- ///
+ ///
public uint SeasonLinkIdentifier { get; set; }
- ///
- /// Identifier for weekend - persists across saves
- ///
+ ///
public uint WeekendLinkIdentifier { get; set; }
- ///
- /// Identifier for session - persists across saves
- ///
+ ///
public uint SessionLinkIdentifier { get; set; }
- ///
- /// Ideal lap to pit on current strategy
- ///
+ ///
public ushort PitStopWindowIdealLap { get; set; }
- ///
- /// Latest lap to pit on current strategy
- ///
+ ///
public ushort PitStopWindowLatestLap { get; set; }
- ///
- /// Predicted position to rejoin at
- ///
+ ///
public ushort PitStopRejoinPosition { get; set; }
- ///
- /// Steering assist is on or off
- ///
+ ///
public bool IsSteeringAssist { get; set; }
- ///
- /// Braking assist setting
- ///
+ ///
public BrakingAssist BrakingAssist { get; set; }
- ///
- /// Gearbox assist setting
- ///
+ ///
public GearboxAssist GearboxAssist { get; set; }
- ///
- /// Pit assist on or off
- ///
+ ///
public bool IsPitAssist { get; set; }
- ///
- /// Pit release assist on or off
- ///
+ ///
public bool IsPitReleaseAssist { get; set; }
- ///
- /// ERS assist on or off
- ///
+ ///
public bool IsERSAssist { get; set; }
- ///
- /// DRS assist on or off
- ///
+ ///
public bool IsDRSAssist { get; set; }
- ///
- /// Dynamic race line settings
- ///
+ ///
public DynamicRaceLine DynamicRaceLine { get; set; }
- ///
- /// Type of dynamic race line
- ///
+ ///
public DynamicRaceLineType DynamicRaceLineType { get; set; }
#endregion // ISessionData2021
#region ISessionData2022
- ///
- /// Game mode
- ///
+ ///
public GameMode GameMode { get; set; }
- ///
- /// Ruleset
- ///
+ ///
public RuleSet RuleSet { get; set; }
- ///
- /// Local time of day - minutes since midnight
- ///
+ ///
public uint LocalTimeOfDay { get; set; }
- ///
- /// Length of session
- ///
+ ///
public SessionLength SessionLength { get; set; }
#endregion // ISessionData2022
#region ISessionData2023
- ///
- /// Players speed unit
- ///
+ ///
public SpeedUnits SpeedUnit { get; set; }
- ///
- /// Players temperature unit
- ///
+ ///
public TemperatureUnits TemperatureUnit { get; set; }
- ///
- /// Secondary players speed unit
- ///
+ ///
public SpeedUnits SpeedUnitSecondaryPlayer { get; set; }
- ///
- /// Secondary players temperature unit
- ///
+ ///
public TemperatureUnits TemperatureUnitSecondaryPlayer { get; set; }
- ///
- /// Number of safety car periods during session
- ///
+ ///
public uint SafetyCarPeriods { get; set; }
- ///
- /// Number of virtual safety car periods during session
- ///
+ ///
public uint VirtualSafetyCarPeriods { get; set; }
- ///
- /// Number of red flags during session
- ///
+ ///
public uint RedFlags { get; set; }
#endregion // ISessionData2023
diff --git a/F1Server.Core/Packets/Data/F1-2023/SessionHistoryData2023.cs b/F1Server.Core/Packets/Data/F1-2023/SessionHistoryData2023.cs
index 09e02da..dc2e537 100644
--- a/F1Server.Core/Packets/Data/F1-2023/SessionHistoryData2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/SessionHistoryData2023.cs
@@ -32,49 +32,31 @@ public SessionHistoryData2023()
#region ISessionHistoryDataBase
- ///
- /// Index of car
- ///
+ ///
public ushort CarIndex { get; set; }
- ///
- /// Number of laps in the data (including partial data of current lap)
- ///
+ ///
public ushort NumberOfLaps { get; set; }
- ///
- /// Number of tyre stints in the data
- ///
+ ///
public ushort NumberOfTyreStints { get; set; }
- ///
- /// Number of the lap on which the best lap time was achieved
- ///
+ ///
public ushort BestLapNumber { get; set; }
- ///
- /// Number of lap with best sector 1 time
- ///
+ ///
public ushort BestSector1LapNumber { get; set; }
- ///
- /// Number of lap with best sector 2 time
- ///
+ ///
public ushort BestSector2LapNumber { get; set; }
- ///
- /// Number of lap with best sector 3 time
- ///
+ ///
public ushort BestSector3LapNumber { get; set; }
- ///
- /// Array (max 100) lap data
- ///
+ ///
public ILapHistoryDataBase[] LapHistory { get; }
- ///
- /// History data of tyre stints
- ///
+ ///
public ITyreStintHistoryDataBase[] TyreStintHistory { get; }
#endregion // ISessionHistoryDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2023/SessionHistoryLapData2023.cs b/F1Server.Core/Packets/Data/F1-2023/SessionHistoryLapData2023.cs
index a5d3f64..78e2614 100644
--- a/F1Server.Core/Packets/Data/F1-2023/SessionHistoryLapData2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/SessionHistoryLapData2023.cs
@@ -9,68 +9,44 @@ public class SessionHistoryLapData2023 : ILapHistoryDataBase, ILapHistoryData202
{
#region ILapHistoryDataBase
- ///
- /// Lap time in milliseconds
- ///
+ ///
public uint LapTime { get; set; }
- ///
- /// Sector 1 time in milliseconds
- ///
+ ///
public ushort Sector1Time { get; set; }
- ///
- /// Sector 2 time in milliseconds
- ///
+ ///
public ushort Sector2Time { get; set; }
- ///
- /// Sector 3 time in milliseconds
- ///
+ ///
public ushort Sector3Time { get; set; }
- ///
- /// Valid lap flag (0x01 - lap valid, 0x02 - sector 1 valid, 0x04 - sector 2 valid, 0x08 - sector 3 valid)
- ///
+ ///
public ushort LapValidFlag { get; set; }
- ///
- /// Is sector 1 time valid?
- ///
+ ///
public bool IsValidSector1 => (LapValidFlag & 0x02) == 0x02;
- ///
- /// Is sector 2 time valid?
- ///
+ ///
public bool IsValidSector2 => (LapValidFlag & 0x04) == 0x04;
- ///
- /// Is sector 3 time valid?
- ///
+ ///
public bool IsValidSector3 => (LapValidFlag & 0x08) == 0x08;
- ///
- /// Is lap time valid?
- ///
+ ///
public bool IsLapTimeValid => (LapValidFlag & 0x01) == 0x01;
#endregion // ILapHistoryDataBase
#region ILapHistoryData2023
- ///
- /// Sector 1 whole minute part
- ///
+ ///
public ushort Sector1TimeMinutes { get; set; }
- ///
- /// Sector 2 whole minute part
- ///
+ ///
public ushort Sector2TimeMinutes { get; set; }
- ///
- /// Sector 3 whole minute part
- ///
+ ///
public ushort Sector3TimeMinutes { get; set; }
#endregion // ILapHistoryData2023
diff --git a/F1Server.Core/Packets/Data/F1-2023/SessionHistoryTyreStintData2023.cs b/F1Server.Core/Packets/Data/F1-2023/SessionHistoryTyreStintData2023.cs
index 6424752..c4b6914 100644
--- a/F1Server.Core/Packets/Data/F1-2023/SessionHistoryTyreStintData2023.cs
+++ b/F1Server.Core/Packets/Data/F1-2023/SessionHistoryTyreStintData2023.cs
@@ -9,19 +9,13 @@ internal class SessionHistoryTyreStintData2023 : ITyreStintHistoryDataBase
{
#region ITyreStintHistoryDataBase
- ///
- /// Lap the tyre usage ends on (255 of current tyre)
- ///
+ ///
public ushort EndLap { get; set; }
- ///
- /// Actual tyres used by this driver
- ///
+ ///
public ushort TyreActualCompound { get; set; }
- ///
- /// Visual tyres used by this driver
- ///
+ ///
public ushort TyreVisualCompound { get; set; }
#endregion // ITyreStintHistoryDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2024/CarStatus2024.cs b/F1Server.Core/Packets/Data/F1-2024/CarStatus2024.cs
index e211c15..faaa90c 100644
--- a/F1Server.Core/Packets/Data/F1-2024/CarStatus2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/CarStatus2024.cs
@@ -28,9 +28,7 @@ public CarStatus2024()
#region ICarStatusBase
- ///
- /// Car Status of all cars
- ///
+ ///
public ICarStatusDataBase[] CarStatusData { get; }
#endregion // ICarStatusBase
diff --git a/F1Server.Core/Packets/Data/F1-2024/CarStatusData2024.cs b/F1Server.Core/Packets/Data/F1-2024/CarStatusData2024.cs
index d0d7dd4..a15903d 100644
--- a/F1Server.Core/Packets/Data/F1-2024/CarStatusData2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/CarStatusData2024.cs
@@ -10,133 +10,83 @@ public class CarStatusData2024 : ICarStatusData2024
{
#region ICarStatusDataBase
- ///
- /// Traction control 0 - off - 2 - high
- ///
+ ///
public ushort TractionControl { get; set; }
- ///
- /// Anti lock brakes - 0 - off - 1 - on
- ///
+ ///
public ushort AntiLockBrakes { get; set; }
- ///
- /// Fuel mix - 0 - lean - 1 - standard - 2 - rich - 3 - max
- ///
+ ///
public ushort FuelMix { get; set; }
- ///
- /// Front brake bias in percentage
- ///
+ ///
public ushort FrontBrakeBias { get; set; }
- ///
- /// Pit limiter status - 0 - off - 1 - on
- ///
+ ///
public ushort PitLimiterStatus { get; set; }
- ///
- /// Current fuel mass
- ///
+ ///
public float FuelInTank { get; set; }
- ///
- /// Fuel capacity
- ///
+ ///
public float FuelCapacity { get; set; }
- ///
- /// Fuel remaining in terms of laps (value on MFD)
- ///
+ ///
public float FuelRemainingLaps { get; set; }
- ///
- /// Cars max RPM, point of rev limiter
- ///
+ ///
public uint MaxRPM { get; set; }
- ///
- /// Cars idle RPM
- ///
+ ///
public uint IdleRPM { get; set; }
- ///
- /// Maximum number of gears
- ///
+ ///
public ushort MaxGears { get; set; }
- ///
- /// DRS allowed - 0 - not allowed - 1 - allowed - -1 - unknown
- ///
+ ///
public short DRSAllowed { get; set; }
- ///
- /// Tyre compound
- ///
+ ///
public ushort ActualTyreCompound { get; set; }
- ///
- /// Visual tyre compound - can be different from actual compound
- ///
+ ///
public VisualTyreCompound VisualTyreCompound { get; set; }
- ///
- /// FIA flags
- ///
+ ///
public VehicleFiaFlagColor FiaFlags { get; set; }
- ///
- /// ERS energy store in Joules
- ///
+ ///
public float ERSStoreEnergy { get; set; }
- ///
- /// ERS deployment mode - 0 - none - 1 - medium - 2 - hotlap - 3 - overtake
- ///
+ ///
public ushort ERSDeployMode { get; set; }
- ///
- /// ERS energy harvested this lap by MGU-K
- ///
+ ///
public float ERSHarvestedThisLapMGUK { get; set; }
- ///
- /// ERS energy harvested this lap by MGU-H
- ///
+ ///
public float ERSHarvestedThisLapMGUH { get; set; }
- ///
- /// ERS energy deployed this lap
- ///
+ ///
public float ERSDeployedThisLap { get; set; }
#endregion // ICarStatusDataBase
#region ICarStatusData2023
- ///
- /// Engine power output of ICE (W)
- ///
+ ///
public float EnginePowerICE { get; set; }
- ///
- /// Engine power output of MGU-K (W)
- ///
+ ///
public float EnginePowerMGUK { get; set; }
- ///
- /// DRS activation distance - 0 - DRS not available - non-zero - DRS will be available
- ///
+ ///
public int DRSActivationDistance { get; set; }
- ///
- /// Age of laps of the current set of tyres
- ///
+ ///
public ushort TyresAgeLaps { get; set; }
- ///
- /// Whether the car is paused in a network game
- ///
+ ///
public ushort NetworkPaused { get; set; }
#endregion // ICarStatusData2023
diff --git a/F1Server.Core/Packets/Data/F1-2024/CarTelemetry2024.cs b/F1Server.Core/Packets/Data/F1-2024/CarTelemetry2024.cs
index 229f08e..72443b1 100644
--- a/F1Server.Core/Packets/Data/F1-2024/CarTelemetry2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/CarTelemetry2024.cs
@@ -35,28 +35,20 @@ public CarTelemetry2024()
#region ICarTelemetry2024
- ///
- /// Index of MFD panel open - 255 = closed
- ///
+ ///
public ushort MfdPanelIndex { get; set; }
- ///
- /// Index of MFD panel open (second player)
- ///
+ ///
public ushort MfdPanelIndexSecondary { get; set; }
- ///
- /// Suggested gear
- ///
+ ///
public ushort SuggestedGear { get; set; }
#endregion // ICarTelemetry2024
#region ICarTelemetryBase
- ///
- /// Car telemetry of all cars
- ///
+ ///
public ICarTelemetryDataBase[] CarTelemetryData { get; }
#endregion // ICarTelemetryBase
diff --git a/F1Server.Core/Packets/Data/F1-2024/CarTelemetryData2024.cs b/F1Server.Core/Packets/Data/F1-2024/CarTelemetryData2024.cs
index 6f4ed04..c3962fc 100644
--- a/F1Server.Core/Packets/Data/F1-2024/CarTelemetryData2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/CarTelemetryData2024.cs
@@ -9,88 +9,56 @@ public class CarTelemetryData2024 : ICarTelemetryData2024
{
#region ICarTelemetryDataBase
- ///
- /// Speed
- ///
+ ///
public ushort Speed { get; set; }
- ///
- /// Amount of throttle applied (0.0 - 1.0)
- ///
+ ///
public float Throttle { get; set; }
- ///
- /// Steering (-1.0 [full left] - 1.0 [full right])
- ///
+ ///
public float Steer { get; set; }
- ///
- /// Amount of brake applied (0.0 - 1.0)
- ///
+ ///
public float Brake { get; set; }
- ///
- /// Amount of clutch applied (0 - 100)
- ///
+ ///
public ushort Clutch { get; set; }
- ///
- /// Current gear (1-8, N = 0, R = -1)
- ///
+ ///
public short Gear { get; set; }
- ///
- /// Engine RPM
- ///
+ ///
public ushort EngineRPM { get; set; }
- ///
- /// DRS active or not
- ///
+ ///
public bool IsDRS { get; set; }
- ///
- /// Rev lights indicator in percent
- ///
+ ///
public ushort RevLightsIndicator { get; set; }
- ///
- /// Brakes temperatures (celsius)
- ///
+ ///
public Temperature BrakesTemperature { get; set; }
- ///
- /// Tyres surface temperature (celsius)
- ///
+ ///
public Temperature TyresSurfaceTemperature { get; set; }
- ///
- /// Tyres inner temperature (celsius)
- ///
+ ///
public Temperature TyresInnerTemperature { get; set; }
- ///
- /// Engine temperature (celsius)
- ///
+ ///
public ushort EngineTemperature { get; set; }
- ///
- /// Tyres pressure
- ///
+ ///
public TyresPressure TyresPressure { get; set; }
- ///
- /// Type of surface
- ///
+ ///
public WheelSurface SurfaceType { get; set; }
#endregion // ICarTelemetryDataBase
#region ICarTelemetryData2023
- ///
- /// Rev lights bit
- ///
+ ///
public ushort RevLightsBitValue { get; set; }
#endregion // ICarTelemetryData2023
diff --git a/F1Server.Core/Packets/Data/F1-2024/EventData2024.cs b/F1Server.Core/Packets/Data/F1-2024/EventData2024.cs
index 6e49592..c95291c 100644
--- a/F1Server.Core/Packets/Data/F1-2024/EventData2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/EventData2024.cs
@@ -21,14 +21,10 @@ public EventData2024()
#region IEventDataBase
- ///
- /// Event code
- ///
+ ///
public string EventCode { get; set; } = string.Empty;
- ///
- /// Event details
- ///
+ ///
public IEventDataDetailsBase EventDetails { get; }
#endregion // IEventDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2024/EventDataDetails2024.cs b/F1Server.Core/Packets/Data/F1-2024/EventDataDetails2024.cs
index bdc291e..98bb51a 100644
--- a/F1Server.Core/Packets/Data/F1-2024/EventDataDetails2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/EventDataDetails2024.cs
@@ -10,114 +10,70 @@ internal class EventDataDetails2024 : EventDataDetails2019, IEventDataDetails202
{
#region IEventDataDetails2024
- ///
- /// Type of penalty
- ///
+ ///
public PenaltyType PenaltyType { get; set; }
- ///
- /// Type of infringement
- ///
+ ///
public InfringementType PenaltyInfringementType { get; set; }
- ///
- /// Other vehicle index
- ///
+ ///
public ushort PenaltyOtherVehicleIndex { get; set; }
- ///
- /// Time gained or time spent doing action in seconds
- ///
+ ///
public ushort PenaltyTimeGained { get; set; }
- ///
- /// Lap of penalty occurred on
- ///
+ ///
public ushort PenaltyLapNumber { get; set; }
- ///
- /// Number of places gained by this penalty
- ///
+ ///
public ushort PenaltyPlacesGained { get; set; }
- ///
- /// Top speed achieved in km/h
- ///
+ ///
public float TopSpeed { get; set; }
- ///
- /// Overall fastest speed in session
- ///
+ ///
public bool IsOverallFastestInSession { get; set; }
- ///
- /// Fastest speed for driver in session
- ///
+ ///
public bool IsDriverFastestInSession { get; set; }
- ///
- /// Fastest id of car in session
- ///
+ ///
public ushort FastestVehicleIndexInSession { get; set; }
- ///
- /// Speed of the vehicle that is the fastest in session
- ///
+ ///
public float FastestSpeedInSession { get; set; }
- ///
- /// Number of lights showing
- ///
+ ///
public ushort StartLightsNumbers { get; set; }
- ///
- /// Frame identifier flashed back
- ///
+ ///
public uint FlashbackFrame { get; set; }
- ///
- /// Session time flashed back
- ///
+ ///
public float FlashbackSessionTime { get; set; }
- ///
- /// Bit flags specifying which buttons are being pressed
- ///
+ ///
public uint ButtonsTriggered { get; set; }
- ///
- /// Vehicle index of the vehicle overtaking
- ///
+ ///
public ushort OvertakingVehicleIndex { get; set; }
- ///
- /// Vehicle index of vehicle being overtaken
- ///
+ ///
public ushort BeingOvertakenVehicleIndex { get; set; }
- ///
- /// Red flag shown
- ///
+ ///
public bool IsRedFlag { get; set; }
- ///
- /// Type of safety car
- ///
+ ///
public SafetyCarStatus SafetyCarType { get; set; }
- ///
- /// Safety car event type
- ///
+ ///
public SafetyCarEventType SafetyCarEvent { get; set; }
- ///
- /// Vehicle index of the first vehicle involved in the collision
- ///
+ ///
public ushort CollisionVehicleIndex1 { get; set; }
- ///
- /// Vehicle index of the second vehicle involved in the collision
- ///
+ ///
public ushort CollisionVehicleIndex2 { get; set; }
#endregion // IEventDataDetails2024
diff --git a/F1Server.Core/Packets/Data/F1-2024/FinalClassificationCarData2024.cs b/F1Server.Core/Packets/Data/F1-2024/FinalClassificationCarData2024.cs
index 9655ed9..dc08e02 100644
--- a/F1Server.Core/Packets/Data/F1-2024/FinalClassificationCarData2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/FinalClassificationCarData2024.cs
@@ -24,78 +24,50 @@ public FinalClassificationCarData2024()
#region IFinalClassificationCarBase
- ///
- /// Finishing position
- ///
+ ///
public ushort Position { get; set; }
- ///
- /// Number of laps completed
- ///
+ ///
public ushort LapsCompleted { get; set; }
- ///
- /// Grid position of the car
- ///
+ ///
public ushort GridPosition { get; set; }
- ///
- /// Number of points scored
- ///
+ ///
public ushort Points { get; set; }
- ///
- /// Number of pit stops made
- ///
+ ///
public ushort PitStops { get; set; }
- ///
- /// Result status
- ///
+ ///
public ResultStatus ResultStatus { get; set; }
- ///
- /// Best lap time of the session in milliseconds
- ///
+ ///
public uint BestLapTimeInMs { get; set; }
- ///
- /// Total race time in seconds without penalties
- ///
+ ///
public double TotalRaceTime { get; set; }
- ///
- /// Total penalties accumulated in seconds
- ///
+ ///
public ushort PenaltiesTime { get; set; }
- ///
- /// Number of penalties applied to this driver
- ///
+ ///
public ushort NumPenalties { get; set; }
- ///
- /// Number of tyre stints up to maximum
- ///
+ ///
public ushort NumTyreStints { get; set; }
- ///
- /// Actual tyres used by this driver
- ///
+ ///
public ushort[] TyreStintsActual { get; }
- ///
- /// Visual tyre stints used by this driver
- ///
+ ///
public ushort[] TyreStintsVisual { get; }
#endregion // IFinalClassificationCarBase
#region IFinalClassification2024
- ///
- /// The lap number stints end on
- ///
+ ///
public ushort[] TyreStintsEndLaps { get; set; }
#endregion // IFinalClassification2024
diff --git a/F1Server.Core/Packets/Data/F1-2024/FinalClassificationData2024.cs b/F1Server.Core/Packets/Data/F1-2024/FinalClassificationData2024.cs
index cf74ab9..16e60c4 100644
--- a/F1Server.Core/Packets/Data/F1-2024/FinalClassificationData2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/FinalClassificationData2024.cs
@@ -26,14 +26,10 @@ public FinalClassificationData2024()
#region IFinalClassificationData
- ///
- /// Number of cars in the final classification
- ///
+ ///
public ushort NumberOfCars { get; set; }
- ///
- /// Data of final classification for each car
- ///
+ ///
public IFinalClassificationCarBase[] FinalClassifications { get; }
#endregion // IFinalClassificationData
diff --git a/F1Server.Core/Packets/Data/F1-2024/LapData2024.cs b/F1Server.Core/Packets/Data/F1-2024/LapData2024.cs
index 108d4df..efb3d49 100644
--- a/F1Server.Core/Packets/Data/F1-2024/LapData2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/LapData2024.cs
@@ -10,184 +10,114 @@ public class LapData2024 : ILapData2023, ILapData2024
{
#region ILapData2023
- ///
- /// Last lap time in milliseconds
- ///
+ ///
public uint LastLapTime { get; set; }
- ///
- /// Current lap time in milliseconds
- ///
+ ///
public uint CurrentLapTime { get; set; }
- ///
- /// Sector 1 time in milliseconds
- ///
+ ///
public ushort Sector1Time { get; set; }
- ///
- /// Sector 1 whole minutes part
- ///
+ ///
public ushort Sector1TimeMinutes { get; set; }
- ///
- /// Sector 2 time in milliseconds
- ///
+ ///
public ushort Sector2Time { get; set; }
- ///
- /// Sector 2 whole minutes part
- ///
+ ///
public ushort Sector2TimeMinutes { get; set; }
- ///
- /// Milliseconds part of the delta to the car in front (max representable value 59999), the whole
- /// minutes part is held separately in
- ///
+ ///
public ushort DeltaToCarInFront { get; set; }
- ///
- /// Milliseconds part of the delta to the race leader (max representable value 59999), the whole
- /// minutes part is held separately in
- ///
+ ///
public ushort DeltaToRaceLeader { get; set; }
- ///
- /// Number of pit stops
- ///
+ ///
public ushort NumberPitStops { get; set; }
- ///
- /// Accumulated number of warnings
- ///
+ ///
public ushort Warnings { get; set; }
- ///
- /// Accumulated number of corner cutting warnings
- ///
+ ///
public ushort CornerCuttingWarnings { get; set; }
- ///
- /// Number of drive through penalties left to serve
- ///
+ ///
public ushort NumberUnservedDriveThroughPens { get; set; }
- ///
- /// Number of stop and go penalties left to serve
- ///
+ ///
public ushort NumberUnservedStopAndGoPenalties { get; set; }
- ///
- /// Pit lane timing active flag
- ///
+ ///
public bool IsPitLaneTimerActive { get; set; }
- ///
- /// Pit lane time in lane in milliseconds, only if is active
- ///
+ ///
public ushort PitLaneTimeInLane { get; set; }
- ///
- /// Time of actual pit stop in milliseconds
- ///
+ ///
public ushort PitStopTimer { get; set; }
- ///
- /// Flag if the car should serve a penalty at this stop
- ///
+ ///
public bool PitStopShouldServePenalty { get; set; }
#endregion // ILapData2023
#region ILapData2024
- ///
- /// Time delta to car in front whole minute part
- ///
+ ///
public ushort DeltaToCarInFrontMinutes { get; set; }
- ///
- /// Time delta to race leader whole minute part
- ///
+ ///
public ushort DeltaToRaceLeaderMinutes { get; set; }
- ///
- /// Fastest speed through speed trap for this car in kmph
- ///
+ ///
public float SpeedTrapFastestSpeed { get; set; }
- ///
- /// Lap no the fastest speed was achieved, 255 = not set
- ///
+ ///
public ushort SpeedTrapFastestLap { get; set; }
#endregion // ILapData2024
#region ILapDataBase
- ///
- /// Flag if there is no car available (is nothing from the game)
- ///
+ ///
public bool IsEmpty => GridPosition == 0 && CurrentLapTime == 0;
- ///
- /// Distance vehicle is around current lap in meters, negative is finish line not crossed yet
- ///
+ ///
public float LapDistance { get; set; }
- ///
- /// Total distance travelled in session in meters, can be negative like
- ///
+ ///
public float TotalDistance { get; set; }
- ///
- /// Delta in seconds for safety car
- ///
+ ///
public float SafetyCarDelta { get; set; }
- ///
- /// Actual race position
- ///
+ ///
public ushort CarPosition { get; set; }
- ///
- /// Current lap number
- ///
+ ///
public ushort CurrentLapNumber { get; set; }
- ///
- /// Current pit status
- ///
+ ///
public PitStatus CurrentPitStatus { get; set; }
- ///
- /// Current sector
- ///
+ ///
public Sector CurrentSector { get; set; }
- ///
- /// Is current lap invalid?
- ///
+ ///
public bool IsCurrentLapInvalid { get; set; }
- ///
- /// Accumulated time penalties in seconds to be added
- ///
+ ///
public ushort TimePenalties { get; set; }
- ///
- /// Grid start position
- ///
+ ///
public ushort GridPosition { get; set; }
- ///
- /// Current driver status
- ///
+ ///
public DriverStatus CurrentDriverStatus { get; set; }
- ///
- /// Current result status
- ///
+ ///
public ResultStatus CurrentResultStatus { get; set; }
#endregion // ILapDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2024/LapDataComplete2024.cs b/F1Server.Core/Packets/Data/F1-2024/LapDataComplete2024.cs
index 8efcf19..bacf3b2 100644
--- a/F1Server.Core/Packets/Data/F1-2024/LapDataComplete2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/LapDataComplete2024.cs
@@ -26,23 +26,17 @@ public LapDataComplete2024()
#region ILapDataComplete
- ///
- /// Array with all lap data information of all cars
- ///
+ ///
public ILapDataBase[] LapData { get; }
#endregion // ILapDataComplete
#region ILapDataComplete2023
- ///
- /// Index of personal best car in time trial (255 - invalid)
- ///
+ ///
public ushort TimeTrialPersonalBestCarIndex { get; set; }
- ///
- /// Index of rival car in time trial (255 - invalid)
- ///
+ ///
public ushort TimeTrialRivalCarIndex { get; set; }
#endregion // ILapDataComplete2023
diff --git a/F1Server.Core/Packets/Data/F1-2024/ParticipantData2024.cs b/F1Server.Core/Packets/Data/F1-2024/ParticipantData2024.cs
index 8c3f9b0..0a68473 100644
--- a/F1Server.Core/Packets/Data/F1-2024/ParticipantData2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/ParticipantData2024.cs
@@ -10,76 +10,52 @@ public class ParticipantData2024 : IParticipantData2024
{
#region IParticipantDataBase
- ///
- /// Is AI controlled or human
- ///
+ ///
public bool IsAIControlled { get; set; }
- ///
- /// Id of driver
- ///
+ ///
public ushort DriverId { get; set; }
- ///
- /// Id of team
- ///
+ ///
public ushort TeamId { get; set; }
- ///
- /// Race number of the car
- ///
+ ///
public ushort RaceNumber { get; set; }
- ///
- /// Nationality of the driver
- ///
+ ///
public ushort Nationality { get; set; }
- ///
- /// Name of the driver
- ///
+ ///
public string DriverName { get; set; } = string.Empty;
- ///
- /// Is telemetry restricted or public?
- ///
+ ///
public bool IsPublicTelemetry { get; set; }
#endregion // IParticipantDataBase
#region IParticipantData2021
- ///
- /// Identifier for network players
- ///
+ ///
public ushort NetworkId { get; set; }
- ///
- /// Is my team?
- ///
+ ///
public bool IsMyTeam { get; set; }
#endregion // IParticipantData2021
#region IParticipantData2023
- ///
- /// Players show online name setting
- ///
+ ///
public bool IsShowOnlineNames { get; set; }
- ///
- /// Platform of player
- ///
+ ///
public Platforms Platform { get; set; }
#endregion // IParticipantData2023
#region IParticipantData2024
- ///
- /// F1 World tech level
- ///
+ ///
public ushort TechLevel { get; set; }
#endregion // IParticipantData2024
diff --git a/F1Server.Core/Packets/Data/F1-2024/ParticipantsData2024.cs b/F1Server.Core/Packets/Data/F1-2024/ParticipantsData2024.cs
index 6e8d5ba..e7737b3 100644
--- a/F1Server.Core/Packets/Data/F1-2024/ParticipantsData2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/ParticipantsData2024.cs
@@ -26,14 +26,10 @@ public ParticipantsData2024()
#region IParticipantsBase
- ///
- /// Active cars
- ///
+ ///
public ushort ActiveCars { get; set; }
- ///
- /// Data about participants in current session
- ///
+ ///
public IParticipantDataBase[] Participants { get; }
#endregion // IParticipantsBase
diff --git a/F1Server.Core/Packets/Data/F1-2024/SessionData2024.cs b/F1Server.Core/Packets/Data/F1-2024/SessionData2024.cs
index f2ae87f..c14deb6 100644
--- a/F1Server.Core/Packets/Data/F1-2024/SessionData2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/SessionData2024.cs
@@ -23,144 +23,88 @@ public SessionData2024()
#region ISessionData2024
- ///
- /// Equal car performance?
- ///
+ ///
public bool EqualCarPerformance { get; set; }
- ///
- /// Recovery mode
- ///
+ ///
public RecoveryMode RecoveryMode { get; set; }
- ///
- /// Flashback limit
- ///
+ ///
public FlashbackLimit FlashbackLimit { get; set; }
- ///
- /// Realistic (true) surface type or simplified (false)
- ///
+ ///
public bool IsRealisticSurfaceType { get; set; }
- ///
- /// Hard low fuel mode (true) or easy (false)
- ///
+ ///
public bool IsHardLowFuelMode { get; set; }
- ///
- /// Assisted race starts or manual (false)?
- ///
+ ///
public bool AssistedRaceStarts { get; set; }
- ///
- /// Tyre temperature with carcass (true) or surface only (false)
- ///
+ ///
public bool TyreTemperatureWithCarcass { get; set; }
- ///
- /// With formation lap?
- ///
+ ///
public bool PitLaneTyreSimulation { get; set; }
- ///
- /// Car damage
- ///
+ ///
public CarDamage CarDamage { get; set; }
- ///
- /// Car damage rate
- ///
+ ///
public CarDamageRate CarDamageRate { get; set; }
- ///
- /// Collions
- ///
+ ///
public Collisions Collisions { get; set; }
- ///
- /// Collisions off for first lap only
- ///
+ ///
public bool CollisionsOffForFirstLapOnly { get; set; }
- ///
- /// Unsafe pit release (multi player)
- ///
+ ///
public bool MultiPlayerUnsafePitRelease { get; set; }
- ///
- /// Off for griefing (multi player)
- ///
+ ///
public bool MultiPlayerOffForGriefing { get; set; }
- ///
- /// Strict corner cutting stringency or regular
- ///
+ ///
public bool IsStrictCornerCuttingStringency { get; set; }
- ///
- /// Parc ferme rules?
- ///
+ ///
public bool ParcFermeRules { get; set; }
- ///
- /// Pit stop experience
- ///
+ ///
public PitStopExperience PitStopExperience { get; set; }
- ///
- /// Safety car
- ///
+ ///
public SafetyCarAppearance SafetyCarAppearance { get; set; }
- ///
- /// Immersive safety car experience or broadcast?
- ///
+ ///
public bool IsImmersiveSafetyCarExperience { get; set; }
- ///
- /// With formation lap?
- ///
+ ///
public bool WithFormationLap { get; set; }
- ///
- /// Immersive formation lap experience or broadcast
- ///
+ ///
public bool IsImmersiveFormationLapExperience { get; set; }
- ///
- /// Red flags
- ///
+ ///
public RedFlagAppearance RedFlagAppearance { get; set; }
- ///
- /// Affects license level in solo
- ///
+ ///
public bool AffectsLicenceLevelSolo { get; set; }
- ///
- /// Affects license level in multi player
- ///
+ ///
public bool AffectsLicenceLevelMultiPlayer { get; set; }
- ///
- /// Number of sessions in weekend
- ///
+ ///
public short SessionsInWeekend { get; set; }
- ///
- /// List of session types to show weekend
- ///
+ ///
public SessionType[] WeekendStructure { get; }
- ///
- /// Distance in meters around track where sector 2 starts
- ///
+ ///
public float Sector2LapDistanceStart { get; set; }
- ///
- /// Distance in meters around track where sector 3 starts
- ///
+ ///
public float Sector3LapDistanceStart { get; set; }
#endregion // ISessionData2024
diff --git a/F1Server.Core/Packets/Data/F1-2024/SessionHistoryData2024.cs b/F1Server.Core/Packets/Data/F1-2024/SessionHistoryData2024.cs
index fa28bff..cae7f33 100644
--- a/F1Server.Core/Packets/Data/F1-2024/SessionHistoryData2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/SessionHistoryData2024.cs
@@ -32,49 +32,31 @@ public SessionHistoryData2024()
#region ISessionHistoryDataBase
- ///
- /// Index of car
- ///
+ ///
public ushort CarIndex { get; set; }
- ///
- /// Number of laps in the data (including partial data of current lap)
- ///
+ ///
public ushort NumberOfLaps { get; set; }
- ///
- /// Number of tyre stints in the data
- ///
+ ///
public ushort NumberOfTyreStints { get; set; }
- ///
- /// Number of the lap on which the best lap time was achieved
- ///
+ ///
public ushort BestLapNumber { get; set; }
- ///
- /// Number of lap with best sector 1 time
- ///
+ ///
public ushort BestSector1LapNumber { get; set; }
- ///
- /// Number of lap with best sector 2 time
- ///
+ ///
public ushort BestSector2LapNumber { get; set; }
- ///
- /// Number of lap with best sector 3 time
- ///
+ ///
public ushort BestSector3LapNumber { get; set; }
- ///
- /// Array (max 100) lap data
- ///
+ ///
public ILapHistoryDataBase[] LapHistory { get; }
- ///
- /// History data of tyre stints
- ///
+ ///
public ITyreStintHistoryDataBase[] TyreStintHistory { get; }
#endregion // ISessionHistoryDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2024/SessionHistoryLapData2024.cs b/F1Server.Core/Packets/Data/F1-2024/SessionHistoryLapData2024.cs
index c852936..5613d57 100644
--- a/F1Server.Core/Packets/Data/F1-2024/SessionHistoryLapData2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/SessionHistoryLapData2024.cs
@@ -9,68 +9,44 @@ public class SessionHistoryLapData2024 : ILapHistoryDataBase, ILapHistoryData202
{
#region ILapHistoryDataBase
- ///
- /// Lap time in milliseconds
- ///
+ ///
public uint LapTime { get; set; }
- ///
- /// Sector 1 time in milliseconds
- ///
+ ///
public ushort Sector1Time { get; set; }
- ///
- /// Sector 2 time in milliseconds
- ///
+ ///
public ushort Sector2Time { get; set; }
- ///
- /// Sector 3 time in milliseconds
- ///
+ ///
public ushort Sector3Time { get; set; }
- ///
- /// Valid lap flag (0x01 - lap valid, 0x02 - sector 1 valid, 0x04 - sector 2 valid, 0x08 - sector 3 valid)
- ///
+ ///
public ushort LapValidFlag { get; set; }
- ///
- /// Is sector 1 time valid?
- ///
+ ///
public bool IsValidSector1 => (LapValidFlag & 0x02) == 0x02;
- ///
- /// Is sector 2 time valid?
- ///
+ ///
public bool IsValidSector2 => (LapValidFlag & 0x04) == 0x04;
- ///
- /// Is sector 3 time valid?
- ///
+ ///
public bool IsValidSector3 => (LapValidFlag & 0x08) == 0x08;
- ///
- /// Is lap time valid?
- ///
+ ///
public bool IsLapTimeValid => (LapValidFlag & 0x01) == 0x01;
#endregion // ILapHistoryDataBase
#region ILapHistoryData2023
- ///
- /// Sector 1 whole minute part
- ///
+ ///
public ushort Sector1TimeMinutes { get; set; }
- ///
- /// Sector 2 whole minute part
- ///
+ ///
public ushort Sector2TimeMinutes { get; set; }
- ///
- /// Sector 3 whole minute part
- ///
+ ///
public ushort Sector3TimeMinutes { get; set; }
#endregion // ILapHistoryData2023
diff --git a/F1Server.Core/Packets/Data/F1-2024/SessionHistoryTyreStintData2024.cs b/F1Server.Core/Packets/Data/F1-2024/SessionHistoryTyreStintData2024.cs
index 7f6c305..3a0f1c1 100644
--- a/F1Server.Core/Packets/Data/F1-2024/SessionHistoryTyreStintData2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/SessionHistoryTyreStintData2024.cs
@@ -9,19 +9,13 @@ internal class SessionHistoryTyreStintData2024 : ITyreStintHistoryDataBase
{
#region ITyreStintHistoryDataBase
- ///
- /// Lap the tyre usage ends on (255 if current tyre)
- ///
+ ///
public ushort EndLap { get; set; }
- ///
- /// Actual tyres used by this driver
- ///
+ ///
public ushort TyreActualCompound { get; set; }
- ///
- /// Visual tyres used by this driver
- ///
+ ///
public ushort TyreVisualCompound { get; set; }
#endregion // ITyreStintHistoryDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2024/TimeTrialData2024.cs b/F1Server.Core/Packets/Data/F1-2024/TimeTrialData2024.cs
index c671411..091d614 100644
--- a/F1Server.Core/Packets/Data/F1-2024/TimeTrialData2024.cs
+++ b/F1Server.Core/Packets/Data/F1-2024/TimeTrialData2024.cs
@@ -23,19 +23,13 @@ public TimeTrialData2024()
#region ITimeTrialDataBase
- ///
- /// Player session best data set
- ///
+ ///
public ITimeTrialDataSetBase PlayerSessionBestDataSet { get; }
- ///
- /// Personal best data set
- ///
+ ///
public ITimeTrialDataSetBase PersonalBestDataSet { get; }
- ///
- /// Rival data set
- ///
+ ///
public ITimeTrialDataSetBase RivalDataSet { get; }
#endregion // ITimeTrialDataBase
diff --git a/F1Server.Core/Packets/Data/F1-2025/CarTelemetry2025.cs b/F1Server.Core/Packets/Data/F1-2025/CarTelemetry2025.cs
index f421457..8fe2a22 100644
--- a/F1Server.Core/Packets/Data/F1-2025/CarTelemetry2025.cs
+++ b/F1Server.Core/Packets/Data/F1-2025/CarTelemetry2025.cs
@@ -35,19 +35,13 @@ public CarTelemetry2025()
#region ICarTelemetry2024
- ///
- /// Index of MFD panel open - 255 = closed
- ///
+ ///
public ushort MfdPanelIndex { get; set; }
- ///
- /// Index of MFD panel open (second player)
- ///
+ ///
public ushort MfdPanelIndexSecondary { get; set; }
- ///
- /// Suggested gear
- ///
+ ///
public ushort SuggestedGear { get; set; }
#endregion // ICarTelemetry2024
diff --git a/F1Server.Core/Packets/Data/F1-2026/CarTelemetry2026.cs b/F1Server.Core/Packets/Data/F1-2026/CarTelemetry2026.cs
index 0052c6f..93abdff 100644
--- a/F1Server.Core/Packets/Data/F1-2026/CarTelemetry2026.cs
+++ b/F1Server.Core/Packets/Data/F1-2026/CarTelemetry2026.cs
@@ -36,19 +36,13 @@ public CarTelemetry2026()
#region ICarTelemetry2024
- ///
- /// Index of MFD panel open - 255 = closed
- ///
+ ///
public ushort MfdPanelIndex { get; set; }
- ///
- /// Index of MFD panel open (second player)
- ///
+ ///
public ushort MfdPanelIndexSecondary { get; set; }
- ///
- /// Suggested gear
- ///
+ ///
public ushort SuggestedGear { get; set; }
#endregion // ICarTelemetry2024
diff --git a/F1Server.Data/IndependentLapData.cs b/F1Server.Data/IndependentLapData.cs
index 1c58719..baca004 100644
--- a/F1Server.Data/IndependentLapData.cs
+++ b/F1Server.Data/IndependentLapData.cs
@@ -9,29 +9,19 @@ public class IndependentLapData : IIndependentLapData
{
#region IIndependentLapData
- ///
- /// Current lap time
- ///
+ ///
public uint CurrentLapTime { get; set; }
- ///
- /// Last lap time
- ///
+ ///
public uint LastLapTime { get; set; }
- ///
- /// Sector 1 time
- ///
+ ///
public uint Sector1Time { get; set; }
- ///
- /// Sector 2 time
- ///
+ ///
public uint Sector2Time { get; set; }
- ///
- /// Sector 3 time
- ///
+ ///
public uint Sector3Time { get; set; }
#endregion // IIndependentLapData
diff --git a/F1Server.Data/LiveDriverData.cs b/F1Server.Data/LiveDriverData.cs
index 5d5b65b..71f1db9 100644
--- a/F1Server.Data/LiveDriverData.cs
+++ b/F1Server.Data/LiveDriverData.cs
@@ -10,88 +10,56 @@ public class LiveDriverData : ILiveDriverData
{
#region ILiveBaseData
- ///
- /// Database id
- ///
+ ///
public long DbId { get; set; }
#endregion // ILiveBaseData
#region ILiveDriverData
- ///
- /// Index in game packet
- ///
+ ///
public int ArrayIndex { get; set; }
- ///
- /// Driver name
- ///
+ ///
public string DriverName { get; set; }
- ///
- /// Car number
- ///
+ ///
public int CarNumber { get; set; }
- ///
- /// Grid position
- ///
+ ///
public int GridPosition { get; set; }
- ///
- /// Car position on track
- ///
+ ///
public int CarPosition { get; set; }
- ///
- /// Nationality
- ///
+ ///
public string Nationality { get; set; }
- ///
- /// Team name
- ///
+ ///
public string TeamName { get; set; }
- ///
- /// Current driver status - in garage or out lap or something else
- ///
+ ///
public DriverStatus CurrentDriverStatus { get; set; }
- ///
- /// Current lap time in milliseconds (since F1 2020)
- ///
+ ///
public uint CurrentLapTime { get; set; }
- ///
- /// Fastest time needed for sector 1 in milliseconds
- ///
+ ///
public uint FastestSector1 { get; set; }
- ///
- /// Fastest time needed for sector 2 in milliseconds
- ///
+ ///
public uint FastestSector2 { get; set; }
- ///
- /// Fastest time needed for sector 3 in milliseconds
- ///
+ ///
public uint FastestSector3 { get; set; }
- ///
- /// Fastest lap in milliseconds
- ///
+ ///
public uint FastestLapTime { get; set; }
- ///
- /// Number of laps driven by this driver
- ///
+ ///
public int LapsDriven { get; set; }
- ///
- /// Currently used tyre type
- ///
+ ///
public VisualTyreCompound CurrentUsedTyre { get; set; }
#endregion // ILiveDriverData
diff --git a/F1Server.Data/LiveGameData.cs b/F1Server.Data/LiveGameData.cs
index 137bf49..bc64a20 100644
--- a/F1Server.Data/LiveGameData.cs
+++ b/F1Server.Data/LiveGameData.cs
@@ -9,38 +9,26 @@ public class LiveGameData : ILiveGameData
{
#region ILiveBaseData
- ///
- /// Database id
- ///
+ ///
public long DbId { get; set; }
#endregion // ILiveBaseData
#region ILiveGameData
- ///
- /// Actual game version
- ///
+ ///
public int GameVersion { get; set; }
- ///
- /// Major version
- ///
+ ///
public int MajorVersion { get; set; }
- ///
- /// Minor version
- ///
+ ///
public int MinorVersion { get; set; }
- ///
- /// Name of the game
- ///
+ ///
public string Name { get; set; }
- ///
- /// Last usage timestamp
- ///
+ ///
public DateTime? LastTimeUsed { get; set; }
#endregion // ILiveGameData
diff --git a/F1Server.Data/LiveSessionData.cs b/F1Server.Data/LiveSessionData.cs
index e1f1a98..5ac72a1 100644
--- a/F1Server.Data/LiveSessionData.cs
+++ b/F1Server.Data/LiveSessionData.cs
@@ -10,103 +10,65 @@ public class LiveSessionData : ILiveSessionData
{
#region ILiveBaseData
- ///
- /// Database id
- ///
+ ///
public long DbId { get; set; }
#endregion // ILiveBaseData
#region ILiveSessionData
- ///
- /// Current session game id from game
- ///
+ ///
public ulong SessionGameId { get; set; }
- ///
- /// Session is finished
- ///
+ ///
public bool IsFinished { get; set; }
- ///
- /// Current number of cars on track
- ///
+ ///
public int CurrentCarsOnTrack { get; set; }
- ///
- /// Current session type
- ///
+ ///
public SessionType SessionType { get; set; }
- ///
- /// Duration of session in seconds
- ///
+ ///
public int SessionDuration { get; set; }
- ///
- /// Session time left in seconds
- ///
+ ///
public int SessionTimeLeft { get; set; }
- ///
- /// Air temperature
- ///
+ ///
public int AirTemperature { get; set; }
- ///
- /// Track temperature
- ///
+ ///
public int TrackTemperature { get; set; }
- ///
- /// Safety car on track?
- ///
+ ///
public bool IsSafetyCar { get; set; }
- ///
- /// Weather
- ///
+ ///
public WeatherCondition Weather { get; set; }
- ///
- /// Fastest sector 1 time in milliseconds
- ///
+ ///
public uint FastestSector1 { get; set; }
- ///
- /// Fastest sector 1 driver (index from game array)
- ///
+ ///
public int FastestSector1Driver { get; set; }
- ///
- /// Fastest sector 2 time in milliseconds
- ///
+ ///
public uint FastestSector2 { get; set; }
- ///
- /// Fastest sector 2 driver (index from game array)
- ///
+ ///
public int FastestSector2Driver { get; set; }
- ///
- /// Fastest sector3 time in milliseconds
- ///
+ ///
public uint FastestSector3 { get; set; }
- ///
- /// Fastest sector 3 driver (index from game array)
- ///
+ ///
public int FastestSector3Driver { get; set; }
- ///
- /// Fastest lap time in milliseconds
- ///
+ ///
public uint FastestLap { get; set; }
- ///
- /// Fastest lap driver (index from game array)
- ///
+ ///
public int FastestLapDriver { get; set; }
///
@@ -119,14 +81,10 @@ public class LiveSessionData : ILiveSessionData
///
public List TimeTable { get; set; } = [];
- ///
- /// Participants in session, exposed read-only to callers holding the contract
- ///
+ ///
IReadOnlyList ILiveSessionData.Drivers => Drivers;
- ///
- /// Current time table, exposed read-only to callers holding the contract
- ///
+ ///
IReadOnlyList ILiveSessionData.TimeTable => TimeTable;
#endregion // ILiveSessionData
diff --git a/F1Server.Db/Entity/Queryable/Base/QueryableBase{TEntity}.cs b/F1Server.Db/Entity/Queryable/Base/QueryableBase{TEntity}.cs
index b180500..934e00b 100644
--- a/F1Server.Db/Entity/Queryable/Base/QueryableBase{TEntity}.cs
+++ b/F1Server.Db/Entity/Queryable/Base/QueryableBase{TEntity}.cs
@@ -33,38 +33,26 @@ public QueryableBase(IQueryable queryable)
#region IQueryable
- ///
- /// Element type
- ///
+ ///
public Type ElementType => QueryableInternal.ElementType;
- ///
- /// Expression
- ///
+ ///
public Expression Expression => QueryableInternal.Expression;
- ///
- /// Provider
- ///
+ ///
public IQueryProvider Provider => QueryableInternal.Provider;
#endregion // IQueryable
#region IEnumerable
- ///
- /// Returns an enumerator
- ///
- /// Enumerator
+ ///
public IEnumerator GetEnumerator()
{
return QueryableInternal.GetEnumerator();
}
- ///
- /// Returns an enumerator
- ///
- /// Enumerator
+ ///
IEnumerator IEnumerable.GetEnumerator()
{
return ((IEnumerable)QueryableInternal).GetEnumerator();
diff --git a/F1Server.Db/Entity/RepositoryFactory.cs b/F1Server.Db/Entity/RepositoryFactory.cs
index 831817b..e5cf2b2 100644
--- a/F1Server.Db/Entity/RepositoryFactory.cs
+++ b/F1Server.Db/Entity/RepositoryFactory.cs
@@ -213,9 +213,7 @@ public void InitDatabase()
#region IDisposable
- ///
- /// Dispose
- ///
+ ///
public void Dispose()
{
_dbContext?.Dispose();
diff --git a/F1Server.Observability/ObservabilityConfiguration.cs b/F1Server.Observability/ObservabilityConfiguration.cs
index 939713e..58489bb 100644
--- a/F1Server.Observability/ObservabilityConfiguration.cs
+++ b/F1Server.Observability/ObservabilityConfiguration.cs
@@ -212,9 +212,7 @@ public bool ConfigureLogging(IServiceProvider serviceProvider)
#region IDisposable
- ///
- /// Releases the resources used by the current instance of the class
- ///
+ ///
public void Dispose()
{
_traceProvider?.ForceFlush();
diff --git a/F1Server.Service/Processors/ProcessorFactory.cs b/F1Server.Service/Processors/ProcessorFactory.cs
index 6ddc54b..03d03c4 100644
--- a/F1Server.Service/Processors/ProcessorFactory.cs
+++ b/F1Server.Service/Processors/ProcessorFactory.cs
@@ -135,9 +135,7 @@ private void RemoveAllProcessors()
#region IDisposable
- ///
- /// Dispose method
- ///
+ ///
public void Dispose()
{
Dispose(true);
diff --git a/F1Server.Service/Runtime/PacketProcessor.cs b/F1Server.Service/Runtime/PacketProcessor.cs
index 361101c..c5eae33 100644
--- a/F1Server.Service/Runtime/PacketProcessor.cs
+++ b/F1Server.Service/Runtime/PacketProcessor.cs
@@ -771,9 +771,7 @@ private void CheckNewSession(PacketTypes packetType, SessionData? sessionData)
#region IDisposable
- ///
- /// Dispose
- ///
+ ///
public void Dispose()
{
Dispose(true);
diff --git a/F1Server.Service/Runtime/ParticipantRuntimeData.cs b/F1Server.Service/Runtime/ParticipantRuntimeData.cs
index ffa6c94..34e746c 100644
--- a/F1Server.Service/Runtime/ParticipantRuntimeData.cs
+++ b/F1Server.Service/Runtime/ParticipantRuntimeData.cs
@@ -478,9 +478,7 @@ public bool ValidateLapTimes(uint lapTime, uint sector1Time, uint sector2Time, u
#region IDisposable
- ///
- /// Dispose
- ///
+ ///
public void Dispose()
{
Dispose(true);
diff --git a/F1Server.Service/TelemetryClient.cs b/F1Server.Service/TelemetryClient.cs
index 29d107c..ead4d39 100644
--- a/F1Server.Service/TelemetryClient.cs
+++ b/F1Server.Service/TelemetryClient.cs
@@ -1106,9 +1106,7 @@ private void WriteLastSessionStatistics(ulong lastSessionId, ushort lastGameVers
#region IDisposable
- ///
- /// Dispose
- ///
+ ///
public void Dispose()
{
if (_applicationData != null)
diff --git a/F1Server.Telemetry/TelemetryWriter.cs b/F1Server.Telemetry/TelemetryWriter.cs
index 77c4767..5e3a244 100644
--- a/F1Server.Telemetry/TelemetryWriter.cs
+++ b/F1Server.Telemetry/TelemetryWriter.cs
@@ -104,9 +104,7 @@ public TelemetryWriter(IServiceProvider serviceProvider)
#region Properties
- ///
- /// Gets a value indicating whether the telemetry writer is ready to write data
- ///
+ ///
public bool IsReady { get; private set; }
#endregion // Properties
@@ -376,9 +374,7 @@ private async Task WriteToInflux(CancellationToken cancellationToken)
#region IDisposable
- ///
- /// Releases all resources used by the current instance of the class
- ///
+ ///
public void Dispose()
{
// Complete the channel so the write task exits once it is drained
diff --git a/F1Server.WebApi/Core/TimerManager.cs b/F1Server.WebApi/Core/TimerManager.cs
index 185015c..f8209d8 100644
--- a/F1Server.WebApi/Core/TimerManager.cs
+++ b/F1Server.WebApi/Core/TimerManager.cs
@@ -96,9 +96,7 @@ private void Execute(object? stateInfo)
#region IDisposable
- ///
- /// Dispose method
- ///
+ ///
public void Dispose()
{
Dispose(true);
diff --git a/F1Server.WebApi/WebHosting.cs b/F1Server.WebApi/WebHosting.cs
index 51ad23f..a70e22e 100644
--- a/F1Server.WebApi/WebHosting.cs
+++ b/F1Server.WebApi/WebHosting.cs
@@ -342,9 +342,7 @@ public bool StopWebHosting()
#region IDisposable
- ///
- /// Dispose
- ///
+ ///
public void Dispose()
{
Dispose(true);