public void Load(string filename) { if (!FileReaderProxy.Exists(filename)) { return; } try { using (MemoryStream ms = FileReaderProxy.ReadFileAsMemoryStream(filename)) { using (BinaryReader br = new BinaryReader(ms)) { while (ms.Position <= ms.Length - c_RecordSize) { short row = br.ReadInt16(); short col = br.ReadInt16(); byte obstacle = br.ReadByte(); byte oldObstacle = br.ReadByte(); Update(row, col, obstacle, oldObstacle); } br.Close(); } ms.Close(); } } catch (Exception ex) { LogUtil.Error("{0}\n{1}", ex.Message, ex.StackTrace); } }
// 从文件读取 public bool Init(string filename) { if (!FileReaderProxy.Exists(filename)) { return(false); } try { using (MemoryStream ms = FileReaderProxy.ReadFileAsMemoryStream(filename)) { using (BinaryReader br = new BinaryReader(ms)) { map_width_ = (float)br.ReadDouble(); map_height_ = (float)br.ReadDouble(); cell_width_ = (float)br.ReadDouble(); GetCell(new Vector3(map_width_, 0, map_height_), out max_row_, out max_col_); max_row_++; max_col_++; if (max_col_ % 2 == 0) { max_row_++; } cells_arr_ = new byte[max_row_, max_col_]; int row = 0; int col = 0; while (ms.Position < ms.Length && row < max_row_) { cells_arr_[row, col] = br.ReadByte(); if (++col >= max_col_) { col = 0; ++row; } } br.Close(); } } } catch (Exception e) { LogUtil.Error("{0}\n{1}", e.Message, e.StackTrace); return(false); } return(true); }
// 从文件读取 public bool Init(string filename) { if (!FileReaderProxy.Exists(filename)) { return(false); } try { if (filename.Contains("cow_walkable")) { InitCow(filename); } else { InitDefault(filename); } } catch (Exception e) { LogSystem.Error("{0}\n{1}", e.Message, e.StackTrace); return(false); } return(true); }