private void RemoveCancelButton(int p) { Debug.Log("REmoving cancel button " + p + " of " + cancelButtons.Count); Destroy(cancelButtons[p].gameObject); cancelButtons.RemoveAt(p); for (int i = 0; i < cancelButtons.Count; i++) { CancelTrainUnit cancel = cancelButtons[i]; cancel.UpdatePosition(i); } }
void OnClick() { if (!Gameplay.player1.hasSupply(strategyObject.cost)) { Utils.PlayAudioOnCamera(Gameplay.st.notEnoughSupply); } else if (!Gameplay.player1.hasResources(strategyObject.cost)) { Utils.PlayAudioOnCamera(Gameplay.st.notEnoughResource1); } else { int queueSize = building.trainingQueue.Count; if (queueSize < MAX_QUEUE) { Debug.Log("Researching" + strategyObject.name); //strategyObject.name = unitName + counter++; building.train(strategyObject); building.cancelButtons.Add(CancelTrainUnit.AddCancelButton(strategyObject, building, queueSize)); } } }
public static CancelTrainUnit AddCancelButton(StrategyObject unit, Building building, int count) { Debug.Log("Adding unit " + unit.name + " on building " + building.name + ":" + count); GameObject cancelButton = (GameObject)Instantiate(Resources.Load("Cancel")); Image image = cancelButton.GetComponent <Image>(); image.sprite = unit.sprite; //if(count > 0) image.transform.localScale = Vector3.one * 0.5f; cancelButton.transform.parent = building.canvas.transform; RectTransform buttonRect = (RectTransform)cancelButton.GetComponent <RectTransform>(); RectTransform canvasRect = (RectTransform)building.canvas.GetComponent <RectTransform>(); cancelButton.transform.position = building.canvas.transform.position; cancelButton.transform.rotation = building.canvas.transform.rotation; CancelTrainUnit script = cancelButton.GetComponent <CancelTrainUnit>(); script.unit = unit; script.building = building; return((CancelTrainUnit)cancelButton.GetComponent <CancelTrainUnit>()); }