using System; using System.Reflection; namespace TownOfUsStatsExporter.Reflection; /// /// Cache for reflection metadata to improve performance. /// Reflection is ~100x slower than direct access, so caching is essential. /// internal class ReflectionCache { /// /// Gets or sets the EndGamePatches type. /// public Type? EndGamePatchesType { get; set; } /// /// Gets or sets the EndGameData type. /// public Type? EndGameDataType { get; set; } /// /// Gets or sets the PlayerRecord type. /// public Type? PlayerRecordType { get; set; } /// /// Gets or sets the GameHistory type. /// public Type? GameHistoryType { get; set; } /// /// Gets or sets the PlayerRecords property. /// public PropertyInfo? PlayerRecordsProperty { get; set; } /// /// Gets or sets the PlayerStats field. /// public FieldInfo? PlayerStatsField { get; set; } /// /// Gets or sets the RoleHistory field. /// public FieldInfo? RoleHistoryField { get; set; } /// /// Gets or sets the KilledPlayers field. /// public FieldInfo? KilledPlayersField { get; set; } /// /// Gets or sets the WinningFaction field. /// public FieldInfo? WinningFactionField { get; set; } /// /// Gets or sets the GetRoleName method. /// public MethodInfo? GetRoleNameMethod { get; set; } }