Пример #1
0
    // 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);
        }
    }
Пример #2
0
    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);
        }
    }