using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
//公会徽章
|
//需增加UIFrame,UIEffectPlayer
|
[RequireComponent(typeof(UIFrame))]
|
[RequireComponent(typeof(UIEffectPlayer))]
|
public class GuildEmblemCell : MonoBehaviour
|
{
|
[SerializeField] ImageEx emblemIcon;
|
[SerializeField] UIFrame frame;
|
[SerializeField] UIEffectPlayer uiEffect;
|
[Header("字 F9E29F 包边 683C00 字号36 Y:-9")]
|
[SerializeField] Text emblemNameText; //字 F9E29F 包边 683C00 字号36 Y-9
|
|
public void Display(int emblemID, string emblemName, float _scale = 1f)
|
{
|
FamilyEmblemConfig config = FamilyEmblemConfig.Get(emblemID);
|
if (config == null)
|
{
|
return;
|
}
|
|
// 徽章动态效果按帧处理,如果后续要改成spine特效,则再商议修改
|
// 目前特效为附加表现
|
if (GuildEmblemModel.Instance.TryGetEffectID(emblemID, out int effectID))
|
{
|
if (effectID != 0)
|
{
|
uiEffect.effectId = effectID;
|
uiEffect.Play();
|
}
|
}
|
|
if (UIFrameMgr.Inst.ContainsDynamicImage(config.Image))
|
{
|
frame.ResetFrame(config.Image);
|
frame.enabled = true;
|
}
|
else
|
{
|
if (frame != null)
|
frame.enabled = false;
|
emblemIcon.SetSprite(config.Image);
|
emblemIcon.SetNativeSize();
|
}
|
emblemIcon.rectTransform.localScale = new Vector3(_scale, _scale, _scale);
|
emblemNameText.text = emblemName;
|
}
|
|
}
|