示例#1
0
        public static bool WriteField(ref PacketOutStream Stream, EPacketFieldType FieldType, object Value)
        {
            ISerializableField Field = GetFieldType(FieldType);

            Log.Success("WriteField", "Type=" + FieldType + ",Val=" + Value + ",Field=" + Field);
            if (Field != null)
            {
                Field.val = Value;
                Field.Serialize(ref Stream);
                return(true);
            }

            return(false);
        }
示例#2
0
        public static bool WriteField(ref PacketOutStream Stream, ISerializableField Field, int FieldIndex, int FieldType)
        {
            if (FieldType == (int)EPacketFieldType.Invalid)
            {
                return(false);
            }

            PacketOutStream NewStream = new PacketOutStream();

            long FieldResult;

            PacketOutStream.Encode2Parameters(out FieldResult, FieldType, FieldIndex);
            NewStream.WriteEncoded7Bit(FieldResult);

            if (Field == null || Field.Serialize(ref NewStream))
            {
                Stream.Write(NewStream.ToArray());
            }

            return(true);
        }
示例#3
0
        public static bool WriteField(ref PacketOutStream Stream, ISerializableField Field, int FieldIndex, int FieldType)
        {
            if (FieldType == (int)EPacketFieldType.Invalid)
                return false;

            PacketOutStream NewStream = new PacketOutStream();

            long FieldResult;
            PacketOutStream.Encode2Parameters(out FieldResult, FieldType, FieldIndex);
            NewStream.WriteEncoded7Bit(FieldResult);

            if(Field == null || Field.Serialize(ref NewStream))
                Stream.Write(NewStream.ToArray());

            return true;
        }