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