fNbt.NbtBinaryReader.ReadSingle C# (CSharp) 메소드

ReadSingle() 공개 메소드

public ReadSingle ( ) : float
리턴 float
        public override float ReadSingle()
        {
            if (swapNeeded) {
                FillBuffer(sizeof(float));
                Array.Reverse(buffer, 0, sizeof(float));
                return BitConverter.ToSingle(buffer, 0);
            } else {
                return base.ReadSingle();
            }
        }

Usage Example

예제 #1
0
        NbtTag ReadValueAsTag()
        {
            if (!atValue)
            {
                // Should never happen
                throw new InvalidOperationException(NoValueToReadError);
            }
            atValue = false;
            switch (TagType)
            {
            case NbtTagType.Byte:
                return(new NbtByte(TagName, reader.ReadByte()));

            case NbtTagType.Short:
                return(new NbtShort(TagName, reader.ReadInt16()));

            case NbtTagType.Int:
                return(new NbtInt(TagName, reader.ReadInt32()));

            case NbtTagType.Long:
                return(new NbtLong(TagName, reader.ReadInt64()));

            case NbtTagType.Float:
                return(new NbtFloat(TagName, reader.ReadSingle()));

            case NbtTagType.Double:
                return(new NbtDouble(TagName, reader.ReadDouble()));

            case NbtTagType.String:
                return(new NbtString(TagName, reader.ReadString()));

            case NbtTagType.ByteArray:
                byte[] value = reader.ReadBytes(TagLength);
                if (value.Length < TagLength)
                {
                    throw new EndOfStreamException();
                }
                return(new NbtByteArray(TagName, value));

            case NbtTagType.IntArray:
                var ints = new int[TagLength];
                for (int i = 0; i < TagLength; i++)
                {
                    ints[i] = reader.ReadInt32();
                }
                return(new NbtIntArray(TagName, ints));

            case NbtTagType.LongArray:
                var longs = new long[TagLength];
                for (int i = 0; i < TagLength; i++)
                {
                    longs[i] = reader.ReadInt64();
                }

                return(new NbtLongArray(TagName, longs));

            default:
                throw new InvalidOperationException(NonValueTagError);
            }
        }
All Usage Examples Of fNbt.NbtBinaryReader::ReadSingle