public override void OnStateEnter() { monsterClipSounded = false; currentStage = DialogStages.BEFORE_MONSTER_ATTACKS; tutorial.dialogueManager.StartDialog(dialogue); tutorial.monster.GetComponent <Collider>().enabled = true; }
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)); } }