private void Populate(Family[] families) { for (int i = familyPanels.Count; i < families.Length; i++) { GameObject newPanel = Instantiate(newFamilyPanel, newFamilyContent); FamilyInfoUI familyInfo = newPanel.GetComponent <FamilyInfoUI>(); familyInfo.OnClickEvent += OnSelect; familyPanels.Add(familyInfo); } for (int i = 0; i < familyPanels.Count; i++) { if (i < families.Length) { familyPanels[i].Set(families[i]); } else { familyPanels[i].gameObject.SetActive(false); } } }
public void OnSelect(FamilyInfoUI newPanel) { //If selected, deselect if (selectedFamilyPanels.Contains(newPanel)) { selectedFamilyPanels.Remove(newPanel); } else { selectedFamilyPanels.Add(newPanel); } //update ui UpdateTitle(); foreach (FamilyInfoUI familyInfo in familyPanels) { bool selectionLeft = selectedFamilyPanels.Count < carData.MaximumNumberOfOccupants; bool thisPanel = selectedFamilyPanels.Contains(familyInfo); familyInfo.interactable = selectionLeft || thisPanel; } inviteButton.interactable = selectedFamilyPanels.Count == carData.MaximumNumberOfOccupants; }