本文整理汇总了C#中WCell.RealmServer.Entities.Character.IsIgnoring方法的典型用法代码示例。如果您正苦于以下问题:C# Character.IsIgnoring方法的具体用法?C# Character.IsIgnoring怎么用?C# Character.IsIgnoring使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WCell.RealmServer.Entities.Character
的用法示例。
在下文中一共展示了Character.IsIgnoring方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MayProposeTrade
/// <summary>
/// Checks requirements for trading between two characters
/// </summary>
/// <param name="initChr">possible initiator of trading</param>
/// <param name="targetChr">possible target of trading</param>
public static bool MayProposeTrade(Character initChr, Character targetChr)
{
TradeStatus tradeStatus;
if (targetChr == null || !targetChr.IsInContext)
{
tradeStatus = TradeStatus.PlayerNotFound;
return false;
}
else if (initChr.IsLoggingOut || targetChr.IsLoggingOut)
{
tradeStatus = TradeStatus.LoggingOut;
}
else if (!initChr.IsAlive)
{
tradeStatus = TradeStatus.PlayerDead;
}
else if (!targetChr.IsInRadius(initChr, MaxTradeRadius))
{
tradeStatus = TradeStatus.TooFarAway;
}
else if (!targetChr.IsAlive)
{
tradeStatus = TradeStatus.TargetDead;
}
else if (targetChr.IsStunned)
{
tradeStatus = TradeStatus.TargetStunned;
}
else if (targetChr.IsIgnoring(initChr))
{
tradeStatus = TradeStatus.PlayerIgnored;
}
else if (targetChr.TradeWindow != null)
{
tradeStatus = TradeStatus.AlreadyTrading;
}
else if (targetChr.Faction.Group != initChr.Faction.Group && !initChr.Role.IsStaff)
{
tradeStatus = TradeStatus.WrongFaction;
}
else if (targetChr.IsLoggingOut)
{
tradeStatus = TradeStatus.TargetLoggingOut;
}
else
{
tradeStatus = TradeStatus.Proposed;
return true;
}
TradeHandler.SendTradeStatus(initChr, tradeStatus);
return false;
}
示例2: CheckInvite
/// <summary>
/// Check whether the given inviter may invite the given target
/// </summary>
public static GroupResult CheckInvite(Character inviter, out Character target, string targetName)
{
GroupResult err;
var inviterMember = inviter.GroupMember;
var group = inviterMember != null ? inviterMember.Group : null;
if (group != null && group.IsFull)
{
// your group is full
err = GroupResult.GroupIsFull;
target = null;
targetName = string.Empty;
}
else if ((inviterMember != null && !inviterMember.IsAtLeastAssistant))
{
target = null;
err = GroupResult.DontHavePermission;
}
else
{
target = World.GetCharacter(targetName, false);
if (target == null || inviter == target ||
(target.Role.IsStaff && !inviter.Role.IsStaff)) // cannot invite staff members without authorization
{
// Character is offline or doesn't exist
err = GroupResult.OfflineOrDoesntExist;
}
else if (inviter.Faction.Group != target.Faction.Group)
{
// you can't invite anyone from another faction
err = GroupResult.TargetIsUnfriendly;
}
else if (target.Group != null || target.IsInvitedToGroup)
{
err = GroupResult.AlreadyInGroup;
}
else if (target.IsIgnoring(inviter) && !inviter.Role.IsStaff)
{
err = GroupResult.TargetIsIgnoringYou;
}
else
{
return GroupResult.NoError;
}
}
SendResult(inviter.Client, err, 0, targetName);
return err;
}