void Minigame_Off(MinigameCtrl inControl) { m_NextMinigame.OnClose -= Minigame_Off; Camera.main.GetComponent <Animator>().SetTrigger("camIn"); if (onCtrlOff != null) { onCtrlOff(); } }
private void CalculateNextMinigame() { Level currentLevel = Session.instance.currentLevel; Level nextLevel = Session.instance.PeekNextLevel(); bool bOnMinigameInterval = Session.instance.numLevelsCompleted > 0 && (Session.instance.numLevelsCompleted % ExpressionMinigameInterval) == 0; bool bOnNestMinigameInterval = bOnMinigameInterval && (Session.instance.numLevelsCompleted % (ExpressionMinigameInterval * NestMinigameInterval)) == 0; bool bShowNestMinigame = currentLevel.showNestMinigame != Level.MinigameTiming.Block && nextLevel.showNestMinigame != Level.MinigameTiming.Block; if (bShowNestMinigame) { if (currentLevel.showNestMinigame == Level.MinigameTiming.After || nextLevel.showNestMinigame == Level.MinigameTiming.Before) { bShowNestMinigame = true; } else if (nextLevel.isDoubleDigitProblem && !SaveData.instance.SeenTens) { bShowNestMinigame = true; } else if (SaveData.instance.SeenTens && bOnMinigameInterval && bOnNestMinigameInterval) { bShowNestMinigame = true; } else { bShowNestMinigame = false; } } bool bShowExpressionMinigame = currentLevel.showExpressionMinigame != Level.MinigameTiming.Block && nextLevel.showExpressionMinigame != Level.MinigameTiming.Block; if (bShowExpressionMinigame) { if (currentLevel.showExpressionMinigame == Level.MinigameTiming.After || nextLevel.showExpressionMinigame == Level.MinigameTiming.Before) { bShowExpressionMinigame = true; } else if (bOnMinigameInterval) { bShowExpressionMinigame = true; } else { bShowExpressionMinigame = false; } } if (bShowNestMinigame || ForceNestMinigame) { m_NextMinigame = nestMinigame; } else if (bShowExpressionMinigame) { m_NextMinigame = expressionMinigame; } else { m_NextMinigame = null; } }