Inheritance: MonoBehaviour
    void OnMouseDown()
    {
        Debug.Log("Lever was Clicked");
        float distToPlayer = Vector3.Distance(Player.position, transform.position);

        if (distToPlayer <= 1.5f)
        {
            Debug.Log("Lever was Clicked AND PLAYER WAS CLOSE ENOUGH");

            if (someObject.tag == "doorHorizontal" || someObject.tag == "doorVertical")
            {
                Debug.Log("door tag worked");
                door someObjectsDoor = someObject.GetComponent <door>();
                someObjectsDoor.moveDoor();
                Debug.Log("Door was Opened");
            }
            if (someObject.tag == "bridge")
            {
                bridge someObjectsBridge = someObject.GetComponent <bridge>();
                someObjectsBridge.moveBridge();
                Debug.Log("Bridge was Extended");
            }

            if (someObject.tag == "fireTrapHorizontal" || someObject.tag == "fireTrapVertical")
            {
                Debug.Log("FireTrap was Successfully Detected by Lever");
                fireTrap someObjectsFireTrap = someObject.GetComponent <fireTrap>();
                someObjectsFireTrap.doFireTrap();
                Debug.Log("Fire Trap was Enabled/Disabled");
            }
        }
    }
Exemplo n.º 2
0
 void DebugGen()
 {
     for (int x = 0; x < 3; x++)
     {
         for (int y = 0; y < 3; y++)
         {
             roomManager room = Instantiate(basicRoom, new Vector3(roomOffset.x * x, roomOffset.y * y), Quaternion.identity);
             room.transform.parent = transform;
             door door = Instantiate(door_N, room.door_N_Spawn.transform);
             door.transform.parent = room.transform;
             room.doors.Add(door);
             door = Instantiate(door_W, room.door_W_Spawn.transform);
             door.transform.parent = room.transform;
             room.doors.Add(door);
             door = Instantiate(door_S, room.door_S_Spawn.transform);
             door.transform.parent = room.transform;
             room.doors.Add(door);
             door = Instantiate(door_E, room.door_E_Spawn.transform);
             door.transform.parent = room.transform;
             room.doors.Add(door);
             roomLayout layout = Instantiate(layouts[Random.Range(0, layouts.Count)], room.transform);
             room.enemies = layout.enemies;
         }
     }
 }
Exemplo n.º 3
0
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
 }
Exemplo n.º 4
0
    public void OnTriggerStay2D(Collider2D collision)
    {
        if (collision.gameObject.tag == "Ladder")
        {
            climb = true;

            rb.bodyType = RigidbodyType2D.Kinematic;
            transform.Translate(Vector3.up * Input.GetAxis("Vertical") * Time.deltaTime * speed * 0.5f);
        }

        else if (Input.GetKey(KeyCode.E))
        {
            if (collision.gameObject.tag == "Door")
            {
                door fromDoor = collision.GetComponent <door>();

                if (!fromDoor.isOpen && haveKey)
                {
                    fromDoor.Unlock();

                    haveKey = false;
                }

                else if (fromDoor.isOpen)
                {
                    if (!isDoorWait)
                    {
                        fromDoor.Teleport();
                    }
                }
            }
        }
    }
Exemplo n.º 5
0
 public void setDoor(door doorObj, int type)   //assign and link doors with btns
 {
     //type is if it's 1,2,3
     if (type == 1)
     {
         door1 = doorObj;
         if (btnA != null)
         {
             //link em
         }
     }
     else if (type == 2)
     {
         door2 = doorObj;
         if (btnB != null)
         {
             //link em
         }
     }
     else if (type == 3)
     {
         door3 = doorObj;
         if (btnB != null)
         {
             //link em
         }
     }
 }
Exemplo n.º 6
0
 void Start()
 {
     doorColor   = transform.parent.GetComponent <interactiveObject>().color;
     doorCol     = transform.parent.GetComponent <BoxCollider2D>();
     theDoor     = transform.parent.GetComponent <door>();
     playerStats = GameObject.FindWithTag("Player").GetComponent <stats>();
 }
Exemplo n.º 7
0
    private void OnTriggerEnter(Collider collider)
    {
        door door = collider.gameObject.GetComponent <door>();

        if (door != null)
        {
            setPoint1 = door.point1.transform.position;
            setPoint2 = door.point2.transform.position;
        }
    }
Exemplo n.º 8
0
 public void call_update_doors(door Door, bool stat, console Console, bool callLeave, int lvl)
 {
     if (callLeave)
     {
         Console.leaveConsole();
     }
     if (Door == null)
     {
         return;
     }
     callingDoorUpdate(Door, stat, lvl);
 }
Exemplo n.º 9
0
 void CloseRooms()
 {
     foreach (var room in createdRooms)
     {
         if ((room.connections & Direction.North) != 0)
         {
             door door = Instantiate(door_N, room.door_N_Spawn.transform);
             door.transform.parent = room.transform;
             room.doors.Add(door);
         }
         else
         {
             GameObject wall = Instantiate(wall_NS, room.door_N_Spawn.transform);
             wall.transform.parent = room.transform;
         }
         if ((room.connections & Direction.East) != 0)
         {
             door door = Instantiate(door_E, room.door_E_Spawn.transform);
             door.transform.parent = room.transform;
             room.doors.Add(door);
         }
         else
         {
             GameObject wall = Instantiate(wall_WE, room.door_E_Spawn.transform);
             wall.transform.parent = room.transform;
         }
         if ((room.connections & Direction.South) != 0)
         {
             door door = Instantiate(door_S, room.door_S_Spawn.transform);
             door.transform.parent = room.transform;
             room.doors.Add(door);
         }
         else
         {
             GameObject wall = Instantiate(wall_NS, room.door_S_Spawn.transform);
             wall.transform.parent = room.transform;
         }
         if ((room.connections & Direction.West) != 0)
         {
             door door = Instantiate(door_W, room.door_W_Spawn.transform);
             door.transform.parent = room.transform;
             room.doors.Add(door);
         }
         else
         {
             GameObject wall = Instantiate(wall_WE, room.door_W_Spawn.transform);
             wall.transform.parent = room.transform;
         }
     }
 }
Exemplo n.º 10
0
 // Use this for initialization
 void Start()
 {
     doorstate = door.open;
     torch     = SceneTransporter.hold_torch;
     if (torch == true)
     {
         torchToPick.SetActive(false);
         TorchInHand.SetActive(true);
         gotTorch      = true;
         canPickTorch1 = false;
         textbox.SetActive(false);
     }
     message = textbox.GetComponentInChildren <Text> ();
 }
Exemplo n.º 11
0
        public void CompositeCartTest()
        {
            var car = new Car();

            var doorOne = new door();
            var doorTwo = new door();

            var wheelOne   = new Wheel();
            var wheelTwo   = new Wheel();
            var wheelThree = new Wheel();
            var wheelFour  = new Wheel();

            car.Add(doorOne);
            car.Add(doorTwo);
            car.Add(wheelOne);
            car.Add(wheelTwo);
            car.Add(wheelThree);
            car.Add(wheelFour);

            Assert.AreEqual(car.GetChildrensCount(), 6);
        }
Exemplo n.º 12
0
 void RpcStatusDoor(bool b, door Door, int lvl)
 {
     if (Door != null)
     {
         Door.canOpen = b;
     }
     if (lvl >= levelPass.Length)
     {
         return;
     }
     if (!levelPass[lvl])
     {
         if (idLang == 1)
         {
             GetComponent <AudioSource>().PlayOneShot(audios[lvl].en);
         }
         else
         {
             GetComponent <AudioSource>().PlayOneShot(audios[lvl].fr);
         }
         levelPass[lvl] = true;
     }
 }
Exemplo n.º 13
0
        public static void start()
        {
            door
                choiceA = door.lose,
                choiceB = door.lose,
                choiceC = door.lose;

            List <door> lstdr = new List <door>();

            int tmp = new Random().Next();

            if (tmp % 3 == 0)
            {
                choiceA = door.win;
            }
            else if (tmp % 2 == 0)
            {
                choiceB = door.win;
            }
            else
            {
                choiceC = door.win;
            }
        }
Exemplo n.º 14
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.E))
        {
            Ray        ray = Camera.main.ScreenPointToRay(new Vector3(Screen.width / 2, Screen.height / 2, 0));
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit))
            {
                /*
                 * Debug.Log ("Name = " + hit.collider.name);
                 * Debug.Log ("Tag = " + hit.collider.tag);
                 * Debug.Log ("Hit Point = " + hit.point);
                 * Debug.Log ("Object position = " + hit.collider.gameObject.transform.position);
                 * Debug.Log ("--------------");
                 */


                if (hit.collider.tag == "torch" && hit.distance < 6)
                {
                    Destroy(hit.collider.gameObject);
                    GameObject[] torches = GameObject.FindGameObjectsWithTag("flashlight");
                    //GameObject torch= GameObject.FindGameObjectWithTag("flashlight");



                    if (torches != null)
                    {
                        foreach (GameObject torch in torches)
                        {
                            Light light = torch.GetComponent <Light>();
                            light.enabled = !light.enabled;
                        }

                        //	Light light = torch.GetComponent<Light>();
                        //	Light light2 = light.GetComponent<Light>();
                        //	light.enabled = !light.enabled;
                        //	light2.enabled = !light2.enabled;
                    }
                }


                if (hit.collider.tag.Equals("door"))
                {
                    door door = hit.collider.gameObject.GetComponent <door>();
                    door.OpenClose();
                }

                if (hit.collider.tag.Equals("pillow") && hit.distance < 6)
                {
                    controller.changeScene();
                }
                if (hit.collider.tag.Equals("pillow2") && hit.distance < 6)
                {
                    controller2.changeScene();
                }

                /*
                 * >>>>>>> bc478438df0cf479507b8d3515e93010d6e5bed2
                 * if(hit.collider.tag.Equals("switch") && hit.distance < range){
                 *
                 *      InteractiveLight light = hit.collider.gameObject.
                 *      LightSwitch light = hit.collider.gameObject.GetComponent<LightSwitch>();
                 *      light.clicked();
                 *
                 * }
                 */

                if (interactive(hit.collider.tag) && hit.distance < range)
                {
                    GameObject           obj = hit.collider.gameObject;
                    InteractiveBehaviour ib  = obj.GetComponent <InteractiveBehaviour>();
                    InventoryGUI.SetInteractiveDisplay(ib.interactiveDescription, ib.timeToDisplay);
                    Debug.Log("inteact");
                    ib.exec();
                }

                if (pickupable(hit.collider.tag) && hit.distance < range)
                {
                    GameObject    obj  = hit.collider.gameObject;
                    ItemBehaviour item = obj.GetComponent <ItemBehaviour>();

                    // Attempt to pick up item. If successful, remove item from game world.
                    // Play pick-up sound.

                    if (InventoryGUI.hasSpace())
                    {
                        InventoryGUI.addItem(item);
                        AudioSource.PlayClipAtPoint(pickupSound, Camera.main.transform.position);
                        Destroy(obj);
                    }
                }
            }
        }
    }
Exemplo n.º 15
0
 public void CmdchangeStateOpening(bool b, door Door, int lvl)
 {
     RpcStatusDoor(b, Door, lvl);
 }
Exemplo n.º 16
0
 private void callingDoorUpdate(door Door, bool stat, int lvl)
 {
     CmdchangeStateOpening(stat, Door, lvl);
 }
Exemplo n.º 17
0
 public static door instance; //싱글톤 선언
 void Awake()
 {
     door.instance = this; //싱글톤 부여
 }
    public void Save()
    {
        // 1. Get the SaveName;
        string scenarioName = ScenarioName.text;

        // 2. Get all the existing scenes from gamemanager.
        List <GameObject> AllScenes = null;

        if (gamemanager.name == "DesignSceneGameManager")
        {
            AllScenes = gamemanager.GetComponent <DesignSceneGameManager>().AllScenes;
        }

        // 3. Create a folder named with savename.
        WorkingDirectory = Application.persistentDataPath + "/" + scenarioName;
        // If there already exists a scenario with scenarioName, replace it with the new one. Therefore,
        // users should make sure not to use the same scenario name
        if (Directory.Exists(WorkingDirectory))
        {
            Directory.Delete(WorkingDirectory, true);
        }
        Directory.CreateDirectory(WorkingDirectory);

        // 4. For each scene, do the followings
        foreach (GameObject Scene in AllScenes)
        {
            // 4.1 create a sub-folder with the scenarioName name
            WorkingDirectory = Application.persistentDataPath + "/" + scenarioName + "/" + Scene.name;
            Directory.CreateDirectory(WorkingDirectory);

            // 4.2 create a list to store all the names of the objects
            List <string> AllObjectNames = new List <string>();

            // 4.3 Fill in the class SceneDetails according to the design of the scene
            SceneDetails sceneDetails = new SceneDetails();
            sceneDetails.Walls       = new List <wall>();
            sceneDetails.Floors      = new List <floor>();
            sceneDetails.Ceilings    = new List <ceiling>();
            sceneDetails.Obstacles   = new List <obstacle>();
            sceneDetails.Doors       = new List <door>();
            sceneDetails.Fires       = new List <fire>();
            sceneDetails.Pedestrians = new List <pedestrian>();
            sceneDetails.Players     = new List <player>();
            // 4.3.1 Fill in the simulation info
            sceneDetails.SimTime = Scene.GetComponent <SceneInfo>().SimulationTime;
            sceneDetails.Width   = Scene.GetComponent <SceneInfo>().Width;
            sceneDetails.Length  = Scene.GetComponent <SceneInfo>().Length;
            sceneDetails.Height  = Scene.GetComponent <SceneInfo>().Height;
            sceneDetails.PlayerX = Scene.GetComponent <SceneInfo>().PlayerX;
            sceneDetails.PlayerY = Scene.GetComponent <SceneInfo>().PlayerY;
            // 4.3.2 fill in the info of different objects into sceneDetails
            foreach (Transform ChildObjectTransform in Scene.transform)
            {
                // Wall and its doors
                if (ChildObjectTransform.tag == "Wall")
                {
                    wall WallInfo = new wall();
                    Wall wallinfo = ChildObjectTransform.gameObject.GetComponent <Wall>();
                    AllObjectNames.Add(wallinfo.Name);
                    WallInfo.NameIndex = AllObjectNames.Count - 1;
                    WallInfo.xpos      = wallinfo.x_pos;
                    WallInfo.ypos      = wallinfo.y_pos;
                    WallInfo.zrot      = wallinfo.z_rot;
                    WallInfo.Width     = wallinfo.Width;
                    WallInfo.Height    = wallinfo.Height;
                    WallInfo.Opacity   = wallinfo.Opacity;
                    sceneDetails.Walls.Add(WallInfo);

                    // doors that are attached to it
                    foreach (Transform doorTransform in ChildObjectTransform)
                    {
                        if (doorTransform.tag == "Door")
                        {
                            door DoorInfo = new door();
                            Door doorinfo = doorTransform.gameObject.GetComponent <Door>();
                            AllObjectNames.Add(doorinfo.Name);
                            DoorInfo.NameIndex        = AllObjectNames.Count - 1;
                            DoorInfo.RelativePosition = doorinfo.RelativePosition;
                            DoorInfo.Width            = doorinfo.Width;
                            DoorInfo.Height           = doorinfo.Height;
                            if (doorinfo.Open)
                            {
                                DoorInfo.Open = 1;
                            }
                            else
                            {
                                DoorInfo.Open = 0;
                            }
                            DoorInfo.WallNameIndex = WallInfo.NameIndex;
                            AllObjectNames.Add(doorinfo.NextScene.name);
                            DoorInfo.SceneNameIndex = AllObjectNames.Count - 1;
                            sceneDetails.Doors.Add(DoorInfo);
                        }
                    }
                }
                // Floor
                else if (ChildObjectTransform.tag == "Floor")
                {
                    floor FloorInfo = new floor();
                    Floor floorinfo = ChildObjectTransform.gameObject.GetComponent <Floor>();
                    AllObjectNames.Add(floorinfo.Name);
                    FloorInfo.NameIndex = AllObjectNames.Count - 1;
                    FloorInfo.xpos      = floorinfo.x_pos;
                    FloorInfo.ypos      = floorinfo.y_pos;
                    FloorInfo.Width     = floorinfo.Width;
                    FloorInfo.Length    = floorinfo.Length;
                    sceneDetails.Floors.Add(FloorInfo);
                }
                // Ceiling
                else if (ChildObjectTransform.tag == "Ceiling")
                {
                    ceiling CeilingInfo = new ceiling();
                    Ceiling ceilinginfo = ChildObjectTransform.gameObject.GetComponent <Ceiling>();
                    AllObjectNames.Add(ceilinginfo.Name);
                    CeilingInfo.NameIndex = AllObjectNames.Count - 1;
                    CeilingInfo.xpos      = ceilinginfo.x_pos;
                    CeilingInfo.ypos      = ceilinginfo.y_pos;
                    CeilingInfo.zpos      = ceilinginfo.z_pos;
                    CeilingInfo.Width     = ceilinginfo.Width;
                    CeilingInfo.Length    = ceilinginfo.Length;
                    CeilingInfo.Opacity   = ceilinginfo.Opacity;
                    sceneDetails.Ceilings.Add(CeilingInfo);
                }
                // Obstacle
                else if (ChildObjectTransform.tag == "Obstacle")
                {
                    obstacle ObstacleInfo = new obstacle();
                    Obstacle obstacleinfo = ChildObjectTransform.gameObject.GetComponent <Obstacle>();
                    AllObjectNames.Add(obstacleinfo.Name);
                    ObstacleInfo.NameIndex = AllObjectNames.Count - 1;
                    ObstacleInfo.xpos      = obstacleinfo.x_pos;
                    ObstacleInfo.ypos      = obstacleinfo.y_pos;
                    ObstacleInfo.Width     = obstacleinfo.Width;
                    ObstacleInfo.Length    = obstacleinfo.Length;
                    ObstacleInfo.Height    = obstacleinfo.Height;
                    ObstacleInfo.Opacity   = obstacleinfo.Opacity;
                    sceneDetails.Obstacles.Add(ObstacleInfo);
                }
                // Fire
                else if (ChildObjectTransform.tag == "Fire")
                {
                    fire FireInfo = new fire();
                    Fire fireinfo = ChildObjectTransform.gameObject.GetComponent <Fire>();
                    AllObjectNames.Add(fireinfo.Name);
                    FireInfo.NameIndex  = AllObjectNames.Count - 1;
                    FireInfo.xpos       = fireinfo.x_pos;
                    FireInfo.ypos       = fireinfo.y_pos;
                    FireInfo.zpos       = fireinfo.z_pos;
                    FireInfo.Width      = fireinfo.Width;
                    FireInfo.Length     = fireinfo.Length;
                    FireInfo.HRRPUA     = fireinfo.HRRPUA;
                    FireInfo.CO_YIELD   = fireinfo.CO_YIELD;
                    FireInfo.SOOT_YIELD = fireinfo.SOOT_YIELD;
                    FireInfo.Fuel       = Array.IndexOf(fireinfo.Fuels,
                                                        fireinfo.FUEL);
                    sceneDetails.Fires.Add(FireInfo);
                }
                // Pedestrian
                else if (ChildObjectTransform.tag == "Pedestrian")
                {
                    pedestrian PedestrianInfo = new pedestrian();
                    Pedestrian pedestrianinfo = ChildObjectTransform.gameObject.GetComponent <Pedestrian>();
                    AllObjectNames.Add(pedestrianinfo.Name);
                    PedestrianInfo.NameIndex = AllObjectNames.Count - 1;
                    PedestrianInfo.xpos      = pedestrianinfo.x_pos;
                    PedestrianInfo.ypos      = pedestrianinfo.y_pos;
                    PedestrianInfo.Speed     = pedestrianinfo.Speed;
                    PedestrianInfo.Health    = pedestrianinfo.Health;
                    AllObjectNames.Add(pedestrianinfo.Exit.name);
                    PedestrianInfo.ExitNameIndex = AllObjectNames.Count - 1;
                    sceneDetails.Pedestrians.Add(PedestrianInfo);
                }
                else if (ChildObjectTransform.tag == "Player")
                {
                    player PlayerInfo = new player();
                    Player playerinfo = ChildObjectTransform.gameObject.GetComponent <Player>();
                    AllObjectNames.Add(playerinfo.Name);
                    PlayerInfo.NameIndex = AllObjectNames.Count - 1;
                    PlayerInfo.xpos      = playerinfo.x_pos;
                    PlayerInfo.ypos      = playerinfo.y_pos;
                    PlayerInfo.Speed     = playerinfo.Speed;
                    PlayerInfo.Health    = playerinfo.Health;
                    sceneDetails.Players.Add(PlayerInfo);
                }
            }

            // 4.4 Save AllObjectNames into a text file
            StreamWriter NamesTxtFile = new StreamWriter(WorkingDirectory + "/AllNames.txt");
            foreach (string name in AllObjectNames)
            {
                NamesTxtFile.WriteLine(name);
            }
            NamesTxtFile.Close();

            // 4.5 Save sceneDetails into a binary file, SceneDetails.dat
            BinaryFormatter bf   = new BinaryFormatter();
            FileStream      file = File.Open(WorkingDirectory + "/SceneDetails.dat", FileMode.OpenOrCreate);
            bf.Serialize(file, sceneDetails);
            file.Close();
        }
    }
Exemplo n.º 19
0
    private void FixedUpdate()
    // Update het programma een aantal keer per seconde

    {
        if (freeze != true)
        {
            transform.position = Vector3.MoveTowards(transform.position, walkDirection.position, speed * Time.deltaTime);
            //Geeft directie en snelheid aan waarmee hij naar het punt gaat waar hij toe gaat lopen, met de snelheid. Transform.position is de positie van de speler, walkDirection.position is het punt waar hij naartoe gaat, en speed * Time.deltaTime zorgt voor de snelheid.

            if (touchOnlyDeviceBuild)
            {
                if (joystick.Horizontal > joystickThreshold)
                {
                    horizontalInput = 1f;
                }
                else if (joystick.Horizontal < -1 * joystickThreshold)
                {
                    horizontalInput = -1f;
                }
                else
                {
                    horizontalInput = 0f;
                }

                if (joystick.Vertical > joystickThreshold)
                {
                    verticalInput = 1f;
                }
                else if (joystick.Vertical < -1 * joystickThreshold)
                {
                    Debug.Log("move down");
                    verticalInput = -1f;
                }
                else
                {
                    verticalInput = 0f;
                }
            }
            else
            {
                horizontalInput = Input.GetAxisRaw("Horizontal");
                verticalInput   = Input.GetAxisRaw("Vertical");
            }

            if (Vector3.Distance(transform.position, walkDirection.position) <= 0.1f)
            {
                if (horizontalInput == 1f || horizontalInput == -1f)
                {
                    if (!Physics2D.OverlapCircle(walkDirection.position + new Vector3(horizontalInput, 0f, 0f), 0.05f, blockDetector))
                    {
                        walkDirection.position += new Vector3(horizontalInput, 0f, 0f);
                    }
                    else
                    {
                        Debug.Log("Detecting a block");
                    }

                    //set up the sprite
                    if (horizontalInput > 0)
                    {
                        //make the sprite move right
                        sr.sprite = moveRight;
                        sr.flipX  = false;
                    }
                    else if (horizontalInput < 0)
                    {
                        //make the sprite move left
                        sr.sprite = moveRight;
                        sr.flipX  = true;
                    }
                }

                else if (verticalInput == 1f || verticalInput == -1f)
                {
                    if (!Physics2D.OverlapCircle(walkDirection.position + new Vector3(0f, verticalInput, 0f), 0.05f, blockDetector))
                    {
                        walkDirection.position += new Vector3(0f, verticalInput, 0f);
                    }
                    else
                    {
                        Debug.Log("Detecting a block");
                    }
                    if (verticalInput > 0)
                    {
                        //make the sprite move up
                        sr.sprite = forwards;
                    }
                    else if (verticalInput < 0)
                    {
                        //make the sprite move down
                        sr.sprite = backwards;
                    }
                }

                //check For Doors
                if (Physics2D.OverlapCircle(transform.position, 0.05f, SceneShifter))
                {
                    //omdat wij geen gameobject van de deur kunnen krijgen uit deze if statement, vinden wij hier de dichstbijzijnde deur
                    //en gebruiken die
                    closestDoor = null;
                    foreach (door door in FindObjectsOfType <door>())
                    {
                        //zorgt dat de closestdoor niet null is en er geen exceptions worden gegooid.
                        if (closestDoor == null)
                        {
                            closestDoor = door;
                        }

                        //als de door dichterbij is dan de tot nu closest door, verplaats de closest door dan
                        else if (getDistance(door.gameObject) < getDistance(closestDoor.gameObject))
                        {
                            closestDoor = door;
                        }
                    }
                    if (closestDoor.isOpen())
                    {
                        walkDirection.position = closestDoor.otherSide.position;
                        transform.position     = closestDoor.otherSide.position;
                    }
                }

                //checkfortrainers
                if (Physics2D.OverlapCircle(transform.position, 0.05f, trainers))
                {
                    foreach (trainerInMap trainer in FindObjectsOfType <trainerInMap>())
                    {
                        //zorgt dat de closest trainer niet null is en er geen exceptions worden gegooid.
                        if (closestTrainer == null)
                        {
                            closestTrainer = trainer;
                        }

                        else if (getDistance(trainer.gameObject) < getDistance(closestTrainer.gameObject))
                        {
                            closestTrainer = trainer;
                        }
                    }
                    if (closestTrainer.hasBeenBeaten == false)
                    {
                        closestTrainer.battle();
                    }
                    else
                    {
                        Debug.Log("blocking...");
                        //makes sure that the door behaves as a blocker when closed
                        walkDirection.position += new Vector3(0f, Input.GetAxisRaw("Vertical"), 0f);
                    }
                }
            }
        }
    }