本文整理匯總了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);
}
}