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);
     }
 }
    public void BehaviorByInteraction(GameObject player)
    {
        CheckLockedDoor();

        if (IsUnlocked)
        {
            if (!isOpen)
            {
                isOpen = true;
                if (gameObject.activeInHierarchy)
                {
                    StartCoroutine(OpenAnimation());
                }
            }
            else
            {
                isOpen = false;
                if (gameObject.activeInHierarchy)
                {
                    StartCoroutine(CloseAnimation());
                }
            }
            callSection();
        }
        else
        {
            sceneEventSystem.PushSystemMessage(LockedMessage, 1);
        }
    }
 void RemoteControllerEvent()
 {
     if (sceneEventSystem.Player.GetComponent <PlayerProperty>().StandingSection.transform.parent.name == "2F")
     {
         if (!tv.IsOn)
         {
             sceneEventSystem.PushSystemMessage("TV가 켜졌다.", 1.5f);
         }
         else
         {
             sceneEventSystem.PushSystemMessage("TV가 꺼졌다.", 1.5f);
         }
         StartCoroutine(remoteControllerEvent_());
     }
 }
    private IEnumerator MessageLoad()
    {
        yield return(null);

        sceneEventSystem.PushSystemMessage("학생식당의 문을 열었다.", 1);
        sceneEventSystem.FirstFloor.EventTrigger("cafeteriaKey");
    }
    IEnumerator BehaviorByInteraction_()
    {
        int standingSection = int.Parse(playerProperty.StandingSection.transform.parent.name.Substring(0, 1));

        if (sceneEventSystem.IsTheFloorLocked[standingSection - 1])
        {
            sceneEventSystem.TouchCanvas.SetActive(false);
            yield return(StartCoroutine(sceneEventSystem.SceneFade(true)));

            sceneEventSystem.TouchCanvas.SetActive(true);
            StartCoroutine(sceneEventSystem.SceneFade(false));

            playerRayCast.StopUpdate();
            playerProperty.UpAndDown = true;
            if (transform.parent.name == "LeftStairs")
            {
                player.transform.position = floorEntrance.transform.GetChild(standingSection * 2).transform.position;
            }
            else
            {
                player.transform.position = floorEntrance.transform.GetChild(standingSection * 2 + 1).transform.position;
            }
            Camera.main.GetComponent <CameraMove>().MoveCamera(player);

            floors[standingSection].SetActive(true);
            floors[standingSection].SendMessage("FloorInit");
            playerRayCast.StartUpdate();
            floors[standingSection - 1].SetActive(false);
            yield break;
        }
        else
        {
            sceneEventSystem.PushSystemMessage("계단 위로 올라갈 수 없습니다.", 2);
        }
    }
Exemple #6
0
 public void BehaviorByInteraction(GameObject player)
 {
     player.SendMessage("AddItem", lighter);
     player.SendMessage("AddItem", note);
     sceneEventSystem.PushSystemMessage("라이터와 피묻은 쪽지를 얻었다.", 1);
     gameObject.layer = 0;
     lighterObject.SetActive(false);
     noteObject.SetActive(false);
 }
 public void BehaviorByInteraction(GameObject player)
 {
     if (!sceneEventSystem.IsBlackouted)
     {
         GameObject.Find("3F").GetComponent<ThirdFloor>().ShowBroadcastUI(true);
         GameObject.Find("IngameMap").transform.GetChild(1).GetComponent<SecondFloor>().IsBroadcasted = true;
     }
     else
     {
         sceneEventSystem.PushSystemMessage("정전으로인해 작동하지 않는다.", 1f);
     }
 }
    public void TryUnlock()
    {
        string inputCipher = String.Empty;

        foreach (Text item in cipherText)
        {
            inputCipher = string.Concat(inputCipher, item.text);
        }
        if (inputCipher == cipher)
        {
            sceneEventSystem.PushSystemMessage("도어락이 열렸다.", 1);
            GetComponent <Door>().IsUnlocked = true;

            Destroy(this);
        }
        else
        {
            sceneEventSystem.PushSystemMessage("열리지 않는다.", 1);
        }
        Time.timeScale = 1;
        lockWindow.SetActive(false);
    }
    private IEnumerator OpenMessage()
    {
        sceneEventSystem.PushSystemMessage("자물쇠가 열렸다.", 1);
        yield return(new WaitForSeconds(1));

        sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "여러가지 스위치가 보인다.\n방화 셔터라고 적힌 스위치를 조작했다.", 2);
        yield return(new WaitForSeconds(2));

        sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "복도 쪽에서 무언가 올라가는 소리가 들린다.", 1.5f);
        yield return(new WaitForSeconds(1.5f));

        sceneEventSystem.IsTheFloorLocked[0] = true; // 2층 계단 개방.
    }
Exemple #10
0
    IEnumerator Boom()
    {
        yield return(StartCoroutine(GameObject.Find("3F").GetComponent <ThirdFloor>().Fade(true)));

        sceneEventSystem.Player.GetComponent <PlayerInput>().enabled = false;
        AudioManager.Instance.PlaySoundOneShot("Boom01", 2);

        zombie.SetActive(false);
        GameObject.Find("ElectricPuddle").SetActive(false);
        broadcastRoomDoor.transform.GetChild(0).GetComponent <Door>().IsUnlocked = true;
        broadcastRoomDoor.transform.GetChild(0).GetComponent <Door>().BehaviorByInteraction(null);
        yield return(new WaitForSeconds(1f));

        broadcastRoomDoor.transform.GetChild(0).GetComponent <MeshRenderer>().enabled = false;
        broadcastRoomDoor.transform.GetChild(0).gameObject.layer = 0;

        //조명어둡게
        sceneEventSystem.Player.transform.GetChild(3).gameObject.SetActive(true);
        if (!sceneEventSystem.Player.GetComponent <Inventory>().IsItemExist("Lighter"))
        {
            sceneEventSystem.Player.transform.GetChild(2).GetComponent <Light>().range = 10f;
        }
        else
        {
            sceneEventSystem.PushSystemMessage("가지고있는 라이터를 사용했다.", 1f);
            sceneEventSystem.Player.transform.GetChild(3).GetComponent <SpriteRenderer>().color = new Color(0, 0, 0, 0.8f);
        }


        yield return(new WaitForSeconds(2));

        yield return(StartCoroutine(GameObject.Find("3F").GetComponent <ThirdFloor>().Fade(false)));

        GameObject.Find("3F").GetComponent <ThirdFloor>().MoveZombies();
        sceneEventSystem.IsBlackouted = true;
        yield return(new WaitForSeconds(1));

        gameObject.layer = 0;
    }
 void MessageLoad()
 {
     sceneEventSystem.PushSystemMessage(string.Format(item.itemKorName + "을(를) 얻었다."), 1);
 }
Exemple #12
0
 void MessageLoad()
 {
     sceneEventSystem.PushSystemMessage("교무실 열쇠를 얻었습니다.", 1);
     secondFloor.SchoolOfficeEvent();
 }
 public void BehaviorByInteraction(GameObject player)
 {
     player.SendMessage("AddItem", wetNote);
     sceneEventSystem.PushSystemMessage("축축한 쪽지를 얻었다.", 1);
     gameObject.layer = 0;
 }
 void MessageLoad()
 {
     sceneEventSystem.PushSystemMessage("리코더를 얻었다.", 1);
 }
Exemple #15
0
 public void BehaviorByInteraction(GameObject player)
 {
     sceneEventSystem.PushSystemMessage("빠루로 힘껏 내려쳤더니 책상이 부서졌다.", 1);
     Destroy(gameObject);
 }
Exemple #16
0
 void MessageLoad()
 {
     gameObject.layer = 0;
     sceneEventSystem.PushSystemMessage("교무실 열쇠를 얻었다.", 1);
     sceneEventSystem.PushSystemMessage("학생식당 열쇠를 얻었다.", 1);
 }
    private IEnumerator InteractCabinet(GameObject player)
    {
        gameObject.layer = 0;
        switch (behaviorCount)
        {
        case 0:
            sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "나무 상자가 보인다. 영어로 뭐라 쓰여 있다. Sodium..?", 1.5f);
            yield return(wait);

            behaviorCount++;
            break;

        case 1:
            if (inven.IsItemExist("Crowbar"))
            {
                sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "빠루를 고쳐 잡고, 힘을 주어 유리를 내려쳤다.", 1.5f);
                yield return(wait);

                sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "캐비닛 유리는 큰 소리와 함께 깨졌다.", 1.5f);
                yield return(wait);

                behaviorCount++;
            }
            else
            {
                sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "유리를 깨트리기 위해선 도구가 있어야할 것 같다.", 1.5f);
                yield return(wait);
            }
            break;

        case 2:
            sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "소듐이라 쓰인 상자에 포스트잇이 붙어 있다.", 1.5f);
            yield return(wait);

            player.SendMessage("AddItem", sodiumPostIt);
            sceneEventSystem.PushSystemMessage("포스트잇을 얻었다.", 1);
            yield return(wait);

            behaviorCount++;
            break;

        case 3:
            if (sceneEventSystem.IsInteractedThirdFloorCollabsedClass)
            {
                sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "어쩌면 이걸로 3층 교실의 문을 폭파할 수 있을지도…", 1.5f);
                yield return(wait);

                player.SendMessage("AddItem", sodium);
                sceneEventSystem.PushSystemMessage("실험용 소듐 덩어리를 얻었다.", 1);
                yield return(wait);

                gameObject.layer = 0;
                behaviorCount++;
                sceneEventSystem.IsInteractedThirdFloorCollabsedClass = false;
                yield return(null);
            }
            else
            {
                sceneEventSystem.MonologueBubbles(sceneEventSystem.Player, "물에 닿으면 폭발한다니.. 건드리지 않는게 좋겠다.", 1.5f);
                yield return(wait);
            }
            break;

        default:
            break;
        }
        gameObject.layer = 8;
    }