public static UnderCell CreateUnderCell(OverCell overCell) { if (overCell == null) { return(null); } var underCell = new UnderCell(overCell.Row, overCell.Column); if (overCell.IsHorizontalPassage()) { underCell.North = overCell.North; overCell.North.South = underCell; underCell.South = overCell.South; overCell.South.North = underCell; underCell.Link(underCell.North); underCell.Link(underCell.South); } else { underCell.East = overCell.East; overCell.East.West = underCell; underCell.West = overCell.West; overCell.West.East = underCell; underCell.Link(underCell.East); underCell.Link(underCell.West); } return(underCell); }
public void TunnelUnder(OverCell overCell) { var underCell = new UnderCell(overCell); _underCells.Add(underCell); }
public void CreateUnderCell(OverCell cell) { this.underCells.Add(UnderCell.CreateUnderCell(cell)); }