예제 #1
0
 void OnBlockPut(Chunk chunk, BlockData block, BlockDescription blockDesc, int x, int y, int z)
 {
     if (blockDesc.IsSwimmable && y > 0)
     {
         //water or lava, lets check if there's block underneath to fill
         var downBlock = chunk.GetBlock(x, y - 1, z);
         if (downBlock.IsEmpty())
         {
             PutBlock(x, y - 1, z, block, chunk);
         }
     }
 }
예제 #2
0
        private void DataAnalyse_Click(object sender, RoutedEventArgs e)
        {
            var openFileDialog = new Microsoft.Win32.OpenFileDialog()
            {
                Filter = ""
            };

            var result = openFileDialog.ShowDialog();

            if (result == false)
            {
                return;
            }

            byte[] readBuf = new byte[1024];

            FileStream file = new FileStream(openFileDialog.FileName, FileMode.Open, FileAccess.Read);

            BinaryReader binaryReader = new BinaryReader(file);

            var count = binaryReader.Read(readBuf, 0, 1024);

            BlockDescription blockDescription = new BlockDescription();
            RecordHeader     recordHeader     = new RecordHeader();

            recordHeader.nID           = BitConverter.ToUInt16(readBuf, 0);
            recordHeader.nVersion      = BitConverter.ToUInt16(readBuf, 2);
            recordHeader.nBlockLength  = BitConverter.ToUInt32(readBuf, 4);
            recordHeader.nRecordLength = BitConverter.ToUInt32(readBuf, 8);
            recordHeader.nYear         = BitConverter.ToUInt16(readBuf, 12);
            recordHeader.nMonth        = readBuf[14];
            recordHeader.nDayOfMonth   = readBuf[15];
            recordHeader.nHour         = BitConverter.ToUInt16(readBuf, 16);
            recordHeader.nMinute       = readBuf[18];
            recordHeader.nSecond       = readBuf[19];
            recordHeader.nNanoSecond   = BitConverter.ToUInt32(readBuf, 20);
        }
예제 #3
0
 public void InitializationBlock(BlockDescription blockDescription)
 {
     _blockDescription = blockDescription;
     CurrentKickCount  = 0;
 }