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; } }