private void OnCorrectItemDropped() { if (_furnace.SucceedSequences == 1 && _furnace.GetAllSequences()[_furnace.SucceedSequences].SucceedColors == 1) { _armController.InverseX(); _armController.InverseZ(); } _timeLeft += SuccessBonusTime; OnBonusTime?.Invoke(SuccessBonusTime); _soundController.PlayLevelPartialSequenceSuccessSound(); }
public void InitiateNextSequence() { if (_furnace.SucceedSequences == 1 && !_currentSequenceFailed) { _dialogSystem.StartSingleLine("Area02_first_sequence_done"); _armController.InverseX(); _armController.InverseZ(); } else if (_furnace.SucceedSequences == 2 && !_currentSequenceFailed) { _dialogSystem.StartSingleLine("Area02_second_sequence_done"); } if (!_currentSequenceFailed) { _soundController.PlayLevelSequenceClearedSuccessSound(); _timeLeft += SuccessfulSequenceBonusTime; OnBonusTime?.Invoke(SuccessfulSequenceBonusTime); } else { _soundController.PlayLevelOneErrorSound(); _nextWarningIndex = 0; foreach (var warningTime in TimeLeftWhenWarningPlays) { if (_timeLeft > warningTime) { break; } _nextWarningIndex++; } if (_nextWarningIndex >= TimeLeftWhenWarningPlays.Count) { _nextWarningIndex = TimeLeftWhenWarningPlays.Count - 1; } } _imageList.Clean(); setItemsImageList(); _currentListIndex = 0; _currentSequenceFailed = false; }