using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI
|
{
|
public class EquipPlaceCell : MonoBehaviour
|
{
|
[SerializeField] Button noneItemBtn;
|
[SerializeField] ItemCell itemCell;
|
[SerializeField] public RoleEquipType equipType;
|
|
PackModel _playerPack;
|
PackModel playerPack
|
{
|
get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PackModel>()); }
|
}
|
|
ItemTipsModel _itemTipsModel;
|
ItemTipsModel itemTipsModel
|
{
|
get
|
{
|
return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>());
|
}
|
}
|
|
GetItemPathModel pathModel { get { return ModelCenter.Instance.GetModel<GetItemPathModel>(); } }
|
|
private void OnEnable()
|
{
|
Display((int)this.equipType);
|
}
|
|
public void Display(int equipPlace)
|
{
|
if (this.equipType != (RoleEquipType)equipPlace) return;
|
|
ItemModel itemModel = playerPack.GetItemByIndex(PackType.Equip,equipPlace);
|
noneItemBtn.RemoveAllListeners();
|
itemCell.cellBtn.onClick.RemoveAllListeners();
|
|
if (itemModel == null)
|
{
|
itemCell.gameObject.SetActive(false);
|
if(playerPack.IsShowAddEquipByPlace(equipPlace))
|
{
|
noneItemBtn.gameObject.SetActive(true);
|
noneItemBtn.AddListener(()=>
|
{
|
playerPack.SaveRoleEquipToLocal(equipPlace,true);
|
playerPack.UpdateRoleEquipRed();
|
string guid = ItemLogicUtility.Instance.GetHighestScoreEquipByPlace(equipPlace);
|
if (string.IsNullOrEmpty(guid))
|
{
|
int pathId = playerPack.GetRoleEquipPathId(equipPlace);
|
if(pathId != 0)
|
{
|
pathModel.SetChinItemModel(pathId);
|
}
|
}
|
else
|
{
|
playerPack.SetLookIndex(guid);
|
playerPack.RefreshBagInfo();
|
}
|
});
|
}
|
else
|
{
|
noneItemBtn.gameObject.SetActive(false);
|
}
|
}
|
else
|
{
|
playerPack.CheckRoleEquipByPlace((RoleEquipType)equipPlace);
|
playerPack.UpdateRoleEquipRed();
|
noneItemBtn.gameObject.SetActive(false);
|
itemCell.gameObject.SetActive(true);
|
itemCell.Init(itemModel);
|
itemCell.cellBtn.onClick.AddListener(() => {
|
itemTipsModel.SetItemTipsModel(PackType.Equip, itemModel.guid, false);
|
itemTipsModel.SetPutOnTipsBtn(itemTipsModel.curAttrData);
|
itemTipsModel.ShowUICtrl();
|
|
});
|
}
|
}
|
}
|
}
|