Esempio n. 1
0
    private void OnCollisionEnter2D(Collision2D c)
    {
        if (c.gameObject.CompareTag("Player"))
        {
            Vector2    destination = transform.position;
            Vector2Int distance    = Vector2Int.zero;
            CameraRoom cr          = null;

            if (doorType == Orientation.VerticleDoor)
            {
                distance.y     = (c.gameObject.transform.position.y > transform.position.y) ? -1 : 1;
                destination.y += 1 * distance.y;
                cr             = (distance.y > 0) ? rooms[1] : rooms[0];
            }

            else if (doorType == Orientation.HorizontalDoor)
            {
                distance.x     = (c.gameObject.transform.position.x > transform.position.x) ? -1 : 1;
                destination.x += 1 * distance.x;
                cr             = (distance.x > 0) ? rooms[1] : rooms[0];
            }


            StartCoroutine(TravelThroughDoor(destination, cr));
        }
    }
Esempio n. 2
0
    private IEnumerator TravelThroughDoor(Vector2 destination, CameraRoom room)
    {
        pmScript.AddRestrictions();
        yield return(new WaitForSeconds(0.1f));


        yield return(StartCoroutine(cmScript.SetupDoorAnim(destination, room)));

        doorCollider.enabled = false;
        pmScript.WalkToDoor(destination);
        doorCollider.enabled = true;

        //Reset Obstacles
        ResettableMechanic.ResetAll();

        pmScript.RemoveRestrictions();
        Player.Get.SetRespawnPoint(destination);
    }
Esempio n. 3
0
 private void Awake()
 {
     instance = this;
     enableRoom();
 }
Esempio n. 4
0
 void Start()
 {
     cam = Camera.main.gameObject.GetComponent<CameraRoom>();
 }