Alexandria.Engines.Unreal.UIndex.Read C# (CSharp) Method

Read() public static method

public static Read ( BinaryReader reader ) : UIndex
reader System.IO.BinaryReader
return UIndex
        public static UIndex Read(BinaryReader reader)
        {
            int initial = reader.ReadByte(), value = initial & 63, code = 0, shift = 6;

            if ((initial & 64) != 0) {
                do {
                    value |= ((code = reader.ReadByte()) & 127) << shift;
                    shift += 7;
                } while ((code & 128) != 0);
            }

            return (initial & 128) != 0 ? -value : value;
        }

Usage Example

Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="reader"></param>
        public FieldInfo(BinaryReader reader)
        {
            Value      = reader.ReadByte();
            Size       = 0;
            ArrayIndex = 0;
            switch (SizeForm)
            {
            case FieldTypeSize.Size1: Size = 1; break;

            case FieldTypeSize.Size2: Size = 2; break;

            case FieldTypeSize.Size4: Size = 4; break;

            case FieldTypeSize.Size12: Size = 12; break;

            case FieldTypeSize.Size16: Size = 16; break;

            case FieldTypeSize.SizeByte: Size = reader.ReadByte(); break;

            case FieldTypeSize.SizeShort: Size = reader.ReadUInt16(); break;

            case FieldTypeSize.SizeInt: Size = reader.ReadInt32(); break;

            default: throw new Exception();
            }
            if (IsArray && Type != FieldTypeBase.Boolean)
            {
                ArrayIndex = UIndex.Read(reader);
            }
        }
All Usage Examples Of Alexandria.Engines.Unreal.UIndex::Read