private void HandleAngleDR(Cell root, sbyte value)
 {
     root.AdjustResidents(value);
     root.BottomNeighbour.AdjustResidents(value);
     root.RightNeighbour.AdjustResidents(value);
 }
 private void HandleAngleUL(Cell root, sbyte value)
 {
     root.AdjustResidents(value);
     root.TopNeighbour.AdjustResidents(value);
     root.LeftNeighbour.AdjustResidents(value);
 }
 private void HandleHline(Cell root, sbyte value)
 {
     root.AdjustResidents(value);
     root.LeftNeighbour.AdjustResidents(value);
     root.RightNeighbour.AdjustResidents(value);
 }
 private void HandleVline(Cell root, sbyte value)
 {
     root.AdjustResidents(value);
     root.TopNeighbour.AdjustResidents(value);
     root.BottomNeighbour.AdjustResidents(value);
 }
 private void HandlePlus(Cell root, sbyte value)
 {
     root.AdjustResidents(value);
     root.TopNeighbour.AdjustResidents(value);
     root.BottomNeighbour.AdjustResidents(value);
     root.LeftNeighbour.AdjustResidents(value);
     root.RightNeighbour.AdjustResidents(value);
 }
 private void HandleNinetile(Cell root, sbyte value)
 {
     root.AdjustResidents(value);
     root.TopNeighbour.AdjustResidents(value);
     root.BottomNeighbour.AdjustResidents(value);
     root.LeftNeighbour.AdjustResidents(value);
     root.RightNeighbour.AdjustResidents(value);
     root.TopLeftNeighbour.AdjustResidents(value);
     root.TopRightNeighbour.AdjustResidents(value);
     root.BottomLeftNeighbour.AdjustResidents(value);
     root.BottomRightNeighbour.AdjustResidents(value);
 }