public void PlayerEnterRoom(Transform playerEnter) { if (GameManagerPC.Instance != null) { foreach (GameObject player in GameManagerPC.Instance.playerManagement.playerInstance) { if (player != null && player.transform != playerEnter && !allPlayerInRoom.Contains(player)) { player.GetComponent <UnityEngine.AI.NavMeshAgent>().Warp(playerEnter.position); } } } foreach (vertex door in OpenedDoors) { DoorControl dc = door.gameObject.GetComponent <DoorControl>(); dc.CloseTheDoor(); } try { isPlayingInRoom = true; RoomSetUp(); } catch (System.Exception e) { Debug.LogError("Error Happend When setup Room " + gameObject.name + ": " + e.Message); } finally { CamIsMoving = false; randomFrom.roomCam.Priority = 5; } // Run Gameplay things }