using vnxbqy.UI;
|
using System.Collections.Generic;
|
using UnityEngine.UI;
|
|
class TreasurePavilionUpgradeStarCell : ILBehaviour
|
{
|
Text starAttr;
|
Text nextStarAttr;
|
List<TreasureCustomizedItemCell> items = new List<TreasureCustomizedItemCell>();
|
Button starBtn;
|
|
PackModel packModel { get { return ModelCenter.Instance.GetModelEx<PackModel>(); } }
|
TreasurePavilionUpgradeChooseModel treasurePavilionUpgradeChooseModel { get { return ModelCenter.Instance.GetModelEx<TreasurePavilionUpgradeChooseModel>(); } }
|
|
protected override void Awake()
|
{
|
starAttr = proxy.GetWidgtEx<Text>("effect");
|
nextStarAttr = proxy.GetWidgtEx<Text>("nexteffect");
|
for (int i = 0; i < 3; i++)
|
{
|
items.Add(proxy.GetWidgtEx<TreasureCustomizedItemCell>("itemCell" + i));
|
}
|
starBtn = proxy.GetWidgtEx<Button>("starBtn");
|
|
}
|
|
|
|
public void Display(int gubaoID)
|
{
|
var gubaoInfo = TreasurePavilionModel.Instance.TryGetGubaoInfo(gubaoID);
|
var config = ILGubaoConfig.Get(gubaoID);
|
//var cnt = packModel.GetItemCountByID(PackType.Item, config.UnlockItemID);
|
var maxStar = ILGubaoStarConfig.GetMaxStar(gubaoID);
|
var starInfo = TreasurePavilionModel.Instance.GetGubaoEffects(gubaoID, false);
|
starAttr.text = string.Join("\n", starInfo);
|
if (gubaoInfo[0] == maxStar)
|
{
|
nextStarAttr.text = Language.Get("L1055");
|
for (int i = 0; i < items.Count; i++)
|
{
|
items[i].SetActiveIL(false);
|
}
|
starBtn.SetActiveIL(false);
|
}
|
else
|
{
|
var nextStarConfig = ILGubaoStarConfig.Get(ILGubaoStarConfig.GetGubaoStarIndex(gubaoID, gubaoInfo[0] + 1));
|
starInfo = TreasurePavilionModel.Instance.GetGubaoEffects(gubaoID, false, gubaoInfo[0] + 1);
|
nextStarAttr.text = string.Join("\n", starInfo);
|
var qualityItems = ILGubaoStarConfig.GetGubaQualityPieceInfoList(gubaoID, gubaoInfo[0]);
|
var needItems = ILGubaoStarConfig.GetGubaoStarItems(gubaoID, gubaoInfo[0]);
|
int fixCount = needItems.Count;
|
int allCount = needItems.Count + qualityItems.Count;
|
for (int i = 0; i < items.Count; i++)
|
{
|
if (i < allCount)
|
{
|
if (i < fixCount)
|
{
|
int itemId = needItems[i].x;
|
int cnt = needItems[i].y;
|
var itemConfig = ItemConfig.Get(itemId);
|
int hasCnt = 0;
|
if (itemConfig.Effect1 == 270)
|
hasCnt = TreasurePavilionModel.Instance.GetGubaoItemCount(itemConfig.EffectValueA1);
|
else
|
hasCnt = packModel.GetItemCountByID(PackType.Item, itemId);
|
|
items[i].SetActiveIL(true);
|
items[i].Init(new ItemCellModel(itemId, false, 0));
|
items[i].button.SetListener(() =>
|
{
|
ItemTipUtility.Show(itemId);
|
});
|
var cntTxt = items[i].transform.Find("Text").GetComponent<Text>();
|
cntTxt.text = hasCnt + "/" + cnt;
|
cntTxt.color = UIHelper.GetUIColor(hasCnt >= cnt ? TextColType.Green : TextColType.Red);
|
}
|
else
|
{
|
int nowIndex = i - fixCount;
|
int quality = qualityItems[nowIndex].x;
|
int cnt = qualityItems[nowIndex].y;
|
items[i].SetActiveIL(true);
|
items[i].bgIcon.SetItemBackGround(quality, 0);
|
items[i].Init(null);
|
items[i].button.SetListener(() =>
|
{
|
treasurePavilionUpgradeChooseModel.OpenChooseWin(gubaoID, gubaoInfo[0], quality);
|
});
|
int hasCnt = treasurePavilionUpgradeChooseModel.GetAllGuBaoPieceCountByQuality(GubaoPieceInfoType.Choose, gubaoID, gubaoInfo[0], quality);
|
var cntTxt = items[i].transform.Find("Text").GetComponent<Text>();
|
cntTxt.SetActiveIL(true);
|
cntTxt.text = hasCnt + "/" + cnt;
|
cntTxt.color = UIHelper.GetUIColor(hasCnt >= cnt ? TextColType.Green : TextColType.Red);
|
}
|
}
|
else
|
{
|
items[i].SetActiveIL(false);
|
}
|
}
|
starBtn.SetActiveIL(true);
|
starBtn.SetListener(() =>
|
{
|
for (int i = 0; i < needItems.Count; i++)
|
{
|
int itemID = needItems[i].x;
|
int cnt = needItems[i].y;
|
var itemConfig = ItemConfig.Get(itemID);
|
int hasCnt = 0;
|
if (itemConfig.Effect1 == 270)
|
hasCnt = TreasurePavilionModel.Instance.GetGubaoItemCount(itemConfig.EffectValueA1);
|
else
|
hasCnt = packModel.GetItemCountByID(PackType.Item, itemID);
|
if (hasCnt < cnt)
|
{
|
SysNotifyMgr.Instance.ShowTip("NotEnoughMaterial");
|
return;
|
}
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(6, itemID, cnt, 1, 0);
|
}
|
IL_CB217_tagCMGubaoStarUp.tagCMGubaoPieceUse[] info = null;
|
for (int i = 0; i < qualityItems.Count; i++)
|
{
|
int quality = qualityItems[i].x;
|
int cnt = qualityItems[i].y;
|
int hasCnt = treasurePavilionUpgradeChooseModel.GetAllGuBaoPieceCountByQuality(GubaoPieceInfoType.Choose, gubaoID, gubaoInfo[0], quality);
|
if (hasCnt < cnt)
|
{
|
SysNotifyMgr.Instance.ShowTip("NotEnoughMaterial");
|
return;
|
}
|
|
}
|
if (qualityItems.Count > 0)
|
{
|
info = treasurePavilionUpgradeChooseModel.GetSendInfo(gubaoID, gubaoInfo[0]);
|
}
|
|
TreasurePavilionModel.Instance.UpgradeGubaoStar(gubaoID, info);
|
});
|
}
|
|
}
|
}
|