本文整理汇总了C#中System.Line.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# Line.GetType方法的具体用法?C# Line.GetType怎么用?C# Line.GetType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Line
的用法示例。
在下文中一共展示了Line.GetType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetDamageTaken
/// <summary>
/// </summary>
/// <param name="line"></param>
public void SetDamageTaken(Line line)
{
if ((LimitBreaks.IsLimit(line.Action)) && Settings.Default.IgnoreLimitBreaks)
{
return;
}
Last20DamageTakenActions.Add(new LineHistory(line));
if (Last20DamageTakenActions.Count > 20)
{
Last20DamageTakenActions.RemoveAt(0);
}
//LineHistory.Add(new LineHistory(line));
var fields = line.GetType()
.GetProperties();
var abilityGroup = GetGroup("DamageTakenByAction");
StatGroup subAbilityGroup;
if (!abilityGroup.TryGetGroup(line.Action, out subAbilityGroup))
{
subAbilityGroup = new StatGroup(line.Action);
subAbilityGroup.Stats.AddStats(DamageTakenStatList(null));
abilityGroup.AddGroup(subAbilityGroup);
}
var damageGroup = GetGroup("DamageTakenByPlayers");
StatGroup subPlayerGroup;
if (!damageGroup.TryGetGroup(line.Source, out subPlayerGroup))
{
subPlayerGroup = new StatGroup(line.Source);
subPlayerGroup.Stats.AddStats(DamageTakenStatList(null));
damageGroup.AddGroup(subPlayerGroup);
}
var abilities = subPlayerGroup.GetGroup("DamageTakenByPlayersByAction");
StatGroup subPlayerAbilityGroup;
if (!abilities.TryGetGroup(line.Action, out subPlayerAbilityGroup))
{
subPlayerAbilityGroup = new StatGroup(line.Action);
subPlayerAbilityGroup.Stats.AddStats(DamageTakenStatList(subPlayerGroup, true));
abilities.AddGroup(subPlayerAbilityGroup);
}
Stats.IncrementStat("TotalDamageTakenActionsUsed");
subAbilityGroup.Stats.IncrementStat("TotalDamageTakenActionsUsed");
subPlayerGroup.Stats.IncrementStat("TotalDamageTakenActionsUsed");
subPlayerAbilityGroup.Stats.IncrementStat("TotalDamageTakenActionsUsed");
if (line.Hit)
{
Stats.IncrementStat("TotalOverallDamageTaken", line.Amount);
subAbilityGroup.Stats.IncrementStat("TotalOverallDamageTaken", line.Amount);
subPlayerGroup.Stats.IncrementStat("TotalOverallDamageTaken", line.Amount);
subPlayerAbilityGroup.Stats.IncrementStat("TotalOverallDamageTaken", line.Amount);
if (line.Crit)
{
Stats.IncrementStat("DamageTakenCritHit");
subAbilityGroup.Stats.IncrementStat("DamageTakenCritHit");
subPlayerGroup.Stats.IncrementStat("DamageTakenCritHit");
subPlayerAbilityGroup.Stats.IncrementStat("DamageTakenCritHit");
Stats.IncrementStat("CriticalDamageTaken", line.Amount);
subAbilityGroup.Stats.IncrementStat("CriticalDamageTaken", line.Amount);
subPlayerGroup.Stats.IncrementStat("CriticalDamageTaken", line.Amount);
subPlayerAbilityGroup.Stats.IncrementStat("CriticalDamageTaken", line.Amount);
if (line.Modifier != 0)
{
var mod = ParseHelper.GetBonusAmount(line.Amount, line.Modifier);
var modStat = "DamageTakenCritMod";
Stats.IncrementStat(modStat, mod);
subAbilityGroup.Stats.IncrementStat(modStat, mod);
subPlayerGroup.Stats.IncrementStat(modStat, mod);
subPlayerAbilityGroup.Stats.IncrementStat(modStat, mod);
}
}
else
{
Stats.IncrementStat("DamageTakenRegHit");
subAbilityGroup.Stats.IncrementStat("DamageTakenRegHit");
subPlayerGroup.Stats.IncrementStat("DamageTakenRegHit");
subPlayerAbilityGroup.Stats.IncrementStat("DamageTakenRegHit");
Stats.IncrementStat("RegularDamageTaken", line.Amount);
subAbilityGroup.Stats.IncrementStat("RegularDamageTaken", line.Amount);
subPlayerGroup.Stats.IncrementStat("RegularDamageTaken", line.Amount);
subPlayerAbilityGroup.Stats.IncrementStat("RegularDamageTaken", line.Amount);
if (line.Modifier != 0)
{
var mod = ParseHelper.GetBonusAmount(line.Amount, line.Modifier);
var modStat = "DamageTakenRegMod";
Stats.IncrementStat(modStat, mod);
subAbilityGroup.Stats.IncrementStat(modStat, mod);
subPlayerGroup.Stats.IncrementStat(modStat, mod);
subPlayerAbilityGroup.Stats.IncrementStat(modStat, mod);
}
}
}
else
{
Stats.IncrementStat("DamageTakenRegMiss");
subAbilityGroup.Stats.IncrementStat("DamageTakenRegMiss");
//.........这里部分代码省略.........
示例2: SetDamage
/// <summary>
/// </summary>
/// <param name="line"></param>
public void SetDamage(Line line)
{
if (Name == Constants.CharacterName)
{
//LineHistory.Add(new LineHistory(line));
}
Last20DamageActions.Add(new LineHistory(line));
if (Last20DamageActions.Count > 20)
{
Last20DamageActions.RemoveAt(0);
}
if ((LimitBreaks.IsLimit(line.Action)) && Settings.Default.IgnoreLimitBreaks)
{
return;
}
var fields = line.GetType()
.GetProperties();
var currentDamage = line.Crit ? line.Amount > 0 ? ParseHelper.GetOriginalAmount(line.Amount, (decimal) .5) : 0 : line.Amount;
if (currentDamage > 0)
{
ParseHelper.LastAmountByAction.EnsurePlayerAction(line.Source, line.Action, currentDamage);
}
var abilityGroup = GetGroup("DamageByAction");
StatGroup subAbilityGroup;
if (!abilityGroup.TryGetGroup(line.Action, out subAbilityGroup))
{
subAbilityGroup = new StatGroup(line.Action);
subAbilityGroup.Stats.AddStats(DamageStatList(null));
abilityGroup.AddGroup(subAbilityGroup);
}
var monsterGroup = GetGroup("DamageToMonsters");
StatGroup subMonsterGroup;
if (!monsterGroup.TryGetGroup(line.Target, out subMonsterGroup))
{
subMonsterGroup = new StatGroup(line.Target);
subMonsterGroup.Stats.AddStats(DamageStatList(null));
monsterGroup.AddGroup(subMonsterGroup);
}
var monsters = subMonsterGroup.GetGroup("DamageToMonstersByAction");
StatGroup subMonsterAbilityGroup;
if (!monsters.TryGetGroup(line.Action, out subMonsterAbilityGroup))
{
subMonsterAbilityGroup = new StatGroup(line.Action);
subMonsterAbilityGroup.Stats.AddStats(DamageStatList(subMonsterGroup, true));
monsters.AddGroup(subMonsterAbilityGroup);
}
Stats.IncrementStat("TotalDamageActionsUsed");
subAbilityGroup.Stats.IncrementStat("TotalDamageActionsUsed");
subMonsterGroup.Stats.IncrementStat("TotalDamageActionsUsed");
subMonsterAbilityGroup.Stats.IncrementStat("TotalDamageActionsUsed");
if (line.Hit)
{
Stats.IncrementStat("TotalOverallDamage", line.Amount);
subAbilityGroup.Stats.IncrementStat("TotalOverallDamage", line.Amount);
subMonsterGroup.Stats.IncrementStat("TotalOverallDamage", line.Amount);
subMonsterAbilityGroup.Stats.IncrementStat("TotalOverallDamage", line.Amount);
if (line.Crit)
{
Stats.IncrementStat("DamageCritHit");
subAbilityGroup.Stats.IncrementStat("DamageCritHit");
subMonsterGroup.Stats.IncrementStat("DamageCritHit");
subMonsterAbilityGroup.Stats.IncrementStat("DamageCritHit");
Stats.IncrementStat("CriticalDamage", line.Amount);
subAbilityGroup.Stats.IncrementStat("CriticalDamage", line.Amount);
subMonsterGroup.Stats.IncrementStat("CriticalDamage", line.Amount);
subMonsterAbilityGroup.Stats.IncrementStat("CriticalDamage", line.Amount);
if (line.Modifier != 0)
{
var mod = ParseHelper.GetBonusAmount(line.Amount, line.Modifier);
var modStat = "DamageCritMod";
Stats.IncrementStat(modStat, mod);
subAbilityGroup.Stats.IncrementStat(modStat, mod);
subMonsterGroup.Stats.IncrementStat(modStat, mod);
subMonsterAbilityGroup.Stats.IncrementStat(modStat, mod);
}
}
else
{
Stats.IncrementStat("DamageRegHit");
subAbilityGroup.Stats.IncrementStat("DamageRegHit");
subMonsterGroup.Stats.IncrementStat("DamageRegHit");
subMonsterAbilityGroup.Stats.IncrementStat("DamageRegHit");
Stats.IncrementStat("RegularDamage", line.Amount);
subAbilityGroup.Stats.IncrementStat("RegularDamage", line.Amount);
subMonsterGroup.Stats.IncrementStat("RegularDamage", line.Amount);
subMonsterAbilityGroup.Stats.IncrementStat("RegularDamage", line.Amount);
if (line.Modifier != 0)
{
var mod = ParseHelper.GetBonusAmount(line.Amount, line.Modifier);
var modStat = "DamageRegMod";
Stats.IncrementStat(modStat, mod);
subAbilityGroup.Stats.IncrementStat(modStat, mod);
//.........这里部分代码省略.........