Example #1
0
 public override void OnStateEnter()
 {
     monsterClipSounded = false;
     currentStage       = DialogStages.BEFORE_MONSTER_ATTACKS;
     tutorial.dialogueManager.StartDialog(dialogue);
     tutorial.monster.GetComponent <Collider>().enabled = true;
 }
Example #2
0
    public override void Tick()
    {
        if (currentStage == DialogStages.BEFORE_MONSTER_ATTACKS)
        {
            int sentence = tutorial.dialogueManager.currentSentence();
            if (sentence == 3 && !tutorial.getShakeGUI().isShaking())
            {
                tutorial.PlayExplosionSound();
                tutorial.getShakeGUI().Shake();
                tutorial.submarine.velocity = Vector3.zero;
                tutorial.submarine.gameObject.GetComponent <SubmarineMovement>().EnginesOff();

                currentStage = DialogStages.GUI_SHAKING;
                Button btn = tutorial.continueButton.GetComponent <Button>();
                btn.interactable = false;
            }
        }
        else if (currentStage == DialogStages.GUI_SHAKING)
        {
            if (!tutorial.getShakeGUI().isShaking())
            {
                Button btn = tutorial.continueButton.GetComponent <Button>();
                btn.interactable = true;
                currentStage     = DialogStages.MONSTER_ATTACKS;
            }
        }
        else if (currentStage == DialogStages.MONSTER_ATTACKS)
        {
            int sentence = tutorial.dialogueManager.currentSentence();
            if (sentence == 5)
            {
                if (!monsterClipSounded)
                {
                    tutorial.PlayMonsterSound();
                    tutorial.SetMonsterInRadar();
                    monsterClipSounded = true;
                    Button btn = tutorial.continueButton.GetComponent <Button>();
                    btn.interactable = false;
                }
                else if (!tutorial.PlayMonsterSoundIsPlaying())
                {
                    tutorial.ShowMonsterEye();
                    Button btn = tutorial.continueButton.GetComponent <Button>();
                    btn.interactable = true;
                }
            }
            if (sentence == 7)
            {
                Rigidbody submarineRigidBody = tutorial.submarine;

                if (submarineRigidBody.velocity.magnitude < 0.9)
                {
                    Button btn = tutorial.continueButton.GetComponent <Button>();
                    btn.interactable = false;
                    tutorial.SetMonsterCanAttack(true);
                }
                else
                {
                    Button btn = tutorial.continueButton.GetComponent <Button>();
                    btn.onClick.Invoke();

                    int      currentIndex = tutorial.indexCurrentDialog + 4;
                    Dialogue nextDialog   = tutorial.tutorialDialogs[++currentIndex];
                    tutorial.setState(new MonsterChaseDialogTutorial(tutorial, nextDialog));
                }
            }
        }
    }
    public override void Tick()
    {
        if (this.stage == DialogStages.BEFORE_OPEN_BOOK)
        {
            if (firstClickLogBook && flag1)
            {
                Button btn1 = tutorial.Logbook.GetComponent <Button>();
                btn1.interactable = false;

                Color myColor = tutorial.Logbook.GetComponent <Image>().material.color;
                myColor.a = 255;

                btn1.onClick.RemoveListener(this.LogBookClick);
                Button btn = tutorial.continueButton.GetComponent <Button>();
                btn.interactable = true;
                btn.onClick.Invoke();
                flag1 = false;
            }

            if (tutorial.dialogueManager.currentSentence() == 6)
            {
                Button btn = tutorial.continueButton.GetComponent <Button>();
                btn.interactable = false;
                Button btn1 = tutorial.Logbook.GetComponent <Button>();
                btn1.interactable = true;
                btn1.onClick.AddListener(LogBookClick);
            }

            if (tutorial.dialogueManager.currentSentence() == 7)
            {
                Button btn1 = tutorial.Logbook.GetComponent <Button>();
                btn1.interactable = true;

                Button btn = tutorial.continueButton.GetComponent <Button>();
                btn.interactable = false;
                this.stage       = DialogStages.BOOK_OPENED;
            }
        }

        if (this.stage == DialogStages.BOOK_OPENED)
        {
            int page = tutorial.LogbookPage.GetComponent <ImageChange>().GetPageIndex();

            if (page == 0 && flag2)
            {
                Button btn = tutorial.continueButton.GetComponent <Button>();
                btn.onClick.Invoke();
                flag2 = false;
            }
            if (page == 1 && !flag2)
            {
                Button btn = tutorial.continueButton.GetComponent <Button>();
                btn.onClick.Invoke();
            }
            if (!tutorial.LogbookPage.activeInHierarchy && !flag2)
            {
                this.stage = DialogStages.BOOK_CLOSED;
            }
        }

        if (this.stage == DialogStages.BOOK_CLOSED)
        {
            int      currentIndex = tutorial.indexCurrentDialog;
            Dialogue nextDialog   = tutorial.tutorialDialogs[++currentIndex];
            tutorial.setState(new Naming(tutorial, nextDialog));
        }
    }