public static PacketWriter UpdatePlayer(IFieldActor <Player> player) { FieldObjectUpdate flag = FieldObjectUpdate.Move | FieldObjectUpdate.Animate; PacketWriter pWriter = PacketWriter.Of(SendOp.FIELD_OBJECT); pWriter.Write(FieldObjectMode.UpdateEntity); pWriter.WriteInt(player.ObjectId); pWriter.WriteByte((byte)flag); if (flag.HasFlag(FieldObjectUpdate.Type1)) { pWriter.WriteByte(); } if (flag.HasFlag(FieldObjectUpdate.Move)) { pWriter.Write(player.Coord); } if (flag.HasFlag(FieldObjectUpdate.Level)) { pWriter.WriteShort(player.Value.Levels.Level); } if (flag.HasFlag(FieldObjectUpdate.Type4)) { pWriter.WriteShort(); pWriter.WriteInt(); } if (flag.HasFlag(FieldObjectUpdate.Type5)) { pWriter.WriteUnicodeString("Unknown"); } if (flag.HasFlag(FieldObjectUpdate.Type6)) { pWriter.WriteInt(); } if (flag.HasFlag(FieldObjectUpdate.Animate)) { pWriter.WriteShort(player.Animation); } return(pWriter); }
public static Packet UpdatePlayer(IFieldObject <Player> player) { FieldObjectUpdate flag = FieldObjectUpdate.Move | FieldObjectUpdate.Animate; PacketWriter pWriter = PacketWriter.Of(SendOp.PROXY_GAME_OBJ); pWriter.WriteEnum(ProxyGameObjMode.UpdateEntity); pWriter.WriteInt(player.ObjectId); pWriter.WriteByte((byte)flag); if (flag.HasFlag(FieldObjectUpdate.Type1)) { pWriter.WriteByte(); } if (flag.HasFlag(FieldObjectUpdate.Move)) { pWriter.Write(player.Coord); } if (flag.HasFlag(FieldObjectUpdate.Type3)) { pWriter.WriteShort(); } if (flag.HasFlag(FieldObjectUpdate.Type4)) { pWriter.WriteShort(); pWriter.WriteInt(); } if (flag.HasFlag(FieldObjectUpdate.Type5)) { pWriter.WriteUnicodeString("Unknown"); } if (flag.HasFlag(FieldObjectUpdate.Type6)) { pWriter.WriteInt(); } if (flag.HasFlag(FieldObjectUpdate.Animate)) { pWriter.WriteShort(player.Value.Animation); } return(pWriter); }