public void Init() { AudioManager.instance.GateClose(); _myCollider.enabled = false; if (_doors.Count > 0 && _roomMechanic != Mechanic.CHASE) { for (int i = 0; i < _doors.Count; i++) { _doors[i].Init(); } } if (_trapsInRoom.Count > 0) { for (int i = 0; i < _trapsInRoom.Count; i++) { _trapsInRoom[i].Init(); } } switch (_roomMechanic) { case Mechanic.NONE: break; case Mechanic.SWARM: //Debug.Log("spawningStarted"); _XMin = (transform.position.x - (transform.localScale.x * 5f)); _ZMin = (transform.position.z - (transform.localScale.z * 5f)); _XMax = (transform.position.x + (transform.localScale.x * 5f)); _ZMax = (transform.position.z + (transform.localScale.z * 5f)); //Debug.Log("" + _XMax + ", " + _XMin + ", " + _ZMax + ", " + _ZMin + ", "); _glhostsSpawned = 0; _roomStarted = true; break; case Mechanic.CHASE: for (int i = 0; i < _howManyGlhostsToSpawn; i++) { SpawnEnemy(0); } break; case Mechanic.COLOR: for (int i = 0; i < _coloredBlocks.Count; i++) { _coloredBlocks[i].SetSpawner = this; SpawnEnemy(i); } break; case Mechanic.TRAP: for (int i = 0; i < _LeversToEndRoom.Count; i++) { _LeversToEndRoom[i].Init(this); } break; case Mechanic.BOSS: _BigBad = _enemyPreFab.GetComponent <BossEnemy>(); _BigBad.SetMyRoom = this; _managerRef.GetPlayer.GoingToIntroCutscene(_BigBad); break; case Mechanic.HEAL: break; default: break; } if (_secondaryMechanic != null) { if (_secondaryMechanic.GetMechanic != Mechanic.CHASE) { _secondaryMechanic.Init(); } else { for (int i = 0; i < _secondaryMechanic.GetDoors.Count; i++) { _secondaryMechanic.GetDoors[i].Init(); } } } }