private void StartCounting() { if (!_isActive) { return; } CheckSolution(); if (!_isActive) { return; } if (Session.instance.currentLevel.isSubtractionProblem) { _isBorrowing = CheckBorrowing(); if (!_isBorrowing) { _ones.StartHintCounting(_screen.EnableOnesDragOut); _currentFocus = _ones; _screen.expression.GetComponent <Animator>().SetBool("hintFadeTens", true); _screen.tutorial.HideAll(); _tens.ClearHints(); } } else if (Session.instance.currentLevel.isAdditionProblem) { _isBorrowing = false; if (CheckCarryover(_screen.onesColumn, true)) { return; } bool bIsCarryover = Session.instance.currentLevel.isTargetNumber ? _ones.targetNumCreatures == 10 : _ones.targetNumCreatures == _ones.numCreatures + 10; if (bIsCarryover && Session.instance.currentLevel.requiresMultipleCarryover) { if (Session.instance.currentLevel.isTargetNumber) { StartMultipleCarryover(); return; } _ones.targetNumCreatures = _ones.numCreatures; } _ones.StartHintCounting(_screen.EnableOnesDragIn); _currentFocus = _ones; _screen.expression.GetComponent <Animator>().SetBool("hintFadeTens", true); _tens.ClearHints(); _screen.tutorial.HideAll(); } }