public void Init(RoomType t) { ActiveRoom = this; switch (t) { case RoomType.BattleRoom: _meRoom = new BattleRoom(); break; case RoomType.ArtifactRoom: _meRoom = new ArtifactRoom(); break; case RoomType.FountainRoom: _meRoom = new FountainRoom(); break; case RoomType.BossRoom: _meRoom = new BossRoom(); break; default: throw new Exception("How could this have happened?"); } }
private void Start() { ActiveRoom = this; _scrolling = -1; transform.position = new Vector3(25, 6, 5); name = "Room"; SpriteRenderer bg = GetComponentInChildren <SpriteRenderer>(); bg.sprite = Resources.Load <Sprite>("Backgrounds/bg0" + Random.Range(1, 5)); }
public static void GenerateRoom() { TotalRooms++; GameObject roomObject = Object.Instantiate(RoomMB.RoomPrefab); RoomMB roomMb = roomObject.GetComponent <RoomMB>(); if (TotalRooms > RoomsUntilBoss) { // Adds fountains before boss if (TotalRooms < RoomsUntilBoss + PreBossFountains) { roomMb.Init(RoomType.FountainRoom); } // Boss Room else if (TotalRooms == RoomsUntilBoss + PreBossFountains) { Music.MusicRef.SetSong(2); roomMb.Init(RoomType.BossRoom); } else { BattleManager.EndGameObject.gameObject.SetActive(true); BattleManager.EndGameObject.Activate(true); } } else if (BattlesSinceFountain >= MinBattlesSinceFountain) { if (Random.value > 0.3) { if (Random.value > 0.8) { MinBattlesSinceFountain++; } BattlesSinceFountain = 0; roomMb.Init(RoomType.FountainRoom); } } else if (Random.value > 0.9) { BattlesSinceArtifact = 0; roomMb.Init(RoomType.ArtifactRoom); } else { BattlesSinceFountain++; BattlesSinceArtifact++; roomMb.Init(RoomType.BattleRoom); } }