Overview
StatsManagerComponent stores values of all stats such as health / stamina / damage / attack speed etc.
Each stat is defined by tag and few paramaters.
Stats Manager Component stores all stats as an array that can be modified.
Stats can be modified and checked with these functions.
There can also be defined relation between 2 stats such as Health and MaxHealth / Stamina and MaxStamina.
This way we can clamp one stat value to another, and setup regeneration.
Stats regeneration logic is kept in separate StatsRegeneratorComponent that is spawned in runtime and should never be accessed directly, only through StatsManagerComponent.
Regen stats can be modified and checked with these functions.
Interrupting regeneration can be used for example after character attack, then for time of ReenableRegenDuration stat won't regenrate.
Regen multiplier is used to scale regen value, for example when character is blocking we may want to slow down regeneration.