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; } }