本文整理汇总了C#中Damage.GetTotalDamage方法的典型用法代码示例。如果您正苦于以下问题:C# Damage.GetTotalDamage方法的具体用法?C# Damage.GetTotalDamage怎么用?C# Damage.GetTotalDamage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Damage
的用法示例。
在下文中一共展示了Damage.GetTotalDamage方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CalculateDamage
/// <summary>
/// 伤害核心计算公式
/// </summary>
/// <param name="monster">怪物</param>
/// <param name="skillDamage">已经过法强加成的伤害类</param>
/// <returns>计算抗性后的伤害值</returns>
public static float CalculateDamage(Monster monster, Damage.SkillDamage skillDamage)
{
///当前版本不存在神圣伤害or物理伤害
if (!monster.armorComponent)
{
return skillDamage.GetTotalDamage();
}
float[] elementDefenceList = monster.armorComponent.GetElementDefenceList();
float sum = 0;
for (int i = 0; i < Elements.ELEMENT_NUMBER; i++)
{
///当前版本不存在将伤害小于0的效果
if (skillDamage.elementsDamage[i] < 0)
{
skillDamage.elementsDamage[i] = 0;
}
///当前版本不存在将伤害转化成治疗的效果
float p = 1 - elementDefenceList[i] / 100;
if (p < 0)
{
p = 0;
}
sum += skillDamage.elementsDamage[i] * p;
}
///FIXME 物理组件存在物理抗性,物理抗性还需计算
return sum + skillDamage.physicalDamage;
}