private void CreateElementViews(BuildingData.BuildingCategory buildingCategory) { List <BuildingData> buildingDataArray = this._buildingDictionary[buildingCategory]; foreach (BuildingData buildingData in buildingDataArray) { ConstructionElementView constructionChoiceView = GameObject.Instantiate(_constructionElementViewPrefab, _scrollViewContent); constructionChoiceView.BuildingData = buildingData; constructionChoiceView.BuildingSelectToggle.group = _constructionElementToggleGroup; constructionChoiceView.BuildingSelectToggle.isOn = false; } }
private void Start() { _buildingDictionary = new Dictionary <BuildingData.BuildingCategory, List <BuildingData> >(); GameHandler gameHandler = FindObjectOfType <GameHandler>(); _placementController = gameHandler.PlacementController; _exitButton.onClick.AddListener(delegate { SetVisible(false); }); _showButton.onClick.AddListener(delegate { SetVisible(!VisibleObject.activeSelf); }); gameHandler.ProgressionManager.onBuildingUnlock += delegate(BuildingData[] buildingDataArray) { Debug.Log("BuildingUnlock"); foreach (BuildingData buildingData in buildingDataArray) { if (!_buildingDictionary.ContainsKey(buildingData.Category)) { _buildingDictionary.Add(buildingData.Category, new List <BuildingData>()); } _buildingDictionary[buildingData.Category].Add(buildingData); } CreateElementViews(BuildingData.BuildingCategory.Infrastructure); }; _constructionElementViewPrefab = Resources.Load <ConstructionElementView>(Util.PathTo("ConstructionElementView")); _infrastructureButton.onValueChanged.AddListener(delegate(bool value) { if (!value) { return; } ClearElementViews(); CreateElementViews(BuildingData.BuildingCategory.Infrastructure); }); _productionButton.onValueChanged.AddListener(delegate(bool value) { if (!value) { return; } ClearElementViews(); CreateElementViews(BuildingData.BuildingCategory.Production); }); _infrastructureButton.isOn = true; }