Пример #1
0
        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);
                            }
                        }
                    }
                }
            }
        }