using System.Collections.Generic;
public static void Main()
Console.WriteLine("Hello World");
'AdditionMultiplier': 300.0,
'DivisionMultiplier': 7.0
'AdditionMultiplier': 300.0,
'DivisionMultiplier': 7.0
CharacterStats data = JsonConvert.DeserializeObject<CharacterStats>(jsonText);
Console.WriteLine(data.GetStat().BaseValue.ToString());
public class CharacterStats
[JsonProperty] private Stat physicalDamage;
[JsonProperty] private Stat artsDamage;
[JsonProperty] private List<StatModifier> statModifiers = new List<StatModifier>();
[JsonProperty] private float growthLevel;
public StatType Type { get => type; private set => type = value; }
[JsonIgnore] private StatType type;
public bool CanBeNegative { get => canBeNegative; private set => canBeNegative = value; }
[JsonIgnore] private bool canBeNegative;
bool isPositive = baseValue < value;
OnStatChanged?.Invoke(this, isPositive);
[JsonIgnore] private float baseValue;
public event Action<Stat, bool> OnStatChanged;
public class StatModifier
StatType _modifyingStatType;
public ModifierType Type { get => _type; private set => _type = value; }
public float Value { get => _value; set => _value = value; }
public StatType ModifyingStatType { get => _modifyingStatType; private set => _modifyingStatType = value; }