本文整理汇总了C#中WCell.RealmServer.Entities.Character.GainCombatXp方法的典型用法代码示例。如果您正苦于以下问题:C# Character.GainCombatXp方法的具体用法?C# Character.GainCombatXp怎么用?C# Character.GainCombatXp使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WCell.RealmServer.Entities.Character
的用法示例。
在下文中一共展示了Character.GainCombatXp方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DistributeCombatXp
/// <summary>
/// Distributes the given amount of XP over the group of the given Character (or adds it only to the Char, if not in Group).
/// </summary>
/// <remarks>Requires Region-Context.</remarks>
/// <param name="chr"></param>
public static void DistributeCombatXp(Character chr, INamed killed, int xp)
{
var groupMember = chr.GroupMember;
if (groupMember != null)
{
var members = new List<Character>();
var highestLevel = 0;
var totalLevels = 0;
groupMember.IterateMembersInRange(WorldObject.BroadcastRange,
member => {
var memberChar = member.Character;
if (memberChar != null)
{
totalLevels += memberChar.Level;
if (memberChar.Level > highestLevel)
{
highestLevel = memberChar.Level;
}
members.Add(memberChar);
}
});
foreach (var member in members)
{
var share = MathUtil.Divide(xp * member.Level, totalLevels);
member.GainCombatXp(share, killed, true);
}
}
else
{
chr.GainCombatXp(xp, killed, true);
}
}