using vnxbqy.UI;
|
using System.Collections.Generic;
|
using UnityEngine.UI;
|
using UnityEngine;
|
|
public class GodKingSelectItemsCell : ILBehaviour
|
{
|
List<Transform> preSelectItems = new List<Transform>();
|
|
protected override void Awake()
|
{
|
for (int i = 0; i < 3; i++)
|
{
|
preSelectItems.Add(proxy.GetWidgtEx<Transform>("selectItem" + i));
|
}
|
}
|
|
|
public void Display(int index)
|
{
|
for (int i = 0; i < 3; i++)
|
{
|
int itemIndex = i + index;
|
if (itemIndex < GodKingGiftModel.Instance.itemsLib.Length)
|
{
|
preSelectItems[i].SetActiveIL(true);
|
ShowItem(preSelectItems[i], itemIndex);
|
}
|
else
|
{
|
preSelectItems[i].SetActiveIL(false);
|
}
|
}
|
}
|
|
|
|
void ShowItem(Transform itemObj, int itemIndex)
|
{
|
var itemInfo = GodKingGiftModel.Instance.itemsLib[itemIndex];
|
var itemCell = itemObj.Find("itemcell").GetComponent<ItemCell>();
|
int itemID = (int)itemInfo.ItemID;
|
itemCell.Init(new ItemCellModel(itemID, false, itemInfo.ItemCount));
|
itemCell.button.SetListener(()=>{
|
ItemTipUtility.Show(itemID);
|
});
|
|
var toggleBtn = itemObj.Find("selectButton").GetComponent<ToggleButton>();
|
toggleBtn.SetListener(()=> {
|
if (!toggleBtn.isOn && !CanSelectItem(itemIndex))
|
return;
|
toggleBtn.isOn = !toggleBtn.isOn;
|
|
GodKingGiftModel.Instance.OnSelectItem(itemIndex, toggleBtn.isOn);
|
});
|
toggleBtn.isOn = hasItem(itemInfo.ItemNum);
|
|
//var itemName = itemObj.Find("itemname").GetComponent<Text>();
|
//itemName.text = ItemConfig.Get((int)itemInfo.ItemID).ItemName;
|
|
var canSelectCnt = itemObj.Find("count").GetComponent<Text>();
|
if (itemInfo.CanChooseTimes == 0)
|
{
|
canSelectCnt.text = Language.Get("DailyQuest_NoLevelLimit");
|
}
|
else
|
{
|
int remainCnt = itemInfo.CanChooseTimes - itemInfo.ChooseTimes;
|
canSelectCnt.text = Language.Get("tdlb5", UIHelper.AppendColor(remainCnt == 0 ? TextColType.Red : TextColType.Green, remainCnt.ToString(), true));
|
}
|
}
|
|
bool hasItem(int num)
|
{
|
for (int i = 0; i < GodKingGiftModel.Instance.selectedItems.Count; i++)
|
{
|
var itemInfo = GodKingGiftModel.Instance.selectedItems[i];
|
if (itemInfo.itemNum == num && itemInfo.libType == (GodKingGiftModel.Instance.selectType + 1))
|
{
|
return true;
|
}
|
}
|
return false;
|
}
|
|
bool CanSelectItem(int itemIndex)
|
{
|
//1. 库已无可选个数 2.本物品无可选个数
|
var maxCnt = GodKingGiftModel.Instance.GetLibSelectCnt(GodKingGiftModel.Instance.selectType + 1);
|
if (GodKingGiftModel.Instance.SelectdCountByLib(GodKingGiftModel.Instance.selectType + 1) == maxCnt)
|
{
|
SysNotifyMgr.Instance.ShowTip("ActGodGiftNotify1");
|
return false;
|
}
|
|
var itemInfo = GodKingGiftModel.Instance.itemsLib[itemIndex];
|
if (itemInfo.CanChooseTimes != 0 && itemInfo.CanChooseTimes == itemInfo.ChooseTimes)
|
{
|
SysNotifyMgr.Instance.ShowTip("ActGodGiftNotify2");
|
return false;
|
}
|
return true;
|
}
|
}
|