public float this[TemporalStatType statType] => _counters[statType.ToString()].Amount + CurrentStats[statType];
private BattleCounter Counter(TemporalStatType statType) => _counters[statType.ToString()];
public BattleCounter(TemporalStatType type, float initialAmount, Func <float> getCurrentMaxAmount) : this(type.ToString(), initialAmount, getCurrentMaxAmount) { }
public StatusIconDefinition this[TemporalStatType stat] => Icons[stat.ToString()];
public float this[TemporalStatType temporalStatType] => _counters[temporalStatType.ToString()].Amount;