Server.Network.DisplayContextMenuOld.DisplayContextMenuOld C# (CSharp) Méthode

DisplayContextMenuOld() public méthode

public DisplayContextMenuOld ( ContextMenu menu ) : System
menu Server.ContextMenus.ContextMenu
Résultat System
		public DisplayContextMenuOld( ContextMenu menu ) : base( 0xBF )
		{
			ContextMenuEntry[] entries = menu.Entries;

			int length = (byte) entries.Length;

			this.EnsureCapacity( 12 + (length * 8) );

			m_Stream.Write( (short) 0x14 );
			m_Stream.Write( (short) 0x01 );

			IEntity target = menu.Target as IEntity;

			m_Stream.Write( (int) ( target == null ? Serial.MinusOne : target.Serial ) );

			m_Stream.Write( (byte) length );

			Point3D p;

			if ( target is Mobile )
				p = target.Location;
			else if ( target is Item )
				p = ((Item)target).GetWorldLocation();
			else
				p = Point3D.Zero;

			for ( int i = 0; i < length; ++i )
			{
				ContextMenuEntry e = entries[i];

				m_Stream.Write( (short) i );
				m_Stream.Write( (ushort) ( e.Number - 3000000 ) );

				int range = e.Range;

				if ( range == -1 )
					range = 18;

				CMEFlags flags = (e.Enabled && menu.From.InRange( p, range )) ? CMEFlags.None : CMEFlags.Disabled;

				int color = e.Color & 0xFFFF;

				if ( color != 0xFFFF )
					flags |= CMEFlags.Colored;

				flags |= e.Flags;

				m_Stream.Write( (short) flags );

				if ( (flags & CMEFlags.Colored) != 0 )
					m_Stream.Write( (short) color );
			}
		}
	}
DisplayContextMenuOld