ModernUO/Server/Gumps/GumpTextEntry.cs
2018-09-14 13:07:43 -07:00

109 lines
No EOL
2.6 KiB
C#

/***************************************************************************
* GumpTextEntry.cs
* -------------------
* begin : May 1, 2002
* copyright : (C) The RunUO Software Team
* email : info@runuo.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
using System;
using Server.Network;
namespace Server.Gumps
{
public class GumpTextEntry : GumpEntry
{
private int m_X, m_Y;
private int m_Width, m_Height;
private int m_Hue;
private int m_EntryID;
private string m_InitialText;
public int X
{
get => m_X;
set => Delta( ref m_X, value );
}
public int Y
{
get => m_Y;
set => Delta( ref m_Y, 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 Hue
{
get => m_Hue;
set => Delta( ref m_Hue, value );
}
public int EntryID
{
get => m_EntryID;
set => Delta( ref m_EntryID, value );
}
public string InitialText
{
get => m_InitialText;
set => Delta( ref m_InitialText, value );
}
public GumpTextEntry( int x, int y, int width, int height, int hue, int entryID, string initialText )
{
m_X = x;
m_Y = y;
m_Width = width;
m_Height = height;
m_Hue = hue;
m_EntryID = entryID;
m_InitialText = initialText;
}
public override string Compile( NetState ns )
{
return
$"{{ textentry {m_X} {m_Y} {m_Width} {m_Height} {m_Hue} {m_EntryID} {Parent.Intern(m_InitialText)} }}";
}
private static byte[] m_LayoutName = Gump.StringToBuffer( "textentry" );
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_X );
disp.AppendLayout( m_Y );
disp.AppendLayout( m_Width );
disp.AppendLayout( m_Height );
disp.AppendLayout( m_Hue );
disp.AppendLayout( m_EntryID );
disp.AppendLayout( Parent.Intern( m_InitialText ) );
disp.TextEntries++;
}
}
}