//Increments by amount ( can be negative ) to side
    public void IncrementDoor(Room r, Door.side s, int ammount)
    {
        //Which side is it on and Add to that amount
        switch (s)
        {
        case Door.side.LEFT:
            r.leftDoors += ammount;
            break;

        case Door.side.RIGHT:
            r.rightDoors += ammount;
            break;

        case Door.side.UP:
            r.upDoors += ammount;
            break;

        case Door.side.DOWN:
            r.downDoors += ammount;
            break;

        default:
            break;
        }
    }
Example #2
0
    IEnumerator WaitForLevelLoad(string currentDoor, string conenctedDoor)
    {
        yield return(new WaitForSecondsRealtime(0.1f));

        GameObject[] doorways = GameObject.FindGameObjectsWithTag("Doorway");
        yInteract.SetActive(false);
        foreach (GameObject door in doorways)
        {
            if (door.name == conenctedDoor + "_to_" + currentDoor)
            {
                Door.side testSide = door.GetComponent <DoorwayScript>().thisDoorSide;

                switch (testSide)
                {
                case Door.side.UP:
                    transform.position = door.transform.position - (Vector3.up * 2);
                    break;

                case Door.side.DOWN:
                    transform.position = door.transform.position + (Vector3.up * 2);
                    break;

                case Door.side.RIGHT:
                    transform.position = door.transform.position - (Vector3.right * 2);
                    break;

                case Door.side.LEFT:
                    transform.position = door.transform.position + (Vector3.right * 2);
                    break;

                default:
                    break;
                }
                lastGroundedPosition = transform.position;
                thisCamera.SetPosition(transform.position);
                Physics2D.IgnoreCollision(door.GetComponent <Collider2D>(), GetComponent <Collider2D>());
                yield return(new WaitForSecondsRealtime(1f));

                Physics2D.IgnoreCollision(door.GetComponent <Collider2D>(), GetComponent <Collider2D>(), false);



                break;
            }
        }
    }