本文整理汇总了C#中Server.Items.Item.GetPacketFlags方法的典型用法代码示例。如果您正苦于以下问题:C# Item.GetPacketFlags方法的具体用法?C# Item.GetPacketFlags怎么用?C# Item.GetPacketFlags使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Server.Items.Item
的用法示例。
在下文中一共展示了Item.GetPacketFlags方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GMItemPacket
public GMItemPacket(Item item)
: base(0x1A)
{
EnsureCapacity(20);
// 14 base length
// +2 - Amount
// +2 - Hue
// +1 - Flags
uint serial = (uint)item.Serial.Value;
int itemID = 0x1183;
int amount = item.Amount;
Point3D loc = item.Location;
int x = loc.X;
int y = loc.Y;
int hue = item.Hue;
int flags = item.GetPacketFlags();
int direction = (int)item.Direction;
if (amount != 0)
serial |= 0x80000000;
else
serial &= 0x7FFFFFFF;
m_Stream.Write(serial);
m_Stream.Write((short)(itemID & 0x7FFF));
if (amount != 0)
m_Stream.Write((short)amount);
x &= 0x7FFF;
if (direction != 0)
x |= 0x8000;
m_Stream.Write((short)x);
y &= 0x3FFF;
if (hue != 0)
y |= 0x8000;
if (flags != 0)
y |= 0x4000;
m_Stream.Write((short)y);
if (direction != 0)
m_Stream.Write((byte)direction);
m_Stream.Write((sbyte)loc.Z);
if (hue != 0)
m_Stream.Write((ushort)hue);
if (flags != 0)
m_Stream.Write((byte)flags);
}