private void Awake() { FixtureContainerSO furnishingContainer = Resources.Load("Assets/Resources/AllFurnishings") as FixtureContainerSO; _furnishingsArray = furnishingContainer.Fixtures; GameObject scene2D = Instantiate(roomEvoPrefab); scene2D.transform.localPosition = new Vector3(0, 60f); evo2D = scene2D.GetComponent <RoomEvo>(); _pausedEventChannel.OnEventRaised += () => { if (roomPopulation.Count > 0) { foreach (GameObject room in roomPopulation) { Destroy(room); } roomPopulation.Clear(); } else { roomPopulation2D = evo2D.roomPopulation; DrawRooms(); } }; }
public void SaveGAResults() { List <FixtureContainerSO> roomList = _roomManager.GetBestFitList(); List <FixtureContainerSO> roomSOList = new List <FixtureContainerSO>(); foreach (FixtureContainerSO room in roomList) { FixtureContainerSO roomSO = Instantiate(_settingsSO.StaticFixtureSOList); roomSO.AppendWith(room); roomSOList.Add(roomSO); } _settingsSO.RoomSOList = roomSOList; }
private void CreateRoomTemplate() { FixtureContainerSO statics = _settingsSO.StaticFixtureSOList; List <FixtureSO> prefabs = statics.Fixtures; _roomTemplate = new GameObject("RoomTemplate"); for (int i = 0; i < prefabs.Count; i++) { GameObject fixture = Instantiate(prefabs[i].GetPrefab3d(), _roomTemplate.transform); fixture.transform.localScale = statics.ScaleAt(i); fixture.transform.localPosition = statics.PosAt(i); fixture.transform.localEulerAngles = statics.RotAt(i); Fixture fixtureScript = fixture.AddComponent <Fixture>(); fixtureScript.FixtureSO = prefabs[i]; } _roomTemplate.SetActive(false); }
private void UpdateView() { if (_settingsSO.RoomSOList != null && _settingsSO.RoomSOList.Count != 0) { _roomObjects = _settingsSO.RoomSOList[_listIndex]; } else { _roomObjects = _settingsSO.StaticFixtureSOList; } if (_rootObject == null) { _rootObject = new GameObject("Room"); InitializeArrangement(); } else { UpdateArrangement(); } }