using UnityEngine; using UnityEngine.UI; /// /// 合成格子 /// public class ComposeGirdCell : MonoBehaviour { [SerializeField] ItemCell itemCell; [SerializeField] Image fillImage; [SerializeField] Image fullImage; [SerializeField] Text processText; [SerializeField] Image redImg; public void Display(int index) { if (index >= PackManager.Instance.composeItemGuidList.Count) { return; } var guid = PackManager.Instance.composeItemGuidList[index]; var item = PackManager.Instance.GetItemByGuid(guid); if (item == null) return; itemCell.Init(item); itemCell.button.AddListener(() => { //合成界面 ComposeWin.guid = guid; UIManager.Instance.OpenWindow(); }); var config = ItemCompoundConfig.GetItemCompoundConfig(item.itemId); var targetID = config.itemID; var targetCnt = config.itemCount; var haveCnt = PackManager.Instance.GetItemCountByID(PackType.Item, targetID); if (haveCnt >= targetCnt) { fullImage.SetActive(true); fillImage.SetActive(false); redImg.SetActive(true); } else { fullImage.SetActive(false); fillImage.SetActive(true); redImg.SetActive(false); fillImage.fillAmount = haveCnt / (float)targetCnt; } processText.text = haveCnt+ "/" + targetCnt; } }