public void MixingSlabs() { IsMixing = true; int index = 0; int start = Player.Score + 1; int count = _countSpawned; int[] replacedNumbers = Enumerable.Range(start, count).ToArray(); replacedNumbers.GenerateEnum(0, count); var search = Slabs.ToList().Where(x => x.IsAlive == true); foreach (var slab in search) { slab.SetupNewIndex(replacedNumbers[index]); index++; } IsMixing = false; }
public void OnSlabClicked(int index) { if (!IsGameStart) { IsGameStart = true; } var slab = Slabs.ToList().Where(x => x.Index == index).SingleOrDefault(); if (_currentIndex == index) { slab.Kill(); _countSpawned--; _currentIndex++; Player.AddScore(1); if (Player.Score > 0 && Player.Score % 10 == 0) { MixingSlabs(); } //if(_countSpawned < 10 && Random.Range(0, 100) < 20) // TeleportSlabs(); return; } else if (slab.CanInteract) { Player.ApplyDamageToHealth(1); if (Player.HealthPoint == 0) { Lose(); } } }