// Update is called once per frame void Update() { //Check if array have buttons -> clear array on destroy if (creationQueueButtons.Count > 0) { GameObject buttonCanvas = (GameObject)creationQueueButtons[0]; if (buttonCanvas != null) { GameObject button = buttonCanvas.transform.Find("UnitCreationShadow").gameObject; Image image = button.GetComponent <Image> (); if (currentResource != null) { float percentage = currentResource.getcreationUnitPercentage(); image.fillAmount = 1 - percentage / 100f; } else if (currentBarrack != null) { float percentage = currentBarrack.getcreationUnitPercentage(); image.fillAmount = 1 - percentage / 100f; } } } }