using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class FairySiegeAtkUseItemWin : Window { int itemId; [SerializeField] Button btnAdd; [SerializeField] Button btnClose; [SerializeField] Button btnReduce; [SerializeField] Button btnUse; [SerializeField] ItemCell itemCell; [SerializeField] Slider splitSlider; [SerializeField] RichText txtInfo; [SerializeField] TextEx txtName; [SerializeField] Text txtNumber; FairySiegeActModel model { get { return ModelCenter.Instance.GetModel(); } } PackModel packModel { get { return ModelCenter.Instance.GetModel(); } } protected override void AddListeners() { btnUse.SetListener(() => { var hasCount = packModel.GetItemCountByID(PackType.Item, itemId); if (hasCount <= 0) { SysNotifyMgr.Instance.ShowTip("LianQiAct02"); return; } CloseClick(); }); btnClose.SetListener(() => { CloseClick(); }); btnAdd.SetListener(() => { var hasCount = packModel.GetItemCountByID(PackType.Item, itemId); if (hasCount <= 0) { SysNotifyMgr.Instance.ShowTip("LianQiAct02"); return; } if (splitSlider.value < splitSlider.maxValue) { splitSlider.value++; } }); btnReduce.SetListener(() => { var hasCount = packModel.GetItemCountByID(PackType.Item, itemId); if (hasCount <= 0) { SysNotifyMgr.Instance.ShowTip("LianQiAct02"); return; } if (splitSlider.value > splitSlider.minValue) { splitSlider.value--; } }); splitSlider.SetListener(value => { OnSplitValueChange(); }); } protected override void BindController() { } protected override void OnAfterClose() { } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnPreOpen() { Display(); } public void OnSplitValueChange() { txtNumber.text = Mathf.Ceil(splitSlider.value).ToString(); } private void Display() { itemId = model.atkCostItemId; if (!ItemConfig.Has(itemId)) return; var hasCnt = packModel.GetItemCountByID(PackType.Item, itemId); var itemConfig = ItemConfig.Get(itemId); var itemData = new ItemCellModel(itemId, false, (ulong)hasCnt); itemCell.Init(itemData); itemCell.countText.SetActive(true); itemCell.countText.text = hasCnt.ToString(); txtName.text = itemConfig.ItemName; txtInfo.text = itemConfig.Description; splitSlider.maxValue = hasCnt; splitSlider.minValue = hasCnt > 0 ? 1 : 0; splitSlider.value = splitSlider.minValue; txtNumber.text = Mathf.Ceil(splitSlider.value).ToString(); } } }