Example #1
0
    /// <summary>
    /// Open or Close the help folder.
    /// </summary>
    public void ToggleOpen()
    {
        _isOpen = !_isOpen;

        if (TutorialManager.Instance._doTutorial && highlight.activeSelf)
        {
            highlight.SetActive(false);
            TutorialManager.Instance.AdvanceTutorial();
        }

        if (_isOpen)
        {
            _topFlap.LeanRotateAroundLocal(Vector3.right, _rotationAmount, _openingSpeed);
            if (_caseFolder != null && _caseFolder.pages.Count > 0)
            {
                foreach (var CT in _caseFolder.pages.Peek().GetComponentsInChildren <ClickableText>())
                {
                    CT.SetActive();
                }
            }
        }
        else
        {
            _topFlap.LeanRotateAroundLocal(Vector3.right, -_rotationAmount, _openingSpeed / 2);
            if (_caseFolder != null && _caseFolder.pages.Count > 0)
            {
                _caseFolder.GetComponentInChildren <UnderlineRender>().DropLines();
            }

            if (TutorialManager.Instance._doTutorial &&
                TutorialManager.Instance.currentState == TutorialManager.TutorialState.HelpfolderEnd)
            {
                TutorialManager.Instance.AdvanceTutorial();
            }
        }

        if (_helpViewer != null)
        {
            _helpViewer.ToggleButtons(_isOpen);
            _helpViewer.GetComponent <HelpStickyManager>().ToggleInteractable();
        }
        else if (_caseFolder != null && _isOpen)
        {
            StartCoroutine(ToggleAfterDelay(_openingSpeed));
        }
        else if (_caseFolder != null && !_isOpen)
        {
            _caseFolder.ToggleButtons(_isOpen);
        }
    }