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<FairySiegeActModel>(); } }
|
PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
|
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();
|
}
|
}
|
}
|