Revert "Updates Packets & Randomizer (#43)" (#61)

This reverts commit 179cb50557.
This commit is contained in:
Kamron Batman 2019-11-11 08:46:11 -08:00 committed by GitHub
parent 179cb50557
commit c2ecc76457
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
588 changed files with 16260 additions and 10926 deletions

View file

@ -18,101 +18,155 @@
*
***************************************************************************/
using System.Buffers;
using Server.Buffers;
using Server.Collections;
using Server.Network;
namespace Server.Gumps
{
public class GumpImageTileButton : GumpEntry
{
private static byte[] m_LayoutName = Gump.StringToBuffer("buttontileart");
private static byte[] m_LayoutTooltip = Gump.StringToBuffer(" }{ tooltip");
private int m_ButtonID;
private int m_Height;
private int m_Hue;
private int m_ID1, m_ID2;
private int m_ItemID;
private int m_Param;
private GumpButtonType m_Type;
private int m_Width;
//Note, on OSI, The tooltip supports ONLY clilocs as far as I can figure out, and the tooltip ONLY works after the buttonTileArt (as far as I can tell from testing)
private int m_X, m_Y;
public GumpImageTileButton(int x, int y, int normalID, int pressedID, int buttonID, GumpButtonType type, int param,
int itemID, int hue, int width, int height, int localizedTooltip = -1)
{
X = x;
Y = y;
NormalID = normalID;
PressedID = pressedID;
ButtonID = buttonID;
Type = type;
Param = param;
m_X = x;
m_Y = y;
m_ID1 = normalID;
m_ID2 = pressedID;
m_ButtonID = buttonID;
m_Type = type;
m_Param = param;
ItemID = itemID;
Hue = hue;
Width = width;
Height = height;
m_ItemID = itemID;
m_Hue = hue;
m_Width = width;
m_Height = height;
LocalizedTooltip = localizedTooltip;
}
public int X { get; set; }
public int X
{
get => m_X;
set => Delta(ref m_X, value);
}
public int Y { get; set; }
public int Y
{
get => m_Y;
set => Delta(ref m_Y, value);
}
public int NormalID { get; set; }
public int NormalID
{
get => m_ID1;
set => Delta(ref m_ID1, value);
}
public int PressedID { get; set; }
public int PressedID
{
get => m_ID2;
set => Delta(ref m_ID2, value);
}
public int ButtonID { get; set; }
public int ButtonID
{
get => m_ButtonID;
set => Delta(ref m_ButtonID, value);
}
public GumpButtonType Type { get; set; }
public GumpButtonType Type
{
get => m_Type;
set
{
if (m_Type != value)
{
m_Type = value;
public int Param { get; set; }
Gump parent = Parent;
public int ItemID { get; set; }
parent?.Invalidate();
}
}
}
public int Hue { get; set; }
public int Param
{
get => m_Param;
set => Delta(ref m_Param, value);
}
public int Width { get; set; }
public int ItemID
{
get => m_ItemID;
set => Delta(ref m_ItemID, value);
}
public int Height { get; set; }
public int Hue
{
get => m_Hue;
set => Delta(ref m_Hue, value);
}
public int Width
{
get => m_Width;
set => Delta(ref m_Width, value);
}
public int Height
{
get => m_Height;
set => Delta(ref m_Height, value);
}
public int LocalizedTooltip{ get; set; }
public override string Compile(ArraySet<string> strings) =>
$"{{ buttontileart {X} {Y} {NormalID} {PressedID} {(int)Type} {Param} {ButtonID} {ItemID} {Hue} {Width} {Height} }}{(LocalizedTooltip > 0 ? $"{{ tooltip {LocalizedTooltip} }}" : "")}";
private static readonly byte[] m_LayoutName = Gump.StringToBuffer("{ buttontileart ");
private static readonly byte[] m_LayoutTooltip = Gump.StringToBuffer(" }{ tooltip ");
public override void AppendTo(ArrayBufferWriter<byte> buffer, ArraySet<string> strings, ref int entries, ref int switches)
public override string Compile(NetState ns)
{
SpanWriter writer = new SpanWriter(buffer.GetSpan(160));
writer.Write(m_LayoutName);
writer.WriteAscii(X.ToString());
writer.Write((byte)0x20); // ' '
writer.WriteAscii(Y.ToString());
writer.Write((byte)0x20); // ' '
writer.WriteAscii(NormalID.ToString());
writer.Write((byte)0x20); // ' '
writer.WriteAscii(PressedID.ToString());
writer.Write((byte)0x20); // ' '
writer.WriteAscii(((int)Type).ToString());
writer.Write((byte)0x20); // ' '
writer.WriteAscii(Param.ToString());
writer.Write((byte)0x20); // ' '
writer.WriteAscii(ButtonID.ToString());
writer.Write((byte)0x20); // ' '
writer.WriteAscii(ItemID.ToString());
writer.Write((byte)0x20); // ' '
writer.WriteAscii(Hue.ToString());
writer.Write((byte)0x20); // ' '
writer.WriteAscii(Width.ToString());
writer.Write((byte)0x20); // ' '
writer.WriteAscii(Height.ToString());
writer.Write((byte)0x20); // ' '
if (LocalizedTooltip > 0)
return
$"{{ buttontileart {m_X} {m_Y} {m_ID1} {m_ID2} {(int)m_Type} {m_Param} {m_ButtonID} {m_ItemID} {m_Hue} {m_Width} {m_Height} }}{{ tooltip {LocalizedTooltip} }}";
return
$"{{ buttontileart {m_X} {m_Y} {m_ID1} {m_ID2} {(int)m_Type} {m_Param} {m_ButtonID} {m_ItemID} {m_Hue} {m_Width} {m_Height} }}";
}
public override void AppendTo(NetState ns, IGumpWriter disp)
{
disp.AppendLayout(m_LayoutName);
disp.AppendLayout(m_X);
disp.AppendLayout(m_Y);
disp.AppendLayout(m_ID1);
disp.AppendLayout(m_ID2);
disp.AppendLayout((int)m_Type);
disp.AppendLayout(m_Param);
disp.AppendLayout(m_ButtonID);
disp.AppendLayout(m_ItemID);
disp.AppendLayout(m_Hue);
disp.AppendLayout(m_Width);
disp.AppendLayout(m_Height);
if (LocalizedTooltip > 0)
{
writer.Write(m_LayoutTooltip);
writer.WriteAscii(LocalizedTooltip.ToString());
writer.Write((byte)0x20); // ' '
disp.AppendLayout(m_LayoutTooltip);
disp.AppendLayout(LocalizedTooltip);
}
writer.Write((byte)0x7D); // '}'
buffer.Advance(writer.WrittenCount);
}
}
}