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<FairyGrabBossModel>(); }
|
}
|
|
BuffModel buffModel
|
{
|
get { return ModelCenter.Instance.GetModel<BuffModel>(); }
|
}
|
|
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();
|
}
|
}
|
}
|