public static XYObstacleLineList ReadFromBinary(BinaryReader reader, out short xMapSize, out short zMapSize) { reader.ReadInt16(); // version; xMapSize = reader.ReadInt16(); zMapSize = reader.ReadInt16(); return(XYObstacleLineList.Read(reader)); }
public static void WriteToBinary(BinaryWriter writer, XYObstacleLineList lines, short xMapSize, short zMapSize) { writer.Write(VERSION); writer.Write(xMapSize); writer.Write(zMapSize); lines.Write(writer); }
public XYObstacleLineList(XYObstacleLineList other) : this(other.Count) { foreach (XYObstacleLine line in other) { Add(line); } }
public static XYObstacleLineList Read(BinaryReader reader) { int count = (int)reader.ReadInt16(); XYObstacleLineList result = new XYObstacleLineList(count); while (count-- > 0) { XYObstacleLine line = XYObstacleLine.Read(reader); result.Add(line); } return(result); }
public static void WriteToText(TextWriter writer, XYObstacleLineList lines) { List <XYGridPos> pointList = new List <XYGridPos>(lines.Count * 2); List <LinePointIndex> indexList = new List <LinePointIndex>(lines.Count); for (int i = 0; i < lines.Count; ++i) { XYObstacleLine line = lines[i]; LinePointIndex lpi; lpi.p1 = GetPointIndex(pointList, line.Begin); lpi.p2 = GetPointIndex(pointList, line.End); indexList.Add(lpi); } // writer.WriteLine("{0} {1} 0", pointList.Count.ToString(), indexList.Count.ToString()); foreach (XYGridPos pos in pointList) { writer.WriteLine("{0} {1} 0", pos.x.ToString(), pos.y.ToString()); } foreach (LinePointIndex lpi in indexList) { writer.WriteLine("{0} {1}", (lpi.p1 + 1).ToString(), (lpi.p2 + 1).ToString()); } }