Server.Network.DisplayGumpPacked.Flush C# (CSharp) Méthode

Flush() public méthode

public Flush ( ) : void
Résultat void
        public void Flush()
        {
            EnsureCapacity( 28 + (int) m_Layout.Length + (int) m_Strings.Length );

            m_Stream.Write( (int) m_Gump.Serial );
            m_Stream.Write( (int) m_Gump.TypeID );
            m_Stream.Write( (int) m_Gump.X );
            m_Stream.Write( (int) m_Gump.Y );

            // Note: layout MUST be null terminated (don't listen to krrios)
            m_Layout.Write( (byte) 0 );
            WritePacked( m_Layout );

            m_Stream.Write( (int) m_StringCount );

            WritePacked( m_Strings );

            PacketWriter.ReleaseInstance( m_Layout );
            PacketWriter.ReleaseInstance( m_Strings );
        }

Usage Example

Exemple #1
0
        protected Packet Compile()
        {
            IGumpWriter disp = new DisplayGumpPacked( this );

            if ( !m_Dragable )
                disp.AppendLayout( m_NoMove );

            if ( !m_Closable )
                disp.AppendLayout( m_NoClose );

            if ( !m_Disposable )
                disp.AppendLayout( m_NoDispose );

            if ( !m_Resizable )
                disp.AppendLayout( m_NoResize );

            int count = m_Entries.Count;
            GumpEntry e;

            for ( int i = 0; i < count; ++i )
            {
                e = m_Entries[i];

                disp.AppendLayout( m_BeginLayout );
                e.AppendTo( disp );
                disp.AppendLayout( m_EndLayout );
            }

            disp.WriteStrings( m_Strings );

            disp.Flush();

            m_TextEntries = disp.TextEntries;
            m_Switches = disp.Switches;

            return disp as Packet;
        }