本文整理汇总了C#中ICharacter.CalculateOriginalSprite方法的典型用法代码示例。如果您正苦于以下问题:C# ICharacter.CalculateOriginalSprite方法的具体用法?C# ICharacter.CalculateOriginalSprite怎么用?C# ICharacter.CalculateOriginalSprite使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICharacter
的用法示例。
在下文中一共展示了ICharacter.CalculateOriginalSprite方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RefreshCharacterSprite
public static void RefreshCharacterSprite(ICharacter character, IMap map, PacketHitList hitlist)
{
PacketHitList.MethodStart(ref hitlist);
//sprite
ExtraStatus status;
int sprite = character.Sprite;
character.CalculateOriginalSprite();
if (character.HasActiveItem(259) && character.HeldItem.Num == 259 && map != null && map.Moral == Enums.MapMoral.House) {
character.Sprite = character.HeldItem.Tag.ToInt();
}
status = character.VolatileStatus.GetStatus("Illusion");
if (status != null) {
character.Sprite = status.Counter;
}
if (character.VolatileStatus.GetStatus("Substitute") != null) {
character.Sprite = 0;
character.Form = 3;
}
if (character.VolatileStatus.GetStatus("SemiInvul") != null ||
character.VolatileStatus.GetStatus("SkyDrop:0") != null ||
character.VolatileStatus.GetStatus("SkyDrop:1") != null) {
character.Sprite = 0;
character.Form = 2;
}
if (sprite != character.Sprite) {
if (character.CharacterType == Enums.CharacterType.Recruit) {
PacketBuilder.AppendSprite(((Recruit)character).Owner, hitlist);
} else {
PacketBuilder.AppendNpcSprite(map, hitlist, ((MapNpc)character).MapSlot);
}
}
PacketHitList.MethodEnded(ref hitlist);
}