using vnxbqy.UI;
|
using System.Collections;
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
using UnityEngine.UI;
|
namespace EnhancedUI.EnhancedScroller
|
{
|
public class DogzCell : ScrollerUI
|
{
|
[SerializeField] Image m_DogzIcon;
|
[SerializeField] RectTransform m_DogzIconRect;
|
[SerializeField] Image m_DogzAssist;
|
[SerializeField] Text m_DogzName;
|
[SerializeField] Text m_EquipNum;
|
[SerializeField] Text m_DogzGrade;
|
[SerializeField] Button m_DogzBtn;
|
[SerializeField] RedpointBehaviour redpointBehav;
|
[SerializeField] GameObject containDivideObj;
|
[SerializeField] List<Image> divideDogzIcons = new List<Image>();
|
DogzModel m_Model;
|
DogzModel model
|
{
|
get
|
{
|
return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DogzModel>());
|
}
|
}
|
|
public override void Refresh(CellView cell)
|
{
|
var _dogzCfg = DogzConfig.Get(cell.index);
|
m_DogzIcon.SetSprite(_dogzCfg.HeadIcon);
|
m_DogzIcon.SetNativeSize();
|
m_DogzIconRect.sizeDelta = new Vector2(m_DogzIconRect.sizeDelta.x/2,m_DogzIconRect.sizeDelta.y/2);
|
var _dogzEquips = model.GetDogzEquips(_dogzCfg.ID);
|
bool isActive = (_dogzEquips == null || _dogzEquips.Count < 5) ? false : true;
|
m_DogzName.text = _dogzCfg.Name;
|
m_DogzGrade.text = Language.Get("DogzFunc106", model.GetDogzScoreById(cell.index));
|
redpointBehav.redpointId = model.GetSingleDogzRedpointById(_dogzCfg.ID).id;
|
if (isActive)
|
{
|
containDivideObj.SetActive(false);
|
m_DogzIcon.material = MaterialUtility.GetUIDefaultGraphicMaterial();
|
m_DogzName.color = UIHelper.s_NavyBrown;
|
m_DogzGrade.color = UIHelper.s_BrightOrangeColor;
|
}
|
else
|
{
|
containDivideObj.SetActive(true);
|
m_DogzIcon.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
|
m_DogzName.color = UIHelper.s_BrightWhiteColor;
|
m_DogzGrade.color = UIHelper.s_BrightWhiteColor;
|
for(int i = 0; i < 5; i++)
|
{
|
var divideImg = divideDogzIcons[i];
|
divideImg.SetSprite(_dogzCfg.HeadIcon);
|
divideImg.SetNativeSize();
|
divideImg.rectTransform.sizeDelta = new Vector2(divideImg.rectTransform.sizeDelta.x / 2, divideImg.rectTransform.sizeDelta.y / 2);
|
ItemModel _equipData = null;
|
bool isEquip = model.TryGetDogzEquip(cell.index,i+101,out _equipData);
|
divideImg.SetActive(isEquip);
|
}
|
}
|
m_DogzBtn.image.SetSprite(model.presentSelectDogz == _dogzCfg.ID ? "Title_RightWindow" : "Title_PopupWindow");
|
bool isAssist = model.TryGetAssistDogzState(_dogzCfg.ID);
|
bool isShowEquipNum = isAssist || _dogzEquips == null || _dogzEquips.Count < 1 ? false : true;
|
if(isShowEquipNum)
|
{
|
m_EquipNum.text = Language.Get("DogzDressed", _dogzEquips.Count);
|
}
|
m_DogzAssist.SetActive(isAssist);
|
m_EquipNum.SetActive(isShowEquipNum);
|
m_DogzBtn.onClick.RemoveAllListeners();
|
m_DogzBtn.onClick.AddListener(() =>
|
{
|
model.SetSelectDogz(_dogzCfg.ID);
|
});
|
}
|
}
|
}
|
|