Exemple #1
0
    public float GetDamageTypeMultiplier(CreatureData targetData, ECreatureType attackType)
    {
        var returnValue = 1.0f;

        returnValue *= GetDamageTypeMultiplier(attackType, targetData.CreaturePrimaryType);
        returnValue *= GetDamageTypeMultiplier(attackType, targetData.CreatureSecondaryType);
        return(returnValue);
    }
Exemple #2
0
    public float GetDamageTypeMultiplier(ECreatureType attackerType, ECreatureType targetType)
    {
        if (attackerType == ECreatureType.None || attackerType == ECreatureType.Count)
        {
            return(1.0f);
        }

        if (m_creaturesTypeChart.GetTypeAdvantages(attackerType).Contains(targetType))
        {
            return(m_typeAdvantageDamageMultiplier);
        }

        if (m_creaturesTypeChart.GetTypeDisadvantages(attackerType).Contains(targetType))
        {
            return(m_typeDisadvantageDamageMultiplier);
        }

        return(1.0f);
    }
Exemple #3
0
    public void AssignType(ECreatureType type, bool colored = true)
    {
        if (type == ECreatureType.None || type == ECreatureType.Count)
        {
            gameObject.SetActive(false);
            return;
        }

        if (GameManager.Instance.TypesManager.m_typesDataDict.TryGetValue(type, out TypeData value))
        {
            gameObject.SetActive(true);
            if (m_background != null)
            {
                m_background.color = value.PrimaryColor;
            }
            if (m_frame != null)
            {
                m_frame.color = value.SecondaryColor;
            }
            m_icon.sprite = colored? value.Sprite : value.UncoloredSprite;
            return;
        }
        Debug.LogWarning("The creature type " + type + " has not been implemented yet in TypeData");
    }
 public List <ECreatureType> GetTypeDisadvantages(ECreatureType originalType)
 {
     return(TypeDisdvantageDictionary[originalType]);
 }