using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI
|
{
|
public class EquipPlaceCell : MonoBehaviour
|
{
|
[SerializeField] Button m_AddEquip;
|
[SerializeField] ItemCell m_ItemCell;
|
|
PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
ItemTipsModel tipModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
|
GetItemPathModel pathModel { get { return ModelCenter.Instance.GetModel<GetItemPathModel>(); } }
|
|
RoleEquipType equipType;
|
|
public void Display(RoleEquipType equipType)
|
{
|
this.equipType = equipType;
|
var packIndex = EquipSet.ClientPlaceToServerPlace(new Int2(0, (int)equipType));
|
var item = packModel.GetItemByIndex(PackType.Equip, packIndex);
|
if (item == null)
|
{
|
m_ItemCell.gameObject.SetActive(false);
|
if (packModel.IsShowAddEquipByPlace((int)equipType))
|
{
|
m_AddEquip.gameObject.SetActive(true);
|
m_AddEquip.SetListener(AddEqup);
|
}
|
else
|
{
|
m_AddEquip.gameObject.SetActive(false);
|
}
|
}
|
else
|
{
|
m_AddEquip.gameObject.SetActive(false);
|
m_ItemCell.gameObject.SetActive(true);
|
m_ItemCell.Init(item);
|
m_ItemCell.button.SetListener(ShowEquipTip);
|
}
|
}
|
|
private void AddEqup()
|
{
|
var packIndex = EquipSet.ClientPlaceToServerPlace(new Int2(0, (int)equipType));
|
var item = packModel.GetItemByIndex(PackType.Equip, packIndex);
|
if (item != null)
|
{
|
return;
|
}
|
|
var guid = ItemLogicUtility.Instance.GetHighestScoreEquipByPlace((int)equipType);
|
if (string.IsNullOrEmpty(guid))
|
{
|
int pathId = packModel.GetRoleEquipPathId((int)equipType);
|
if (pathId != 0)
|
{
|
pathModel.SetChinItemModel(pathId);
|
}
|
}
|
else
|
{
|
packModel.SetLookIndex(guid);
|
packModel.RefreshBagInfo();
|
}
|
}
|
|
private void ShowEquipTip()
|
{
|
var packIndex = EquipSet.ClientPlaceToServerPlace(new Int2(0, (int)equipType));
|
var item = packModel.GetItemByIndex(PackType.Equip, packIndex);
|
if (item == null)
|
{
|
return;
|
}
|
|
tipModel.SetItemTipsModel(PackType.Equip, item.guid, false);
|
tipModel.SetPutOnTipsBtn(tipModel.curAttrData);
|
tipModel.ShowTip();
|
}
|
|
}
|
}
|