using System;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
//装备图标(装备位)
|
public class EquipCell : MonoBehaviour
|
{
|
Button button;
|
Image bgImage;//装备的底图,不同品质颜色
|
Image bgIconImage; //空装备的部位图标
|
Image iconImage; //装备图标
|
UIEffectPlayer uieff;
|
Text lvText;
|
|
void InitComponent()
|
{
|
button = this.GetComponent<Button>();
|
bgImage = this.GetComponent<Image>();
|
bgIconImage = this.GetComponent<Image>("equipempty");
|
iconImage = this.GetComponent<Image>("equipicon");
|
uieff = this.GetComponent<UIEffectPlayer>("uieffect");
|
lvText = this.GetComponent<Text>("lv");
|
}
|
|
public void Init(ItemModel equip)
|
{
|
if (iconImage == null)
|
{
|
InitComponent();
|
}
|
|
if (equip == null)
|
{
|
button?.RemoveAllListeners();
|
bgImage.SetSprite("equipQuality0");
|
bgIconImage?.SetActive(true);
|
iconImage.SetActive(false);
|
uieff?.Stop();
|
if (lvText != null)
|
lvText.text = string.Empty;
|
|
return;
|
}
|
|
if (button != null)
|
{
|
button.AddListener(() =>
|
{
|
ItemTipUtility.Show(equip.guid);
|
});
|
}
|
bgImage.SetSprite("equipQuality" + equip.config.ItemColor);
|
bgIconImage?.SetActive(false);
|
iconImage.SetActive(true);
|
iconImage.SetOrgSprite(equip.config.IconKey);
|
if (lvText != null)
|
lvText.text = Language.Get("L1113", EquipModel.Instance.GetEquipLV(equip));
|
|
|
|
if (uieff != null)
|
{
|
if (equip.config.ItemColor >= 7)
|
{
|
uieff.effectId = 1026;
|
|
uieff.PlayByArrIndex(equip.config.ItemColor - 7, true, true);
|
}
|
else
|
{
|
uieff.Stop();
|
}
|
//特效参考尺寸106*150 同比例缩放
|
var rect = this.transform.GetComponent<RectTransform>();
|
uieff.transform.localScale = new Vector3(rect.sizeDelta.x / 106f, rect.sizeDelta.y / 150f, 1);
|
}
|
}
|
|
|
}
|
|
|
|