// Update is called once per frame
    void Update()
    {
        //BookCase Swap
        if (AnimatorCount == 0)
        {
            //play the book case animator at the first time enter
            PlayerMovementScript.canMove = false;
            StartCoroutine(BookCaseSwap(3.0f));

            AnimatorCount++;
        }

        //Vita ask to go Private Room
        else if (AnimatorCount == 1 && bVitaAsk)
        {
            //VitaDialogueScript.TriggerDialgue();
            dialogue.name         = "薇妲";
            dialogue.sentences    = new string[2];
            dialogue.sentences[0] = "姐姐你看書櫃移開了!!!";
            dialogue.sentences[1] = "陪我進去嘛 拜託拜託";
            CGMoveScript.SetRecTransformX(62.98596f);
            FindObjectOfType <DialogueManager>().StartDialogue(dialogue, VitaCV);
            AnimatorCount++;
        }

        //Vita finish talking, Rita can move
        else if (AnimatorCount == 2 && DialogueManager.bFinishDialogue)
        {
            ClueScript.SetText("左右移動蘑菇頭,移動莉妲");
            ClueScript.FadeIn();
            PlayerMovementScript.canMove = true;
            AnimatorCount++;
        }

        //Give move clue
        else if (AnimatorCount == 3 && Mathf.Abs(Input.GetAxis("Horizontal")) > 0.0f)
        {
            ClueScript.FadeOut();
            PlayerTriggerScript.TriggerName = "Aisle"; // set player trigger detect object name
            AnimatorCount++;
        }


        //Vita follow Rita
        if (AnimatorCount >= 4)
        {
            VitaMovementScript.FollowObj();
        }
    }
예제 #2
0
    // Update is called once per frame
    void Update()
    {
        //wait for scene transition
        if (AnimatorCount == 0)
        {
            StartCoroutine(AfterSceneTransistion());
            PlayerMovementScript.canMove = false;
        }

        //player move in scene
        if (AnimatorCount == 1)
        {
            VitaMovementScript.FollowObj();
            PlayerTrans.position = PlayerTrans.position + new Vector3(5.0f * Time.deltaTime, 0.0f, 0.0f);
            PlayerAni.SetFloat("Speed", 1.0f);
            StartCoroutine(PlayerMoveInScene());
        }

        //player can move and wait to trigger
        else if (AnimatorCount == 2)
        {
            VitaMovementScript.FollowObj();
            if (PlayerTriggerScript.bTrigger) //if trigger StoryTrigger
            {
                AnimatorCount++;
            }
        }

        //set player's and vita's position
        else if (AnimatorCount == 3)
        {
            PlayerMovementScript.canMove = false;
            PlayerTrans.position         = PlayerTrans.position + new Vector3(TransSpeed * Time.deltaTime, 0.0f, 0.0f);
            if (VitaTrans.position.x <= -2.35f)
            {
                VitaTrans.position = VitaTrans.position + new Vector3(TransSpeed * Time.deltaTime, 0.0f, 0.0f);
            }

            if (PlayerTrans.position.x >= 1.29f)
            {
                PlayerMovementScript.TurnFace();
                PlayerAni.SetFloat("Speed", 0.0f); //stop runing animator
                AnimatorCount++;
            }
        }

        //start dialogue
        else if (AnimatorCount == 4)
        {
            Dialogue.name         = "薇妲";
            Dialogue.sentences    = new string[2];
            Dialogue.sentences[0] = "欸?";
            Dialogue.sentences[1] = "這裡是哪裡呀?太酷了吧";
            CGMoveScript.SetRecTransformX(62.98596f);
            FindObjectOfType <DialogueManager>().StartDialogue(Dialogue, VitaCV);
            AnimatorCount++;
        }

        else if (AnimatorCount == 5 && DialogueManager.bFinishDialogue)
        {
            Dialogue.name         = "莉妲";
            Dialogue.sentences    = new string[1];
            Dialogue.sentences[0] = "是爺爺的密室嗎?";
            CGMoveScript.SetRecTransformX(145.7859f);
            FindObjectOfType <DialogueManager>().StartDialogue(Dialogue, PlayerCV);
            AnimatorCount++;
        }

        else if (AnimatorCount == 6 && DialogueManager.bFinishDialogue)
        {
            Dialogue.name      = "薇妲";
            Dialogue.sentences = new string[1];
            CGMoveScript.SetRecTransformX(62.98596f);
            Dialogue.sentences[0] = "哇啊!我們快來探險!莉妲你看!那是什麼?";
            FindObjectOfType <DialogueManager>().StartDialogue(Dialogue, VitaCV);
            AnimatorCount++;
        }

        else if (AnimatorCount == 7 && DialogueManager.bFinishDialogue)
        {
            Dialogue.name         = "莉妲";
            Dialogue.sentences    = new string[1];
            Dialogue.sentences[0] = "不要亂碰!要是弄壞就糟了";
            CGMoveScript.SetRecTransformX(145.7859f);
            FindObjectOfType <DialogueManager>().StartDialogue(Dialogue, PlayerCV);
            AnimatorCount++;
        }


        else if (AnimatorCount == 8 && DialogueManager.bFinishDialogue)
        {
            Dialogue.name         = "薇妲";
            Dialogue.sentences    = new string[1];
            Dialogue.sentences[0] = "欸?來不及了";
            CGMoveScript.SetRecTransformX(62.98596f);
            FindObjectOfType <DialogueManager>().StartDialogue(Dialogue, VitaCV);
            AnimatorCount++;
        }

        else if (AnimatorCount == 9 && DialogueManager.bFinishDialogue)
        {
            StartCoroutine(WaitToNextAnimate(1.0f));
        }

        //open box + MagicWoundAnimate
        else if (AnimatorCount == 10)
        {
            BoxRenderer.sprite = Box_close;
            MagicWoundScript.MagicWoundAnimate();
            AnimatorCount++;
        }

        //wait next animation
        else if (AnimatorCount == 11 && MagicWoundScript.bfinishShine)
        {
            StartCoroutine(WaitToNextAnimate(1.0f));
        }


        //set vita disappear
        else if (AnimatorCount == 12 && MagicWoundScript.bfinishShine)
        {
            Vita.SetActive(false);

            Dialogue.name         = "薇妲";
            Dialogue.sentences    = new string[1];
            Dialogue.sentences[0] = "阿!!!!";
            CGMoveScript.SetRecTransformX(62.98596f);
            FindObjectOfType <DialogueManager>().StartDialogue(Dialogue, VitaCV);

            AnimatorCount++;
        }

        //set Dialogue
        else if (AnimatorCount == 13 && DialogueManager.bFinishDialogue)
        {
            Dialogue.name         = "莉妲";
            Dialogue.sentences    = new string[1];
            Dialogue.sentences[0] = "薇妲!!!";
            CGMoveScript.SetRecTransformX(145.7859f);
            FindObjectOfType <DialogueManager>().StartDialogue(Dialogue, PlayerCV);

            AnimatorCount++;
        }

        else if (AnimatorCount == 14 && DialogueManager.bFinishDialogue)
        {
            MagicWoundScript.MagicWoundFadeOutShine();
            AnimatorCount++;
        }

        //wait next animation
        else if (AnimatorCount == 15 && MagicWoundScript.bfinishFadeOut)
        {
            StartCoroutine(WaitToNextAnimate(0.5f));
        }

        //magicWound fallDown set
        else if (AnimatorCount == 16)
        {
            MagicWound.GetComponent <Rigidbody2D>().gravityScale = 1.0f;
            MagicWound.AddComponent <BoxCollider2D>();
            MagicWoundTrans.eulerAngles = new Vector3(0.0f, 0.0f, 53.165f);
            MagicWoundScript.ChangeShortingLayer("Player"); //stand in front of box
            AnimatorCount++;
        }

        //wait next animation
        else if (AnimatorCount == 17 && MagicWoundScript.bfinishFadeOut)
        {
            StartCoroutine(WaitToNextAnimate(2.0f));
        }

        //set Dialogue
        else if (AnimatorCount == 18)
        {
            //close magicWound collider
            MagicWound.GetComponent <BoxCollider2D>().isTrigger  = true;
            MagicWound.GetComponent <Rigidbody2D>().gravityScale = 0.0f;

            Dialogue.name         = "莉妲";
            Dialogue.sentences    = new string[2];
            Dialogue.sentences[0] = "薇妲?你去哪了?";
            Dialogue.sentences[1] = "別跟我鬧喔!你快點出來!薇妲!";
            CGMoveScript.SetRecTransformX(145.7859f);
            FindObjectOfType <DialogueManager>().StartDialogue(Dialogue, PlayerCV);

            AnimatorCount++;
        }

        else if (AnimatorCount == 19 && DialogueManager.bFinishDialogue)
        {
            Dialogue.name         = "薇妲";
            Dialogue.sentences    = new string[1];
            Dialogue.sentences[0] = "莉妲!";
            CGMoveScript.SetRecTransformX(62.98596f);
            FindObjectOfType <DialogueManager>().StartDialogue(Dialogue, VitaCV);

            AnimatorCount++;
        }

        else if (AnimatorCount == 20 && DialogueManager.bFinishDialogue)
        {
            Dialogue.name         = "莉妲";
            Dialogue.sentences    = new string[1];
            Dialogue.sentences[0] = "薇妲?你在哪裡?";
            CGMoveScript.SetRecTransformX(145.7859f);
            FindObjectOfType <DialogueManager>().StartDialogue(Dialogue, PlayerCV);

            AnimatorCount++;
        }

        else if (AnimatorCount == 21 && DialogueManager.bFinishDialogue)
        {
            Dialogue.name      = "薇妲";
            Dialogue.sentences = new string[1];
            CGMoveScript.SetRecTransformX(62.98596f);
            Dialogue.sentences[0] = "這裡!我在這裡";
            FindObjectOfType <DialogueManager>().StartDialogue(Dialogue, VitaCV);

            AnimatorCount++;
        }

        else if (AnimatorCount == 22 && DialogueManager.bFinishDialogue)
        {
            StartCoroutine(WaitToNextAnimate(1.0f));
            VitaSoul.SetActive(true);
        }

        //Vita movement
        else if (AnimatorCount == 23 && !VitaSoulScript.bMoveFinish)
        {
            VitaSoulScript.MoveToward(new Vector2(-1.75f, -0.54f));
            //if finish move toward
            if (VitaSoulScript.bMoveFinish)
            {
                VitaSoulScript.VitaSpriteFadeIn();
                AnimatorCount++;
                VitaSoulScript.bMoveFinish = false;
            }
        }
        else if (AnimatorCount == 24)
        {
            StartCoroutine(WaitToNextAnimate(1.0f));
        }

        //set Dialogue
        else if (AnimatorCount == 25 && DialogueManager.bFinishDialogue)
        {
            Dialogue.name      = "莉妲";
            Dialogue.sentences = new string[1];
            CGMoveScript.SetRecTransformX(145.7859f);
            Dialogue.sentences[0] = "啊!薇妲?你怎麼變成這樣?";
            FindObjectOfType <DialogueManager>().StartDialogue(Dialogue, PlayerCV);

            AnimatorCount++;
        }

        else if (AnimatorCount == 26 && DialogueManager.bFinishDialogue)
        {
            Dialogue.name      = "薇妲";
            Dialogue.sentences = new string[1];
            CGMoveScript.SetRecTransformX(62.98596f);
            Dialogue.sentences[0] = "一回過神就變成這樣啦!哈哈哈!好好玩喔";
            FindObjectOfType <DialogueManager>().StartDialogue(Dialogue, VitaCV);

            VitaSoulScript.MoveSpeed = 15.0f; //set vita soul new move speed

            AnimatorCount++;
        }

        //Vita movement
        else if (AnimatorCount == 27 && DialogueManager.bFinishDialogue && !VitaSoulScript.bMoveFinish)
        {
            VitaSoulScript.MoveToward(new Vector2(-5.13f, 0.9f));
            //if finish move toward
            if (VitaSoulScript.bMoveFinish)
            {
                VitaSoulScript.bMoveFinish = false;
                AnimatorCount++;
            }
        }

        else if (AnimatorCount == 28 && !VitaSoulScript.bMoveFinish)
        {
            VitaSoulScript.MoveToward(new Vector2(4.15f, 0.96f));
            //if finish move toward
            if (VitaSoulScript.bMoveFinish)
            {
                VitaSoulScript.bMoveFinish = false;
                AnimatorCount++;
            }
        }

        else if (AnimatorCount == 29 && !VitaSoulScript.bMoveFinish)
        {
            VitaSoulScript.MoveToward(new Vector2(-6.91f, 2.89f));
            //if finish move toward
            if (VitaSoulScript.bMoveFinish)
            {
                VitaSoulScript.bMoveFinish = false;
                AnimatorCount++;
            }
        }
        else if (AnimatorCount == 30 && !VitaSoulScript.bMoveFinish)
        {
            VitaSoulScript.MoveToward(new Vector2(-1.75f, -0.54f));
            //if finish move toward
            if (VitaSoulScript.bMoveFinish)
            {
                VitaSoulScript.bMoveFinish = false;
                AnimatorCount++;
            }
        }

        //set Dialogue
        else if (AnimatorCount == 31)
        {
            Dialogue.name         = "莉妲";
            Dialogue.sentences    = new string[1];
            Dialogue.sentences[0] = "別鬧了!快下來,我們去找爺爺,他一定知道發生什麼事";
            FindObjectOfType <DialogueManager>().StartDialogue(Dialogue, PlayerCV);

            VitaSoulScript.MoveSpeed = 10.0f; //set vita soul new move speed

            //set trigger name Wall_left
            PlayerTriggerScript.TriggerName = "Wall_left"; //player wait for trigger's name


            AnimatorCount++;
        }

        else if (AnimatorCount >= 32 && DialogueManager.bFinishDialogue)
        {
            PlayerMovementScript.canMove = true;
            VitaSoulScript.FollowObj();
            if (PlayerTriggerScript.bTrigger)
            {
                levelLoaderScript.LoadNextLevel("StudyRoom");
            }
        }
    }