private static void PaintLineOrCross(Canvass canvass, Coord pos, char c, int id) { if ((canvass.GetCell(pos) == '-' && c == '|') || (canvass.GetCell(pos) == '|' && c == '-')) { c = '+'; } canvass.Paint(pos, c, id); }
private static void PaintLineOrCross(Canvass canvass, Coord pos, char c, int id, Model model) { var oc = canvass.Occupants[pos.Y, pos.X]; if (oc.HasValue) { var elem = model.Objects.First(x => x.Id == oc.Value); if (elem is Line || elem is SlopedLineVectorized || elem is SlopedLine2) { var cell = canvass.GetCell(pos); if (cell == '-' && c == '|' || cell == '|' && c == '-') { c = '+'; } } } canvass.Paint(pos, c, id); }