private void Awake() { PartyModel model = AmbitionApp.GetModel <PartyModel>(); if (Map == null) { Map = model.LoadMap(transform.transform); } if (Map == null) { PrefabMap prefab = Array.Find(Maps, m => m.ID.ToLower() == model.Party.Faction.ToString().ToLower()); if (prefab.Prefab == null) { prefab = RNG.TakeRandom(Maps); } GameObject obj = Instantiate <GameObject>(prefab.Prefab, transform.transform); Map = obj.GetComponent <MapView>(); } if (Map != null) { _rooms = Map.GetComponentsInChildren <RoomView>(); model.NumRooms = _rooms.Length; AmbitionApp.Subscribe <IncidentVO[]>(PartyMessages.SELECT_INCIDENTS, HandleIncidents); if (!string.IsNullOrEmpty(Map.Music.Name)) { AmbitionApp.SendMessage(AudioMessages.PLAY_MUSIC, Map.Music.Name); } } }