示例#1
0
    void StartTutorialStepAt(int idx)
    {
        running            = true;
        CurrentTutorialIdx = idx;
        TutorialStep step = tutorialEntries[CurrentTutorialIdx];

        currentDuration = step.duration;
        if (currentDuration >= 0)
        {
            elapsed = 0;
        }

        tutorialCanvas.gameObject.SetActive(true);
        tutorialCanvas.enabled = true;
        overlay.gameObject.SetActive(step.showOverlay);
        bool highlightPos = step.highlightPositionNode != null;

        highlight.gameObject.SetActive(highlightPos);
        if (highlightPos)
        {
            highlight.transform.position = step.highlightPositionNode.position;
        }

        bool showText = !string.IsNullOrEmpty(step.tutorialText);

        textBox.gameObject.SetActive(showText);
        if (showText)
        {
            text.text = step.tutorialText;
        }

        planetManager.PauseLogic(!step.gameEnabled);
        planetManager.SetInputEnabled(step.gameInputEnabled);
        planetManager.setAIEnabled(step.aiEnabled);
    }