private void Awake() { for (int index = 0; index < items.Length; index++) { DataItemPrice dataItem = items[index]; UIItemPrice uIItem = UIItemPrice.Create(prefab, parent, dataItem); uIItem.EventOnClickAgree += () => { if ((int)player.Currencies[dataItem.Price.Data].Amount - dataItem.Price.Amount >= 0) { player.Currencies[dataItem.Price.Data].Amount -= dataItem.Price.Amount; spawnObjectForPlacement.AddQueue(dataItem.Item); this.Close(); } }; uIItem.transform.localScale = new Vector3(1, 1, 1); } this.Close(); }
public static UIItemPrice Create(UIItemPrice prefab, RectTransform parent, DataItemPrice data) { UIItemPrice answer = Instantiate(prefab, parent); answer.data = data; answer.body.sprite = data.Body; if (data.Price.AlternativeAmount != "") { answer.iconPrice.gameObject.SetActive(false); answer.textPrice.text = data.Price.AlternativeAmount; } else { answer.textPrice.text = data.Price.Amount.ToString(); answer.iconPrice.sprite = data.Price.Data.Icon; } return(answer); }