Exemplo n.º 1
0
        internal void InvalidateMeAndNeighbors()
        {
            ChunkCache cache = World.Instance.GetCachedChunks();

            Invalidate();
            foreach (ChunkColumn column in cache.AllNeighborColumns(this))
            {
                column.Invalidate();
            }
        }
Exemplo n.º 2
0
        private void NotifyNeighbors()
        {
            ChunkCache cache = World.Instance.GetCachedChunks();

            OnNeighborGenerated();
            foreach (var neighborColumn in cache.AllNeighborColumns(this))
            {
                if (neighborColumn == null)
                {
                    continue;
                }
                neighborColumn.OnNeighborGenerated();
            }
        }
Exemplo n.º 3
0
        private void OnNeighborGenerated()
        {
            if (Stage != ColumnStageEnum.Generated)
            {
                return;
            }
            ChunkCache cache = World.Instance.GetCachedChunks();
            var        allNeighborColumns = cache.AllNeighborColumns(this);

            foreach (var column in allNeighborColumns)
            {
                if (column == null || column.Stage == ColumnStageEnum.NotGenerated)
                {
                    return;
                }
            }
            Stage = ColumnStageEnum.AllNeighborsGenerated;
        }