// Bottom screen private void SetupPartSelectionUI() { List <string> invKeys = inventory.Keys.ToList(); invKeys.Sort(); nothingUI.gameObject.SetActive(invKeys.Count == 0); for (int i = 0; i < partSelectButtons.Length; i++) { if (i >= invKeys.Count) { partSelectButtons[i].gameObject.SetActive(false); } else { partSelectButtons[i].gameObject.SetActive(true); ShipPart part = shipFactory.GetPrefabByNameAndMark(invKeys[i + partScrollIndex]); partSelectButtons[i].GetComponentInChildren <TMP_Text>().text = part.partName + " MK" + part.mark; partSelectButtons[i].GetComponent <Image>().color = part == selectedPart ? selectedPartColor : Color.white; } } }