Пример #1
0
    public static Dictionary <Essence.Type, float> CalculateInteractions(Essence.Type t1, Essence.Type t2)
    {
        var final = new Dictionary <Essence.Type, float>();

        Essence.Type key;
        bool         not_none = (t2 != Essence.Type.none);

        foreach (Essence.Type t in System.Enum.GetValues(typeof(Essence.Type)))
        {
            key        = t;
            final[key] = Essence.GetInteractions(t).ContainsKey(t1) ? Essence.GetEffectivityValue(Essence.GetInteractions(t)[t1]) : 1f;
            //Debug.Log(t1.ToString() + " - " + key + ": " + final[key]);

            if (not_none)
            {
                if (Essence.GetInteractions(t).ContainsKey(t2))
                {
                    final[key] *= Essence.GetEffectivityValue(Essence.GetInteractions(t)[t2]);
                }
                //Debug.Log(t2.ToString() + " - " + key + ": " + final[key]);
            }
        }

        return(final);
    }