using Core; using UnityEngine; namespace Components.TileObjects { public class CollectibleLane : BaseMonoBehaviour { [SerializeField] private GameObject[] tiles; // Change to transform protected override void ReleaseReferences() { tiles = null; } public void InitializeLane(bool isActive) { gameObject.SetActive(isActive); if (!isActive) return; // var activeCount = Random.Range(1, 6); ShuffleTiles(); for (var i = 0; i < tiles.Length; i++) tiles[i].SetActive(true); // tiles[i].SetActive(i < activeCount); } private void ShuffleTiles() { var length = tiles.Length; for (var i = 0; i < length; i++) { var rnd = Random.Range(0, length); (tiles[i].transform.localPosition, tiles[rnd].transform.localPosition) = (tiles[rnd].transform.localPosition, tiles[i].transform.localPosition); (tiles[i], tiles[rnd]) = (tiles[rnd], tiles[i]); } } } }