コード例 #1
0
    public CombatStats(CombatStats stats)
    {
        FieldInfo[] fields1 = GetType().GetFields();
        FieldInfo[] fields2 = stats.GetType().GetFields();

        for (int i = 0; i < fields1.Length; i++)
        {
            fields1[i].SetValue(this, (float)fields2[i].GetValue(stats));
        }
    }
コード例 #2
0
    public static CombatStats operator-(CombatStats stats1, CombatStats stats2)
    {
        CombatStats stats = new CombatStats();

        FieldInfo[] fields  = stats.GetType().GetFields();
        FieldInfo[] fields1 = stats1.GetType().GetFields();
        FieldInfo[] fields2 = stats2.GetType().GetFields();
        for (int i = 0; i < fields.Length; i++)
        {
            fields[i].SetValue(stats, (float)fields1[i].GetValue(stats1) - (float)fields2[i].GetValue(stats2));
        }

        return(stats);
    }