// Handles the camera when the player pass through the door public void OnTriggerEnter2D(Collider2D other) { if (other.CompareTag("Player")) { var player = other.gameObject.GetComponent <Player>(); //IsOpen = true; var cameraMovement = new Vector2(); var playerMovement = new Vector3(); // Camera direction. The direction is the same as the Horizontal and Vertical deltas from Floor Generator. switch (Direction) { case RoomDirection.North: cameraMovement = new Vector2(0, 10); playerMovement = new Vector3(0, PlayerMovement, 0); break; case RoomDirection.East: cameraMovement = new Vector2(14.5f, 0); playerMovement = new Vector3(PlayerMovement, 0, 0); break; case RoomDirection.South: cameraMovement = new Vector2(0, -10); playerMovement = new Vector3(0, -PlayerMovement, 0); break; case RoomDirection.West: cameraMovement = new Vector2(-14.5f, 0); playerMovement = new Vector3(-PlayerMovement, 0, 0); break; } player.GetComponent <Rigidbody2D>().velocity = Vector2.zero; StartCoroutine(MoveCamera(cameraMovement)); other.transform.Translate(playerMovement); OwnerRoom.PlayerIsInRoom = false; ConnectingRoom.OnPlayerEntersRoom(player); } }
public void OnTriggerEnter2D(Collider2D other) { if (other.CompareTag("Player")) { var player = other.gameObject.GetComponent <Player>(); //IsOpen = true; var cameraMovement = new Vector2(); var playerMovement = new Vector3(); switch (Direction) { case RoomDirection.North: cameraMovement = new Vector2(0, 10); playerMovement = new Vector3(0, PlayerMovement, 0); break; case RoomDirection.East: cameraMovement = new Vector2(16, 0); playerMovement = new Vector3(PlayerMovement, 0, 0); break; case RoomDirection.South: cameraMovement = new Vector2(0, -10); playerMovement = new Vector3(0, -PlayerMovement, 0); break; case RoomDirection.West: cameraMovement = new Vector2(-16, 0); playerMovement = new Vector3(-PlayerMovement, 0, 0); break; } player.rigidbody2D.velocity = Vector2.zero; StartCoroutine(MoveCamera(cameraMovement)); other.transform.Translate(playerMovement); OwnerRoom.PlayerIsInRoom = false; ConnectingRoom.OnPlayerEntersRoom(player); } }