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); } } }
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; }