public IEnumerator TriggerDoorClose() { // If the player has not already cleared this room, // close the doors on entry if (!beenCleared) { // Close doors if (room.beenEntered && room.enemiesHaveSpawned && !doorsClosed) { for (int i = 0; i < doors.Length; i++) { //Screen shake ScreenShakeInfo Info = new ScreenShakeInfo(); Info.shakeMag = gm.shakeMagDClose; Info.shakeRou = gm.shakeRouDClose; Info.shakeFadeIDur = gm.shakeFadeIDurDClose; Info.shakeFadeODur = gm.shakeFadeODurDClose; Info.shakePosInfluence = gm.shakePosInfluenceDClose; Info.shakeRotInfluence = gm.shakeRotInfluenceDClose; ss.StartShaking(Info, 0.25f, 3); //depth shake gm.depthShaking = true; gm.CameraDepthShake(); room.canOpen = false; room.doorsClosed = true; doors[i].SetActive(true); } // Play audio FindObjectOfType <AudioManager>().Play("DoorClose"); } yield return(new WaitForSeconds(spawnWait + 0.25f)); canOpen = true; } }