using UnityEngine;
|
|
namespace vnxbqy.UI
|
{
|
public class LianQiItemInfoWin : Window
|
{
|
[SerializeField] ItemCell itemCell;
|
[SerializeField] TextEx txtName;
|
[SerializeField] RichText txtInfo;
|
[SerializeField] TextEx txtCount;
|
[SerializeField] ButtonEx btnUse;
|
[SerializeField] ButtonEx btnClose;
|
LianQiActModel model { get { return ModelCenter.Instance.GetModel<LianQiActModel>(); } }
|
PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
|
protected override void AddListeners()
|
{
|
btnUse.SetListener(() =>
|
{
|
int itemID = model.nowAssistiveItemId;
|
int num = model.nowAssistiveItemNum;
|
if (!ItemConfig.Has(itemID))
|
return;
|
ItemConfig itemConfig = ItemConfig.Get(itemID);
|
|
//道具数量不足
|
if (packModel.GetItemCountByID(PackType.Item, itemID) <= 0)
|
{
|
SysNotifyMgr.Instance.ShowTip("LianQiAct02");
|
return;
|
}
|
|
//该道具该局已达使用次数上限
|
if (!model.limitUsesToolCntDict.TryGetValue(itemID, out int cnt))
|
return;
|
int useItemCnt = model.GetUseItemCnt(model.nowPlayerInfo.UseItemCntList, num);
|
if (useItemCnt >= cnt)
|
{
|
SysNotifyMgr.Instance.ShowTip("LianQiAct03");
|
return;
|
}
|
|
model.isStartChoose = true;
|
model.isChoose1 = false;
|
model.isChoose2 = false;
|
CloseClick();
|
});
|
|
btnClose.SetListener(() =>
|
{
|
model.isUseTool = false;
|
model.isStartChoose = false;
|
model.isChoose1 = false;
|
model.isChoose2 = false;
|
CloseClick();
|
});
|
}
|
|
protected override void BindController()
|
{
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
}
|
|
protected override void OnPreOpen()
|
{
|
int itemID = model.nowAssistiveItemId;
|
if (!ItemConfig.Has(itemID))
|
return;
|
ItemConfig itemConfig = ItemConfig.Get(itemID);
|
int hasCount = packModel.GetItemCountByID(PackType.Item, itemID);
|
var itemData = new ItemCellModel((int)itemID, false, (ulong)hasCount);
|
itemCell.Init(itemData);
|
itemCell.countText.SetActive(true);
|
itemCell.countText.text = hasCount.ToString();
|
|
txtName.text = itemConfig.ItemName;
|
txtInfo.text = itemConfig.Description;
|
|
if (!model.limitUsesToolCntDict.TryGetValue(itemID, out int limitCnt))
|
return;
|
int useItemCnt = model.GetUseItemCnt(model.nowPlayerInfo.UseItemCntList, model.nowAssistiveItemNum);
|
txtCount.text = Language.Get("LianQi15", Mathf.Max(0, limitCnt - useItemCnt), limitCnt);
|
}
|
}
|
}
|