Пример #1
0
    public void AddValue(object effect, DamageGainValueType valueType, float value, GetCustomDamageGainDelegate customGetDamageHandle, DamageType damageType, DamageSource damageSource, CheckDamageDelegate checkDamageHandle)
    {
        DamageGainValue data = new DamageGainValue(damageType, damageSource, valueType, value, customGetDamageHandle, checkDamageHandle);

        if (valueType == DamageGainValueType.DamagePoint || valueType == DamageGainValueType.Custom)
        {
            if (m_PointAndCustomValueDict.ContainsKey(effect))
            {
                m_PointAndCustomValueDict[effect] = data;
            }
            else
            {
                m_PointAndCustomValueDict.Add(effect, data);
            }
        }
        else
        {
            if (m_PercentValueDict.ContainsKey(effect))
            {
                m_PercentValueDict[effect] = data;
            }
            else
            {
                m_PercentValueDict.Add(effect, data);
            }
        }
    }
Пример #2
0
 public DamageGainValue(DamageType type, DamageSource source, DamageGainValueType valueType, float value, GetCustomDamageGainDelegate customDamageHandle, CheckDamageDelegate checkDamageHandle)
 {
     m_Value                      = value;
     m_GainValueType              = valueType;
     m_CheckDamageHandle          = checkDamageHandle;
     m_GetCustomDamageValueHandle = customDamageHandle;
     m_DamageType                 = type;
     m_DamageSource               = source;
 }