Upgrades gumps to allow netstate specific compilation/appends. (#7)

This commit is contained in:
Kamron Batman 2018-02-21 20:30:45 -08:00 committed by GitHub
parent d8ed7c1da9
commit 5d61205240
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 69 additions and 71 deletions

View file

@ -144,7 +144,7 @@ namespace Server
if( value < 10000 )
vl = 0;
else if( value >= 20000 && index == 5)
vl = 2;
vl = 2;
else if( value >= 21000 && index != 1)
vl = 2;
else if( value >= 22000 && index == 1)
@ -162,16 +162,16 @@ namespace Server
{
}
public override string Compile()
public override string Compile( NetState ns )
{
return String.Format( "{{ gumppic {0} {1} {2} hue={3} class=VirtueGumpItem }}", X, Y, GumpID, Hue );
}
private static byte[] m_Class = Gump.StringToBuffer( " class=VirtueGumpItem" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
base.AppendTo( disp );
base.AppendTo( ns, disp );
disp.AppendLayout( m_Class );
}
@ -183,4 +183,4 @@ namespace Server
m_Beholder.SendGump( new VirtueStatusGump( m_Beholder ) );
}
}
}
}

View file

@ -407,7 +407,7 @@ namespace Server.Gumps
e = m_Entries[i];
disp.AppendLayout( m_BeginLayout );
e.AppendTo( disp );
e.AppendTo( ns, disp );
disp.AppendLayout( m_EndLayout );
}
@ -425,7 +425,8 @@ namespace Server.Gumps
{
}
public virtual void OnServerClose( NetState owner ) {
public virtual void OnServerClose( NetState owner )
{
}
}
}
}

View file

@ -84,14 +84,14 @@ namespace Server.Gumps
m_Height = height;
}
public override string Compile()
public override string Compile( NetState ns )
{
return String.Format( "{{ checkertrans {0} {1} {2} {3} }}", m_X, m_Y, m_Width, m_Height );
}
private static byte[] m_LayoutName = Gump.StringToBuffer( "checkertrans" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_X );

View file

@ -98,14 +98,14 @@ namespace Server.Gumps
m_GumpID = gumpID;
}
public override string Compile()
public override string Compile( NetState ns )
{
return String.Format( "{{ resizepic {0} {1} {2} {3} {4} }}", m_X, m_Y, m_GumpID, m_Width, m_Height );
}
private static byte[] m_LayoutName = Gump.StringToBuffer( "resizepic" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_X );

View file

@ -142,14 +142,14 @@ namespace Server.Gumps
}
}
public override string Compile()
public override string Compile( NetState ns )
{
return String.Format( "{{ button {0} {1} {2} {3} {4} {5} {6} }}", m_X, m_Y, m_ID1, m_ID2, (int)m_Type, m_Param, m_ButtonID );
}
private static byte[] m_LayoutName = Gump.StringToBuffer( "button" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_X );

View file

@ -112,14 +112,14 @@ namespace Server.Gumps
m_SwitchID = switchID;
}
public override string Compile()
public override string Compile( NetState ns )
{
return String.Format( "{{ checkbox {0} {1} {2} {3} {4} {5} }}", m_X, m_Y, m_ID1, m_ID2, m_InitialState ? 1 : 0, m_SwitchID );
}
private static byte[] m_LayoutName = Gump.StringToBuffer( "checkbox" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_X );

View file

@ -36,11 +36,6 @@ namespace Server.Gumps
if ( var != val )
{
var = val;
if ( m_Parent != null )
{
m_Parent.Invalidate();
}
}
}
@ -49,11 +44,6 @@ namespace Server.Gumps
if ( var != val )
{
var = val;
if ( m_Parent != null )
{
m_Parent.Invalidate();
}
}
}
@ -62,32 +52,39 @@ namespace Server.Gumps
if ( var != val )
{
var = val;
if ( m_Parent != null )
{
m_Parent.Invalidate();
}
}
}
public Gump Parent {
get {
protected void Delta( ref object[] var, object[] val )
{
if ( var != val )
{
var = val;
}
}
public Gump Parent
{
get
{
return m_Parent;
}
set {
if (m_Parent != value) {
if (m_Parent != null)
m_Parent.Remove(this);
set
{
if ( m_Parent != value )
{
if ( m_Parent != null )
m_Parent.Remove( this );
m_Parent = value;
if (m_Parent != null)
m_Parent.Add(this);
if ( m_Parent != null )
m_Parent.Add( this );
}
}
}
public abstract string Compile();
public abstract void AppendTo( IGumpWriter disp );
public abstract string Compile( NetState ns );
public abstract void AppendTo( NetState ns, IGumpWriter disp );
}
}

View file

@ -44,14 +44,14 @@ namespace Server.Gumps
}
}
public override string Compile()
public override string Compile( NetState ns )
{
return String.Format( "{{ group {0} }}", m_Group );
}
private static byte[] m_LayoutName = Gump.StringToBuffer( "group" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_Group );

View file

@ -125,14 +125,14 @@ namespace Server.Gumps
m_Scrollbar = scrollbar;
}
public override string Compile()
public override string Compile( NetState ns )
{
return String.Format( "{{ htmlgump {0} {1} {2} {3} {4} {5} {6} }}", m_X, m_Y, m_Width, m_Height, Parent.Intern( m_Text ), m_Background ? 1 : 0, m_Scrollbar ? 1 : 0 );
}
private static byte[] m_LayoutName = Gump.StringToBuffer( "htmlgump" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_X );

View file

@ -211,7 +211,7 @@ namespace Server.Gumps
m_Type = GumpHtmlLocalizedType.Args;
}
public override string Compile()
public override string Compile( NetState ns )
{
switch ( m_Type )
{
@ -230,7 +230,7 @@ namespace Server.Gumps
private static byte[] m_LayoutNameColor = Gump.StringToBuffer( "xmfhtmlgumpcolor" );
private static byte[] m_LayoutNameArgs = Gump.StringToBuffer( "xmfhtmltok" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
switch ( m_Type )
{

View file

@ -89,7 +89,7 @@ namespace Server.Gumps
}
}
public override string Compile()
public override string Compile( NetState ns )
{
if ( m_Hue == 0 )
return String.Format( "{{ gumppic {0} {1} {2} }}", m_X, m_Y, m_GumpID );
@ -100,7 +100,7 @@ namespace Server.Gumps
private static byte[] m_LayoutName = Gump.StringToBuffer( "gumppic" );
private static byte[] m_HueEquals = Gump.StringToBuffer( " hue=" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_X );

View file

@ -214,7 +214,7 @@ namespace Server.Gumps
}
}
public override string Compile()
public override string Compile( NetState ns )
{
if( m_LocalizedTooltip > 0 )
return String.Format( "{{ buttontileart {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} }}{{ tooltip {11} }}", m_X, m_Y, m_ID1, m_ID2, (int)m_Type, m_Param, m_ButtonID, m_ItemID, m_Hue, m_Width, m_Height, m_LocalizedTooltip );
@ -225,7 +225,7 @@ namespace Server.Gumps
private static byte[] m_LayoutName = Gump.StringToBuffer( "buttontileart" );
private static byte[] m_LayoutTooltip = Gump.StringToBuffer( " }{ tooltip" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_X );

View file

@ -98,14 +98,14 @@ namespace Server.Gumps
}
}
public override string Compile()
public override string Compile( NetState ns )
{
return String.Format( "{{ gumppictiled {0} {1} {2} {3} {4} }}", m_X, m_Y, m_Width, m_Height, m_GumpID );
}
private static byte[] m_LayoutName = Gump.StringToBuffer( "gumppictiled" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_X );

View file

@ -89,7 +89,7 @@ namespace Server.Gumps
}
}
public override string Compile()
public override string Compile( NetState ns )
{
if ( m_Hue == 0 )
return String.Format( "{{ tilepic {0} {1} {2} }}", m_X, m_Y, m_ItemID );
@ -100,7 +100,7 @@ namespace Server.Gumps
private static byte[] m_LayoutName = Gump.StringToBuffer( "tilepic" );
private static byte[] m_LayoutNameHue = Gump.StringToBuffer( "tilepichue" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_Hue == 0 ? m_LayoutName : m_LayoutNameHue );
disp.AppendLayout( m_X );

View file

@ -44,14 +44,14 @@ namespace Server.Gumps
}
}
public override string Compile()
public override string Compile( NetState ns )
{
return String.Format( "{{ itemproperty {0} }}", m_Serial );
}
private static byte[] m_LayoutName = Gump.StringToBuffer( "itemproperty" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_Serial );

View file

@ -85,14 +85,14 @@ namespace Server.Gumps
}
}
public override string Compile()
public override string Compile( NetState ns )
{
return String.Format( "{{ text {0} {1} {2} {3} }}", m_X, m_Y, m_Hue, Parent.Intern( m_Text ) );
}
private static byte[] m_LayoutName = Gump.StringToBuffer( "text" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_X );

View file

@ -112,14 +112,14 @@ namespace Server.Gumps
m_Text = text;
}
public override string Compile()
public override string Compile( NetState ns )
{
return String.Format( "{{ croppedtext {0} {1} {2} {3} {4} {5} }}", m_X, m_Y, m_Width, m_Height, m_Hue, Parent.Intern( m_Text ) );
}
private static byte[] m_LayoutName = Gump.StringToBuffer( "croppedtext" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_X );

View file

@ -44,14 +44,14 @@ namespace Server.Gumps
}
}
public override string Compile()
public override string Compile( NetState ns )
{
return String.Format( "{{ page {0} }}", m_Page );
}
private static byte[] m_LayoutName = Gump.StringToBuffer( "page" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_Page );

View file

@ -112,14 +112,14 @@ namespace Server.Gumps
m_SwitchID = switchID;
}
public override string Compile()
public override string Compile( NetState ns )
{
return String.Format( "{{ radio {0} {1} {2} {3} {4} {5} }}", m_X, m_Y, m_ID1, m_ID2, m_InitialState ? 1 : 0, m_SwitchID );
}
private static byte[] m_LayoutName = Gump.StringToBuffer( "radio" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_X );

View file

@ -126,14 +126,14 @@ namespace Server.Gumps
m_InitialText = initialText;
}
public override string Compile()
public override string Compile( NetState ns )
{
return String.Format( "{{ textentry {0} {1} {2} {3} {4} {5} {6} }}", 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( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_X );

View file

@ -113,13 +113,13 @@ namespace Server.Gumps {
m_Size = size;
}
public override string Compile() {
public override string Compile( NetState ns ) {
return String.Format( "{{ textentrylimited {0} {1} {2} {3} {4} {5} {6} {7} }}", m_X, m_Y, m_Width, m_Height, m_Hue, m_EntryID, Parent.Intern( m_InitialText ), m_Size );
}
private static byte[] m_LayoutName = Gump.StringToBuffer( "textentrylimited" );
public override void AppendTo( IGumpWriter disp ) {
public override void AppendTo( NetState ns, IGumpWriter disp ) {
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_X );
disp.AppendLayout( m_Y );

View file

@ -44,14 +44,14 @@ namespace Server.Gumps
}
}
public override string Compile()
public override string Compile( NetState ns )
{
return String.Format( "{{ tooltip {0} }}", m_Number );
}
private static byte[] m_LayoutName = Gump.StringToBuffer( "tooltip" );
public override void AppendTo( IGumpWriter disp )
public override void AppendTo( NetState ns, IGumpWriter disp )
{
disp.AppendLayout( m_LayoutName );
disp.AppendLayout( m_Number );