private void AddMonitor(ProductSupplyMonitor supplyMonitor) { var valueDisplay = InstantiateNewUIEntry(supplyMonitor); valueDisplay.text = supplyMonitor.GetAmountOutput(); _monitorEntries.Add(new SupplyMonitorEntry { Monitor = supplyMonitor, Text = valueDisplay }); }
private TextMeshProUGUI InstantiateNewUIEntry(ProductSupplyMonitor monitor) { // instantiate UI element var contentHolder = _display.transform.FindChild("content_holder"); var displayProduct = Instantiate(_displayProductPrefab); displayProduct.transform.SetParent(contentHolder, false); // set its name var productName = displayProduct.transform.FindChild("product_image").GetComponent <Image>(); productName.sprite = monitor.Product.Icon; // return the text field to be updated every frame return(displayProduct.transform.FindChild("product_value").GetComponent <TextMeshProUGUI>()); }