public new void PacketBytesToClass( byte[] data)
	{
		Type infotype = this.GetType();
		FieldInfo headerinfo = null;

		int index = ParsePacketHeader( data);

		// eType
		byte[] type = new byte[ sizeof( Int32)];
		Buffer.BlockCopy( data, index, type, 0, sizeof( Int32));
		headerinfo = infotype.GetField( "eType", BINDING_FLAGS_PIG);
		headerinfo.SetValue( this, BitConverter.ToInt32( type, 0));
		index += sizeof( Int32);

		switch( eType)
		{
		case eGUILD_UI_SCROLL.eGUILD_UI_SCROLL_GUILD:
			searchResult = new body1_SC_GUILD_SEARCH_RESULT();
			searchResult.PacketBytesToClass2( data, index);
			break;
		case eGUILD_UI_SCROLL.eGUILD_UI_SCROLL_APPROVE_MEMBER:
		case eGUILD_UI_SCROLL.eGUILD_UI_SCROLL_NOT_APPROVE_MEMBER:
			memberInfoResult = new body1_SC_GUILD_MEMBER_INFO_RESULT();
			memberInfoResult.PacketBytesToClass2( data, index);
			break;
		}
	}