public void InitStats() { stats = new PlayerStats(); HP = stats.GetStat <Vital>(StatType.Health); MP = stats.GetStat <Vital>(StatType.Mana); STR = stats.GetStat <StatModifiable>(StatType.Strength); DEF = stats.GetStat <StatModifiable>(StatType.Defense); MOV = stats.GetStat <StatModifiable>(StatType.Movement); HP.OnCurrentValueChange += OnStatValueChange; DisplayStatValues(); }
public void ChangeStats(Button button) { float value = 0f; value = 10.0f; if (button.name.Contains("Decrease")) { value = -(value); } PropertyInfo pinfo = typeof(PlayerController).GetProperty(button.name.Substring(0, button.name.IndexOf('_'))); object obj = pinfo.GetValue(this, null); StatModifiable statToChange = (StatModifiable)obj; statToChange.AddModifier(new StatModifier(StatType.Strength, StatModifier.Types.BaseValueAdd, value)); statToChange.UpdateModifiers(); DisplayStatValues(); }