void MakeDifficulties() { float lastDiff = dungeonLevel; float maxDiff = 0; foreach (GameObject rm in rooms) { MapRoomController rmCntrl = rm.GetComponent <MapRoomController>(); float newDiff = 0; if (rmCntrl.coreRoom) { newDiff = lastDiff + Random.Range(0.05f, 0.25f); if (maxDiff < newDiff) { maxDiff = newDiff; } } else // nerf extra rooms { newDiff = Random.Range(dungeonLevel, maxDiff); } rmCntrl.SetRoomDiffuculty(newDiff); lastDiff = newDiff; if (rmCntrl.roomIndex != 0) { rmCntrl.ShowRoom(false); rmCntrl.ShowPassages(false); } } }
void SetActiveRoom(GameObject room) { MapRoomController roomController = room.GetComponent <MapRoomController>(); foreach (GameObject _room in rooms) { MapRoomController _roomController = _room.GetComponent <MapRoomController>(); _roomController.ActiveRoom(false); if (_roomController == roomController) { activeRoom = _roomController; _roomController.ActiveRoom(true); } } //set buttons types SetButtonsTypes(); roomController.ShowRoom(true); roomController.ShowPassages(true); GetRoomNeighbours(roomController); roomController.UpdateNeighbours(); activeRoom.SpawnChest(); }