public void Init(CellType cellType) { ClearRenderer(); if (cellType.IsContains(CellType.Type.Sand)) { staticSprites.Add(sandBackground); } else if (cellType.IsContains(CellType.Type.Grass)) { staticSprites.Add(grassBackground); } else if (cellType.IsContains(CellType.Type.Dirt)) { staticSprites.Add(dirtBackground); } if (cellType.IsContains(CellType.Type.Stone)) { staticSprites.Add(stone); } // We rotate all static layer above ground to be more random int rotator = 0; foreach (Sprite sprite in staticSprites) { CellSpriteRenderer renderer = Instantiate(rendererPrefab); renderer.transform.SetParent(transform, false); if (rotator++ > 0) { renderer.transform.Rotate(new Vector3(0, 0, Random.value * 360)); } renderer.SetSprite(sprite, ++order); renderers.Add(renderer); } }