コード例 #1
0
    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();
            }
        };
    }
コード例 #2
0
    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;
    }
コード例 #3
0
    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);
    }
コード例 #4
0
    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();
        }
    }