Esempio n. 1
0
    public void CalculateFinalValueUsingFormula_Test()
    {
        StatSheet sheet = new StatSheet();

        Stat dexterity = sheet.Get(StatType.Dexterity);

        dexterity.BaseValue = 100f;

        Stat crit = sheet.Get(StatType.CriticalHit);

        Assert.That(dexterity.Value, Is.EqualTo(100f));
        Assert.That(crit.BaseValue, Is.EqualTo(0f));
        Assert.That(crit.Value, Is.EqualTo(15f));
    }
Esempio n. 2
0
    public void UpdatesWhenDependentStatUpdates_Test()
    {
        StatSheet sheet = new StatSheet();

        Stat dexterity = sheet.Get(StatType.Dexterity);

        dexterity.BaseValue = 100f;

        Stat crit = sheet.Get(StatType.CriticalHit);

        Assert.That(dexterity.Value, Is.EqualTo(100f));
        Assert.That(crit.BaseValue, Is.EqualTo(0f));
        Assert.That(crit.Value, Is.EqualTo(15f));

        dexterity.AddModifier(new StatModifier(StatType.Strength, StatModifierType.Flat, 100f));

        Assert.That(dexterity.Value, Is.EqualTo(200f));
        Assert.That(crit.Value, Is.EqualTo(30f));
    }
Esempio n. 3
0
    public void UpdatesWhenStatModifierUpdates_Test()
    {
        StatSheet    sheet    = new StatSheet();
        Stat         strength = sheet.Get(StatType.Strength);
        StatModifier mod      = new StatModifier(StatType.Strength, StatModifierType.Flat, 9f);

        Assert.That(strength.Value, Is.EqualTo(0f));
        strength.AddModifier(mod);
        Assert.That(strength.Value, Is.EqualTo(9f));
        mod.Value = 42f;
        Assert.That(strength.Value, Is.EqualTo(42f));
    }
 private void drawStatSheet(StatSheet sheet)
 {
     showStats = EditorGUILayout.Foldout(showStats, "Stats");
     if (showStats)
     {
         foreach (StatType type in StatFormulas.STAT_TYPES)
         {
             Stat stat = sheet.Get(type);
             EditorGUILayout.LabelField(type.ToString());
             EditorGUI.indentLevel++;
             stat.BaseValue = EditorGUILayout.FloatField("Base", stat.BaseValue);
             // TODO Add view for StatModifier list
             EditorGUILayout.LabelField("Final", stat.Value.ToString());
             EditorGUI.indentLevel--;
         }
     }
 }