Ejemplo n.º 1
0
 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);
     }
 }
Ejemplo n.º 2
0
 // 从文件读取
 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);
 }
Ejemplo n.º 3
0
 // 从文件读取
 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);
 }