public void ShowChunk() { BlockServiceProvider provider = BlockServiceProvider.instance; for (int x = 0; x < m_Size; x++) { for (int y = 0; y < m_Size; y++) { BigBlock block = provider.GetBlockFromPool(); block.EnableBlock(m_Data[x, y]); m_CachedBlocks.Push(block); } } }
public void HideChunk() { BlockServiceProvider provider = BlockServiceProvider.instance; BigBlock[] blocks = m_CachedBlocks.ToArray(); int x = 0; int y = -1; for (int i = 0; i < blocks.Length; i++) { y++; if (y > m_Size) { y = -1; x++; } m_Data[x, y] = blocks[i].DisableBlock(); provider.AddToPool(blocks[i]); } m_CachedBlocks.Clear(); }
// Use this for initialization void Awake() { instance = this; m_BlockPool = new Stack <BigBlock>(); }