void Start() { rigidBody = GetComponent <Rigidbody> (); Colli = GetComponent <Colider> (); __localI = Matrix4x4.Scale (rigidBody.inertiaTensor); _globalL = rigidBody.angularVelocity; }
private void OnTriggerEnter2D(Collider2D collision) { if (state == State.toBalcony) { if (collision.name == "Balcony") { state = State.toDoor; DialogueManager.instance.ShowDialogue("R1-ROOM2"); } } else if (state == State.toDoor) { if (collision.name == "Door") { state = State.toLobbyDoor; Vector2 pos = new Vector2(-0.4f, -2.62f); instance.transform.localPosition = pos; SceneManager.LoadScene("Lobby"); } } else if (state == State.toLobbyDoor && collision.name == "Lobby_Door") { DialogueManager.instance.ShowDialogue("R1-LOBBY1"); StartCoroutine(WaitTillSpeakingEnd()); state = State.toRoom; } else if (state == State.toRoom && SceneManager.GetActiveScene().name == "Lobby" && collision.name == "DoorCollider (1)") { state = State.toTelephone; Vector2 pos = new Vector2(1.95f, 6.86f); instance.transform.localPosition = pos; SceneManager.LoadScene("Room"); } else if (SceneManager.GetActiveScene().name == "Room" && state == State.toDoctor && collision.name == "Door") { // 부자의 위치를 로비의 입구쪽으로 옮겨야 함. Vector2 tmp = new Vector2(-0.4f, -2.62f); RichRoomCollider.instance.transform.position = tmp; SceneManager.LoadScene("Lobby"); } else if (SceneManager.GetActiveScene().name == "Lobby" && state == State.toDoctor && collision.name == "DoorCollider") { state = State.toTakeDoctor; DialogueManager.instance.ShowDialogue("R2-LOBBY3"); } else if (state == State.toTakeDoctor && collision.name == "DoorCollider (1)") { state = State.toTakeDoctorToRoom; Colider col = GameObject.Find("InteractionPoints").GetComponent <Colider>(); StartCoroutine(col.FadeInAndOut("out")); } else if (state == State.toGoToLobbyDoor && collision.name == "DoorCollider") { state = State.PhaseEnd; DialogueManager.instance.ShowDialogue("R2-LOBBY4"); } else if (state == State.toGoToLobbyDoor && collision.name == "Door") { // 부자의 위치를 로비의 입구쪽으로 옮겨야 함. Vector2 tmp = new Vector2(-0.4f, -2.62f); RichRoomCollider.instance.transform.position = tmp; SceneManager.LoadScene("Lobby"); } // 여기에 아무 컨디션 상관 없을때 (조건에 걸리지 않았을 때) 방 이라면 로비로, 로비라면 방으로 이동할 수 있게끔 해줘야 함. /* * else { * if (SceneManager.GetActiveScene().name == "Room") * SceneManager.LoadScene("Lobby"); * else * { * SceneManager.LoadScene("Room"); * } * } */ }
void OnTriggerExit(Colider other) { CanMove = true; }