using System.Text.Json.Serialization; namespace Core.Models.Eft.Match; public class PutMetricsRequestData { [JsonPropertyName("sid")] public string SessionId { get; set; } [JsonPropertyName("settings")] public object Settings { get; set; } [JsonPropertyName("SharedSettings")] public SharedSettings SharedSettings { get; set; } [JsonPropertyName("HardwareDescription")] public HardwareDescription HardwareDescription { get; set; } [JsonPropertyName("Location")] public string Location { get; set; } [JsonPropertyName("Metrics")] public object Metrics { get; set; } [JsonPropertyName("ClientEvents")] public ClientEvents ClientEvents { get; set; } [JsonPropertyName("SpikeSamples")] public List SpikeSamples { get; set; } [JsonPropertyName("mode")] public string Mode { get; set; } } public class SharedSettings { [JsonPropertyName("StatedFieldOfView")] public double StatedFieldOfView { get; set; } } public class HardwareDescription { [JsonPropertyName("deviceUniqueIdentifier")] public string DeviceUniqueIdentifier { get; set; } [JsonPropertyName("systemMemorySize")] public double SystemMemorySize { get; set; } [JsonPropertyName("graphicsDeviceID")] public double GraphicsDeviceId { get; set; } [JsonPropertyName("graphicsDeviceName")] public string GraphicsDeviceName { get; set; } [JsonPropertyName("graphicsDeviceType")] public string GraphicsDeviceType { get; set; } [JsonPropertyName("graphicsDeviceVendor")] public string GraphicsDeviceVendor { get; set; } [JsonPropertyName("graphicsDeviceVendorID")] public double GraphicsDeviceVendorId { get; set; } [JsonPropertyName("graphicsDeviceVersion")] public string GraphicsDeviceVersion { get; set; } [JsonPropertyName("graphicsMemorySize")] public double GraphicsMemorySize { get; set; } [JsonPropertyName("graphicsMultiThreaded")] public bool GraphicsMultiThreaded { get; set; } [JsonPropertyName("graphicsShaderLevel")] public double GraphicsShaderLevel { get; set; } [JsonPropertyName("operatingSystem")] public string OperatingSystem { get; set; } [JsonPropertyName("processorCount")] public double ProcessorCount { get; set; } [JsonPropertyName("processorFrequency")] public double ProcessorFrequency { get; set; } [JsonPropertyName("processorType")] public string ProcessorType { get; set; } [JsonPropertyName("driveType")] public string DriveType { get; set; } [JsonPropertyName("swapDriveType")] public string SwapDriveType { get; set; } } public class ClientEvents { [JsonPropertyName("MatchingCompleted")] public double MatchingCompleted { get; set; } [JsonPropertyName("MatchingCompletedReal")] public double MatchingCompletedReal { get; set; } [JsonPropertyName("LocationLoaded")] public double LocationLoaded { get; set; } [JsonPropertyName("LocationLoadedReal")] public double LocationLoadedReal { get; set; } [JsonPropertyName("GamePrepared")] public double GamePrepared { get; set; } [JsonPropertyName("GamePreparedReal")] public double GamePreparedReal { get; set; } [JsonPropertyName("GameCreated")] public double GameCreated { get; set; } [JsonPropertyName("GameCreatedReal")] public double GameCreatedReal { get; set; } [JsonPropertyName("GamePooled")] public double GamePooled { get; set; } [JsonPropertyName("GamePooledReal")] public double GamePooledReal { get; set; } [JsonPropertyName("GameRunned")] public double GameRunned { get; set; } [JsonPropertyName("GameRunnedReal")] public double GameRunnedReal { get; set; } [JsonPropertyName("GameSpawn")] public double GameSpawn { get; set; } [JsonPropertyName("GameSpawnReal")] public double GameSpawnReal { get; set; } [JsonPropertyName("PlayerSpawnEvent")] public double PlayerSpawnEvent { get; set; } [JsonPropertyName("PlayerSpawnEventReal")] public double PlayerSpawnEventReal { get; set; } [JsonPropertyName("GameSpawned")] public double GameSpawned { get; set; } [JsonPropertyName("GameSpawnedReal")] public double GameSpawnedReal { get; set; } [JsonPropertyName("GameStarting")] public double GameStarting { get; set; } [JsonPropertyName("GameStartingReal")] public double GameStartingReal { get; set; } [JsonPropertyName("GameStarted")] public double GameStarted { get; set; } [JsonPropertyName("GameStartedReal")] public double GameStartedReal { get; set; } }