private void OnGridmapSetValue(Vector3Int pos) { RenderedChunk rendered; Vector3Int chunkPosition, BlockPosition; Chunk.SplitPosition(pos, out chunkPosition, out BlockPosition); if (!chunkCache.TryGetValue(chunkPosition, out rendered)) { rendered = chunkCache.Fetch(); rendered.ChunkPos = chunkPosition; rendered.gameObject.SetActive(true); chunkCache.SubmitFetch(chunkPosition); } rendered.DrawAndUpdateNeighbor(BlockPosition, gridMap[pos]); }