コード例 #1
0
 private void YmirDialogue()
 {
     if (phase.Equals("ymir"))
     {
         if (ymirExplanation.activeInHierarchy)
         {
             if (player.GetInteractTrigger())
             {
                 if (!ymirDialogue.GetDialogueEnded())
                 {
                     if (ymirDialogue.GetEndLine())
                     {
                         ymirDialogue.Play();
                     }
                 }
                 else
                 {
                     canvasBlinkEyes.SetActive(false);
                     phase = "finish";
                     ymirExplanation.SetActive(false);
                     tutorial.SetActive(true);
                     gameObject.SetActive(false);
                 }
             }
         }
         else
         {
             ymirExplanation.SetActive(true);
             ymirDialogue.Play();
             player.EnableKey("interact");
         }
     }
 }
コード例 #2
0
 private void DialogueController()
 {
     if ((inWrongDialogue || correctDialoguePhase) && player.GetInteractTrigger())
     {
         if (!dialogue.GetDialogueEnded())
         {
             if (dialogue.GetEndLine())
                 dialogue.Play();
         }
         else if (inWrongDialogue)
         {
             tent.tag = "Untagged";
             goals.SetMyraGoal("end");
             CloseDialogue();
         }
         else if (correctDialoguePhase)
         {
             myra.SetActive(false);
             inventory.AddMemory(flowerMemory, popUpMessage);
             inventory.RemoveItem(items[1]);
             tent.tag = "Untagged";
             goals.SetMyraGoal("end");
             CloseDialogue();
         }
     }
 }
コード例 #3
0
    // Update is called once per frame
    void Update()
    {
        if (player.GetInteractTrigger())
        {
            player.EnableControls();
            dialogue.Play();

            if (dialogue.GetDialogueEnded() && dialogue.GetEndLine())
            {
                gameObject.SetActive(false);
            }
        }
    }
コード例 #4
0
 private void Update()
 {
     if (dialogue.activeInHierarchy)
     {
         if (!dialogueBox.GetDialogueEnded())
         {
             if (player.GetInteractTrigger() && dialogueBox.GetEndLine())
             {
                 dialogueBox.Play();
             }
         }
         else
         {
             dialogue.gameObject.SetActive(false);
             cam.SetActive(false);
             Invoke(nameof(EnableControl), 0.5f);
         }
     }
 }
コード例 #5
0
 private void Update()
 {
     if (YmirExplanation.activeInHierarchy)
     {
         if (player.GetInteractTrigger())
         {
             if (!YmirDialogue.GetDialogueEnded())
             {
                 if (YmirDialogue.GetEndLine())
                 {
                     YmirDialogue.Play();
                 }
             }
             else
             {
                 YmirExplanation.SetActive(false);
                 TradeMemories.SetActive(true);
             }
         }
     }
 }
コード例 #6
0
    private void DialoguePhases()
    {
        timer  += Time.deltaTime;
        seconds = (int)(timer % 60);
        float pos = player.gameObject.transform.position.z;

        switch (phase)
        {
        case "start":
            if (seconds >= 4)
            {
                anim.SetTrigger("StartDialogue");
                phase = "second";
            }
            break;

        case "second":
            if (seconds >= 12 && Mathf.Abs(pos) > 70)
            {
                anim.SetTrigger("StartDialogue");
                phase = "third";
            }
            break;

        case "third":
            if (seconds >= 20 && Mathf.Abs(pos) > 250)
            {
                anim.SetTrigger("StartDialogue");
                phase = "fourth";
            }
            break;

        case "fourth":
            if (seconds >= 28 && Mathf.Abs(pos) > 400)
            {
                text.alignment = TextAlignmentOptions.MidlineLeft;
                anim.SetTrigger("DarkYmir");
                phase = "fifth";
            }
            break;

        case "fifth":
            if (dialogue.GetEndLine())
            {
                if (player.GetInteractTrigger())
                {
                    anim.SetTrigger("NormalYmir");
                    phase = "sixth";
                }
            }
            break;

        case "sixth":
            if (player.GetInteractTrigger())
            {
                if (!dialogue.GetDialogueEnded())
                {
                    if (dialogue.GetEndLine())
                    {
                        dialogue.Play();
                    }
                }
                else
                {
                    buttonEyes.interactable = true;
                    textButton.SetActive(true);
                    phase = "finish";
                }
            }
            break;
        }
    }