using System;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using EnhancedUI.EnhancedScroller;
|
using System.Collections.Generic;
|
|
namespace Snxxz.UI
|
{
|
[XLua.Hotfix]
|
public class JadeDynastyDecomposeLineBeh : ScrollerUI
|
{
|
[SerializeField] List<DecomposeItemBeh> itemBehs = new List<DecomposeItemBeh>();
|
JadeDynastyDecomposeModel decomposeModel { get { return ModelCenter.Instance.GetModel<JadeDynastyDecomposeModel>(); } }
|
PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
|
public override void Refresh(CellView cell)
|
{
|
var decomposeGuids = decomposeModel.allGuids;
|
int length = itemBehs.Count;
|
for(int i = 0; i < length; i++)
|
{
|
var itemBeh = itemBehs[i];
|
int index = cell.index*length + i;
|
if(decomposeGuids != null
|
&& index < decomposeGuids.Count)
|
{
|
var guid = decomposeGuids[index];
|
var model = playerPack.GetItemByGuid(guid);
|
itemBeh.SetDisplay(model,decomposeModel.selectGuids);
|
}
|
else
|
{
|
itemBeh.SetDisplay(null,null);
|
}
|
|
}
|
}
|
|
[Serializable]
|
public class DecomposeItemBeh
|
{
|
[SerializeField] CommonItemBaisc itemBaisc;
|
[SerializeField] GameObject selectObj;
|
[SerializeField] GameObject equipLvObj;
|
[SerializeField] Text equipLvText;
|
|
JadeDynastyDecomposeModel decomposeModel { get { return ModelCenter.Instance.GetModel<JadeDynastyDecomposeModel>(); } }
|
|
public void SetDisplay(ItemModel itemModel,List<string> selectGuids)
|
{
|
itemBaisc.cellBtn.RemoveAllListeners();
|
equipLvObj.SetActive(false);
|
if (itemModel == null || selectGuids == null)
|
{
|
itemBaisc.gameObject.SetActive(false);
|
selectObj.SetActive(false);
|
}
|
else
|
{
|
itemBaisc.gameObject.SetActive(true);
|
selectObj.SetActive(selectGuids.Contains(itemModel.guid));
|
itemBaisc.Init(itemModel,true);
|
if(itemModel.config.EquipPlace > 0)
|
{
|
equipLvObj.SetActive(true);
|
string equipLvSB = Language.Get(StringUtility.Contact("Num_CHS_", itemModel.config.LV));
|
equipLvText.text = Language.Get("L1091", equipLvSB);
|
}
|
itemBaisc.cellBtn.AddListener(()=>
|
{
|
if (selectObj.activeInHierarchy)
|
{
|
this.decomposeModel.RemoveSelectModel(itemModel.guid);
|
}
|
else
|
{
|
this.decomposeModel.AddSelectModel(itemModel.guid);
|
}
|
selectObj.SetActive(!selectObj.activeInHierarchy);
|
});
|
}
|
}
|
}
|
}
|
}
|