using UnityEngine; using UnityEngine.UI; //带有多个物品的操作提示 public class ItemsConfirmWin : UIBase { [SerializeField] Text m_Title; [SerializeField] Text m_Info; //上方提示 [SerializeField] Text m_Info2; //物品列表下方提示 [SerializeField] ScrollerController m_Scroller; [SerializeField] Button m_ConfirmBtn; [SerializeField] Button m_CancleBtn; [SerializeField] Text m_BtnText; [SerializeField] Transform moneyObj; [SerializeField] Text moneyText; [SerializeField] Image moneyIcon; #region Built-in protected override void InitComponent() { m_ConfirmBtn.AddListener(ConfirmBtn); m_CancleBtn.AddListener( ()=> { CloseWindow(); ConfirmCancel.OnPopConfirmClickEvent?.Invoke(false); }); } protected override void OnPreOpen() { m_Title.text = ConfirmCancel.generalTitle; m_Info.text = ConfirmCancel.generalItemTip; if (string.IsNullOrEmpty(ConfirmCancel.generalItemTip2)) { m_Info2.SetActive(false); } else { m_Info2.SetActive(true); m_Info2.text = ConfirmCancel.generalItemTip2; } m_Scroller.OnRefreshCell += OnRefreshCell; CreateScroller(); m_BtnText.text = string.IsNullOrEmpty(ConfirmCancel.OKName) ? Language.Get("L1001") : ConfirmCancel.OKName; if (ConfirmCancel.moneyNeedCount == 0) { moneyObj.SetActive(false); } else { moneyObj.SetActive(true); moneyText.text = UIHelper.ShowUseMoney(ConfirmCancel.moneyType, ConfirmCancel.moneyNeedCount); moneyIcon.SetIconWithMoneyType(ConfirmCancel.moneyType); } } protected override void OnPreClose() { m_Scroller.OnRefreshCell -= OnRefreshCell; } #endregion private void ConfirmBtn() { CloseWindow(); ConfirmCancel.OnPopConfirmClickEvent?.Invoke(true); } void OnRefreshCell(ScrollerDataType type, CellView cell) { var _cell = cell as ItemsConfirmCell; _cell?.Display(cell.index, ConfirmCancel.replaceItemName); } void CreateScroller() { m_Scroller.Refresh(); for (int i = 0; i < ConfirmCancel.getItems.Count; i++) { m_Scroller.AddCell(ScrollerDataType.Header, i); } m_Scroller.Restart(); } }