using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class FairyGrabBossBuffTip : MonoBehaviour { [SerializeField] Text m_BuffDescription; int selectNpcId = 0; FairyGrabBossModel model { get { return ModelCenter.Instance.GetModel(); } } BuffModel buffModel { get { return ModelCenter.Instance.GetModel(); } } public void Init() { BuffModel.Even_ObjAddBuf -= AddBuff; BuffModel.Even_ObjDelBuff -= DeleteBuff; BuffModel.Even_ObjAddBuf += AddBuff; BuffModel.Even_ObjDelBuff += DeleteBuff; } public void UnInit() { BuffModel.Even_ObjAddBuf -= AddBuff; BuffModel.Even_ObjDelBuff -= DeleteBuff; } public void Display(int _npcId) { selectNpcId = _npcId; DisplayBuff(); } private void DisplayBuff() { bool isFairyGrabBoss = model.bosses.Contains(selectNpcId); var reduceInjuryBuffId = 0; if (isFairyGrabBoss) { var buffDict = buffModel._BuffDic; if (buffDict != null) { foreach (var buffData in buffDict.Values) { if (model.reduceInjuryBuffId == buffData.SkillTypeID && buffData.SkillID > reduceInjuryBuffId) { reduceInjuryBuffId = buffData.SkillID; } } } var config = SkillConfig.Get(reduceInjuryBuffId); if (config != null) { m_BuffDescription.text = Language.Get("FairyGrabBossDeBuff", config.EffectValue11 / 100); } } this.gameObject.SetActive(isFairyGrabBoss && reduceInjuryBuffId != 0); } private void DeleteBuff() { DisplayBuff(); } private void AddBuff() { DisplayBuff(); } } }