Inheritance: IBinarySerializable
コード例 #1
0
        /// <inheritdoc/>
        public void LoadBinaryData(byte[] inData)
        {
            using var ms       = new MemoryStream(inData);
            using var br       = new BinaryReader(ms);
            MinimumLiquidLevel = br.ReadSingle();
            MaxiumLiquidLevel  = br.ReadSingle();

            // Future note: New information suggests there may be more than one liquid layer here, based on
            // the chunk flags (i.e, one layer for river, one layer for ocean, etc)
            for (var y = 0; y < 9; ++y)
            {
                for (var x = 0; x < 9; ++x)
                {
                    LiquidVertices.Add(new LiquidVertex(br.ReadBytes(LiquidVertex.GetSize())));
                }
            }

            for (var y = 0; y < 8; ++y)
            {
                for (var x = 0; x < 8; ++x)
                {
                    LiquidTileFlags.Add((LiquidFlags)br.ReadByte());
                }
            }
        }
コード例 #2
0
        public void LoadBinaryData(byte[] inData)
        {
            using (MemoryStream ms = new MemoryStream(inData))
            {
                using (BinaryReader br = new BinaryReader(ms))
                {
                    this.MinimumLiquidLevel = br.ReadSingle();
                    this.MaxiumLiquidLevel  = br.ReadSingle();

                    for (int y = 0; y < 9; ++y)
                    {
                        for (int x = 0; x < 9; ++x)
                        {
                            this.LiquidVertices.Add(new LiquidVertex(br.ReadBytes(LiquidVertex.GetSize())));
                        }
                    }

                    for (int y = 0; y < 8; ++y)
                    {
                        for (int x = 0; x < 8; ++x)
                        {
                            this.LiquidTileFlags.Add(((LiquidFlags)br.ReadByte()));
                        }
                    }
                }
            }
        }