public void Check(TilePropagator propagator) { var topology = propagator.Topology; foreach (var i in changeTracker.GetChangedIndices()) { if (TryMapIndex(propagator, i, out var i2)) { topology.GetCoord(i, out var x, out var y, out var z); topology.GetCoord(i2, out var x2, out var y2, out var z2); foreach (var tile in propagator.TileModel.Tiles) { if (TryMapTile(tile, out var tile2)) { if (propagator.IsBanned(x, y, z, tile) && !propagator.IsBanned(x2, y, z, tile2)) { propagator.Ban(x2, y, z, tile2); } } } } } }