Exemplo n.º 1
0
    private IEnumerator Talk()
    {
        yield return(null);

        sceneEventSystem.DirectMode();

        sceneEventSystem.SpeechBubbles(gameObject, "선생님?!!", 2);
        yield return(new WaitForSeconds(2.0f));

        sceneEventSystem.SpeechBubbles(sceneEventSystem.Player, "그래, 선생님이야..", 2);
        yield return(new WaitForSeconds(2.0f));

        sceneEventSystem.SpeechBubbles(gameObject, "선생님!!!!", 2);
        yield return(new WaitForSeconds(2.0f));

        sceneEventSystem.SpeechBubbles(sceneEventSystem.Player, "아이구, 너무 달라붙지 말렴.. 선생님이 지금 몸 상태가…", 2);
        yield return(new WaitForSeconds(2.0f));

        sceneEventSystem.SpeechBubbles(sceneEventSystem.Player, "아무튼 금방 구해줄게. 조금만 참으렴.", 2);
        yield return(new WaitForSeconds(1.0f));

        sceneEventSystem.Player.GetComponent <PlayerProperty>().IsWithchild = true;

        sceneEventSystem.SaveStudent(sceneEventSystem.Player.GetComponent <PlayerInput>());
        Destroy(gameObject);

        sceneEventSystem.DirectMode();
        gameObject.layer = 8;
    }
Exemplo n.º 2
0
 public void BehaviorByInteraction(GameObject player)
 {
     if (player.GetComponent <PlayerProperty>().IsWithchild)
     {
         CountOfSavedChild++;
         if (countOfSavedChild == 7)
         {
             sceneEventSystem.SpeechBubbles(gameObject, "모든 아이들을 데려오셨군요! 이제 탈출합시다!", 1.5f);
         }
         else
         {
             sceneEventSystem.SpeechBubbles(gameObject, "아이를 데려왔군요! 부디 남은 아이들도 부탁해요...", 1.5f);
         }
         player.GetComponent <PlayerProperty>().IsWithchild = false;
         sceneEventSystem.PlayerSpeedRestore(player.GetComponent <PlayerInput>());
         countOfLivedChildUI.UIupdate();
         if (sceneEventSystem.ToBeSavedKid == "LibraryKid")
         {
             player.GetComponent <Inventory>().AddItem(new Item("FoldedPaper", "접힌 종이", "무언가 적혀있는 종이다.", Item.ItemType.View));
             sceneEventSystem.PushSystemMessage("학생 : 선생님 이거.. 2층에서 주웠어요.", 1);
             sceneEventSystem.PushSystemMessage("접힌 종이를 얻었다.", 1);
             sceneEventSystem.ToBeSavedKid = string.Empty;
         }
     }
     else
     {
         sceneEventSystem.SpeechBubbles(gameObject, "학교에 남은 아이들을 꼭 데려와 주세요...", 1.5f);
     }
 }
    IEnumerator StudentOffice_()
    {
        sceneEventSystem.TouchCanvas.SetActive(false);
        sceneEventSystem.SpeechBubbles(student, "살려주세요! 안에 저 있어요!", 1.5f);
        yield return(new WaitForSeconds(1.5f));

        sceneEventSystem.SpeechBubbles(student, "선생님이에요? 구해주세요!", 1.5f);
        yield return(new WaitForSeconds(2f));

        schoolMessenger.SetActive(true);
        yield return(new WaitForSeconds(4));

        schoolMessenger.SetActive(false);
        sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "지금 당장 문을 열 수는 없을 것 같다...", 1.5f);
        yield return(new WaitForSeconds(1.5f));

        sceneEventSystem.SpeechBubbles(sceneEventSystem.Player, "그래, 선생님이야!", 1.5f);
        yield return(new WaitForSeconds(1.5f));

        sceneEventSystem.SpeechBubbles(sceneEventSystem.Player, "지금 당장은 열리지 않지만, 금방 구하러 올게!", 1.5f);
        yield return(new WaitForSeconds(1.5f));

        sceneEventSystem.SpeechBubbles(student, "네... 꼭 다시 구하러 와줘야 해요!", 1.5f);
        yield return(new WaitForSeconds(1.5f));

        sceneEventSystem.TouchCanvas.SetActive(true);
        isInteracted = true;
    }
Exemplo n.º 4
0
 public void BehaviorByInteraction(GameObject player)
 {
     if (!sceneEventSystem.Player.GetComponent <PlayerProperty>().IsWithchild)
     {
         sceneEventSystem.SpeechBubbles(sceneEventSystem.Player, "무서웠지? 금방 구해줄게", 2);
         sceneEventSystem.Player.GetComponent <PlayerProperty>().IsWithchild = true;
         gameObject.SetActive(false);
         sceneEventSystem.SaveStudent(player.GetComponent <PlayerInput>());
     }
     else
     {
         sceneEventSystem.SpeechBubbles(sceneEventSystem.Player.gameObject, "데리고 있는 아이를 구출한 후에 다시 구하러 올게!", 2);
     }
 }
Exemplo n.º 5
0
    private IEnumerator TalkWithKid()
    {
        gameObject.layer = 0;
        sceneEventSystem.DirectMode();
        yield return(new WaitForSeconds(0.5f));

        switch (interNum)
        {
        case 0:

            sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "천장이 내려앉았다. 찌그러진 문은 온 힘을 다해 당겨도 미동조차 않는다.", 1.5f);
            yield return(wait);

            sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "문 아래에는 빗물이 잔뜩 고여 있다.", 1.5f);
            yield return(wait);

            sceneEventSystem.SpeechBubbles(kid, "밖에 누구 있어요?", 1.5f);
            yield return(wait);

            sceneEventSystem.SpeechBubbles(kid, "살려주세요", 1.5f);
            yield return(wait);

            sceneEventSystem.SpeechBubbles(kid, "저 교실에 갇혔어요!!", 1.5f);
            yield return(wait);

            sceneEventSystem.SpeechBubbles(sceneEventSystem.Player, "안에 누구 있니?", 1.5f);
            yield return(wait);

            sceneEventSystem.SpeechBubbles(kid, "선생님??! 살려주세요!! 교실에 숨어있는데 갑자기 천장이 무너졌어요!!", 1.5f);
            yield return(wait);

            sceneEventSystem.SpeechBubbles(sceneEventSystem.Player, "안에서 열 방법이 없니?", 1.5f);
            yield return(wait);

            sceneEventSystem.SpeechBubbles(kid, "꿈쩍도 안 해요.. 제발 구해주세요!!", 1.5f);
            yield return(wait);

            sceneEventSystem.SpeechBubbles(sceneEventSystem.Player, "알았다. 선생님이 구할 방법을 꼭 찾을게. 조금만 기다리렴.", 1.5f);
            yield return(wait);

            sceneEventSystem.SpeechBubbles(kid, "네… 꼭 구해주셔야 해요. 너무 무서워요..", 1.5f);
            yield return(wait);

            sceneEventSystem.IsInteractedThirdFloorCollabsedClass = true;
            interNum++;
            break;

        case 1:
            if (inventory.IsItemExist("Sodium"))
            {
                sceneEventSystem.SpeechBubbles(sceneEventSystem.Player, "선생님 목소리 들리니? 선생님이 곧 이 문을 터트릴 거야. 위험할 수 있으니 교탁 밑으로 숨어있거라.", 1.5f);
                yield return(wait);

                sceneEventSystem.SpeechBubbles(kid, "네.. 알겠어요!!", 1.5f);
                yield return(wait);

                interNum++;
                break;
            }
            sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "힘으로는 절대로 열 수 없다. 다른 방법이 필요하다.", 1.5f);
            yield return(wait);

            sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "문을 날려버릴… 폭탄.. 같은 게 어디 없을까?", 1.5f);
            yield return(wait);

            sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "문 아래에는 빗물이 잔뜩 고여 있다.", 1.5f);
            yield return(wait);

            break;

        case 2:
            sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "소듐이 들어있는 봉투를 찢은 뒤, 묵직한 금속 덩어리를 웅덩이에 던져 넣었다.", 1.5f);
            yield return(wait);

            sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "잠깐.. 나도 도망쳐야", 1.5f);
            yield return(wait);

            yield return(StartCoroutine(Boom()));

            interNum++;
            break;

        default:
            break;
        }
        sceneEventSystem.DirectMode();
        yield return(new WaitForSeconds(0.5f));

        gameObject.layer = 8;
    }
Exemplo n.º 6
0
    private IEnumerator Talk()
    {
        switch (interactionNum)
        {
        case 0:
            gameObject.layer = 0;
            sceneEventSystem.DirectMode();
            Camera.main.GetComponent <CameraMove>().SetTarget(gameObject);
            yield return(new WaitForSeconds(0.5f));

            sceneEventSystem.SpeechBubbles(gameObject, "…?!", 2);
            yield return(new WaitForSeconds(2.0f));

            sceneEventSystem.SpeechBubbles(sceneEventSystem.Player, "쉿. 괜찮아. 선생님이 구하러 왔어.", 2);
            yield return(new WaitForSeconds(2.0f));

            sceneEventSystem.SpeechBubbles(gameObject, "선생님… 저기에…", 2);
            yield return(new WaitForSeconds(2.0f));

            sceneEventSystem.SpeechBubbles(sceneEventSystem.Player, "응, 선생님도 봤어. 조금만 기다려. 금방 구해줄게.", 2);
            GameObject.Find("UnstableBookshelf").gameObject.layer = 8;

            Camera.main.GetComponent <CameraMove>().SetTarget(sceneEventSystem.Player);
            sceneEventSystem.DirectMode();

            interactionNum++;
            gameObject.layer = 8;
            break;

        case 1:
            if (GameObject.Find("UnstableBookshelf").GetComponent <UnstableBook>().IsInteractWithBookshelf)
            {
                gameObject.layer = 0;
                sceneEventSystem.DirectMode();
                Camera.main.GetComponent <CameraMove>().SetTarget(gameObject);
                yield return(new WaitForSeconds(0.5f));


                sceneEventSystem.SpeechBubbles(sceneEventSystem.Player, "☆☆아, 선생님이 좋은 생각이 떠올랐어.\n내가 신호를 주면 소리를 질러 저 좀비를 유인할 수 있겠니 ?", 3);
                yield return(new WaitForSeconds(3.0f));

                sceneEventSystem.SpeechBubbles(gameObject, "…네?", 1.5f);
                yield return(new WaitForSeconds(1.5f));

                sceneEventSystem.SpeechBubbles(sceneEventSystem.Player, "무서울 거라는 거 알아. 그래도 선생님을 한번 믿어봐.\n반드시 구해줄게.", 2);
                yield return(new WaitForSeconds(2));

                sceneEventSystem.SpeechBubbles(gameObject, "…네. 알겠어요.", 1.5f);
                yield return(new WaitForSeconds(1.5f));

                GameObject.Find("3F").GetComponent <ThirdFloor>().ActiveSignalButton();
                Camera.main.GetComponent <CameraMove>().SetTarget(sceneEventSystem.Player);
                sceneEventSystem.DirectMode();

                interactionNum++;

                gameObject.layer = 8;
            }
            else
            {
                sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "방법을 찾아보자.", 1.5f);
            }
            break;

        case 2:
            if (IsZombieDead)
            {
                sceneEventSystem.SpeechBubbles(sceneEventSystem.Player, "잘 했어. 이제 나가자.", 2);
                sceneEventSystem.SaveStudent(sceneEventSystem.Player.GetComponent <PlayerInput>());
                GameObject.Find("3F").GetComponent <ThirdFloor>().StopMonitoring();
                sceneEventSystem.ToBeSavedKid = name;
                sceneEventSystem.Player.GetComponent <PlayerProperty>().IsWithchild = true;
                sceneEventSystem.SaveStudent(sceneEventSystem.Player.GetComponent <PlayerInput>());
                Destroy(gameObject);
            }
            break;

        default:
            break;
        }
    }