Beispiel #1
0
    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();
    }
Beispiel #2
0
    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();
    }