| 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.isPlaySpineLoop = true; | 
|                 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; | 
|     } | 
|   | 
| } |