Streamlines packet tests (#175)

This commit is contained in:
Kamron Batman 2020-07-11 00:29:53 -07:00 • committed by GitHub
parent 6a727c3401
commit 7d20cf7642
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
29 changed files with 1782 additions and 1684 deletions

View file

@ -1,38 +1,39 @@
using System;
using System.Buffers;
using Server.Network;
namespace Server.Tests.Network.Packets
{
public static class AttributeNormalizerUtilities
{
public static void Write(int cur, int max, bool normalize, Span<byte> data)
public static void WriteAttribute(this Span<byte> data, ref int pos, int cur, int max, bool normalize)
{
if (normalize && AttributeNormalizer.Enabled && max != 0)
{
int maximum = AttributeNormalizer.Maximum;
((ushort)maximum).CopyTo(data.Slice(0, 2));
((ushort)(cur * maximum / max)).CopyTo(data.Slice(2, 2));
data.Write(ref pos, (ushort)maximum);
data.Write(ref pos, (ushort)(cur * maximum / max));
return;
}
((ushort)max).CopyTo(data.Slice(0, 2));
((ushort)cur).CopyTo(data.Slice(2, 2));
data.Write(ref pos, (ushort)max);
data.Write(ref pos, (ushort)cur);
}
public static void WriteReverse(int cur, int max, bool normalize, Span<byte> data)
public static void WriteReverseAttribute(this Span<byte> data, ref int pos, int cur, int max, bool normalize)
{
if (normalize && AttributeNormalizer.Enabled && max != 0)
{
int maximum = AttributeNormalizer.Maximum;
((ushort)(cur * maximum / max)).CopyTo(data.Slice(0, 2));
((ushort)maximum).CopyTo(data.Slice(2, 2));
data.Write(ref pos, (ushort)(cur * maximum / max));
data.Write(ref pos, (ushort)maximum);
return;
}
((ushort)cur).CopyTo(data.Slice(0, 2));
((ushort)max).CopyTo(data.Slice(2, 2));
data.Write(ref pos, (ushort)cur);
data.Write(ref pos, (ushort)max);
}
}
}