Beispiel #1
0
    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();
        }
    }