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; }
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; }
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); } }
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; }
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; } }