Always init ExtensionData & fix BaseInteractionRequestData inheritance

This commit is contained in:
Archangel
2025-08-17 16:10:33 +02:00
parent 24397b0439
commit f96172ac60
309 changed files with 924 additions and 1052 deletions
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Common;
public record LocationBase
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("AccessKeys")]
public IEnumerable<string>? AccessKeys { get; set; }
@@ -376,7 +376,7 @@ public record LocationBase
public record EventTrapsData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public double MaxBarbedWires { get; set; }
@@ -390,7 +390,7 @@ public record EventTrapsData
public record Transit
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("activateAfterSec")]
public int? ActivateAfterSeconds { get; set; }
@@ -429,7 +429,7 @@ public record Transit
public record NonWaveGroupScenario
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Chance")]
public double? Chance { get; set; }
@@ -453,7 +453,7 @@ public record Limit : MinMax<int>
public record AirdropParameter
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("AirdropPointDeactivateDistance")]
public int? AirdropPointDeactivateDistance { get; set; }
@@ -489,7 +489,7 @@ public record AirdropParameter
public record Banner
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public string? Id { get; set; }
@@ -501,7 +501,7 @@ public record Banner
public record Pic
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("file")]
public string? File { get; set; }
@@ -519,7 +519,7 @@ public record Pic
public record BossLocationSpawn
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("BossChance")]
public double? BossChance { get; set; }
@@ -592,7 +592,7 @@ public record BossLocationSpawn
public record BossSupport
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("BossEscortAmount")]
public string? BossEscortAmount { get; set; }
@@ -607,7 +607,7 @@ public record BossSupport
public record BotLocationModifier
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("AccuracySpeed")]
public double? AccuracySpeed { get; set; }
@@ -694,7 +694,7 @@ public record BotLocationModifier
public record AdditionalHostilitySettings
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("AlwaysEnemies")]
public HashSet<string>? AlwaysEnemies { get; set; }
@@ -736,7 +736,7 @@ public record AdditionalHostilitySettings
public record ChancedEnemy
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("EnemyChance")]
public int? EnemyChance { get; set; }
@@ -754,7 +754,7 @@ public record MinMaxBot : MinMax<int>
public record MinPlayerWaitTime
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("minPlayers")]
public int? MinPlayers { get; set; }
@@ -766,7 +766,7 @@ public record MinPlayerWaitTime
public record Preview
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("path")]
public string? Path { get; set; }
@@ -778,7 +778,7 @@ public record Preview
public record Scene
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("path")]
public string? Path { get; set; }
@@ -790,7 +790,7 @@ public record Scene
public record SpawnPointParam
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("BotZoneName")]
public string? BotZoneName { get; set; }
@@ -826,7 +826,7 @@ public record SpawnPointParam
public record ColliderParams
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
private string? _parent;
@@ -844,7 +844,7 @@ public record ColliderParams
public record ColliderProps
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Center")]
public XYZ? Center { get; set; }
@@ -859,7 +859,7 @@ public record ColliderProps
public record Exit
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
/// <summary>
/// % Chance out of 100 exit will appear in raid
@@ -955,7 +955,7 @@ public record Exit
public record MaxItemCountInLocation
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("TemplateId")]
public string? TemplateId { get; set; }
@@ -967,7 +967,7 @@ public record MaxItemCountInLocation
public record Wave
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("BotPreset")]
public string? BotPreset { get; set; }
@@ -1025,7 +1025,7 @@ public record Wave
public record LocationEvents
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Halloween2024")]
public Halloween2024? Halloween2024 { get; set; }
@@ -1036,7 +1036,7 @@ public record LocationEvents
public record Khorovod
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public double? Chance { get; set; }
}
@@ -1044,7 +1044,7 @@ public record Khorovod
public record Halloween2024
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("CrowdAttackBlockRadius")]
public double? CrowdAttackBlockRadius { get; set; }
@@ -1094,7 +1094,7 @@ public record Halloween2024
public record CrowdAttackSpawnParam
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Difficulty")]
public string? Difficulty { get; set; }
@@ -1109,7 +1109,7 @@ public record CrowdAttackSpawnParam
public record Area
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("center")]
public XYZ? Center { get; set; }