using System; using System.Collections; using System.Collections.Generic; using TableConfig; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class FairyGrabBossHelpBehaviour : MonoBehaviour { [SerializeField] RectTransform m_Container; [SerializeField] Button m_Close; [SerializeField] Image m_Icon; [SerializeField] Text m_MapName; [SerializeField] Text m_BossName; [SerializeField] Button m_Goto; FairyGrabBossModel model { get { return ModelCenter.Instance.GetModel(); } } public bool display { get { return gameObject.activeSelf; } } private void Awake() { m_Goto.onClick.AddListener(Goto); m_Close.onClick.AddListener(Close); } public void Display() { if (model.fairyGrabBossHelps.Count > 0) { model.helpCoolDown = true; m_Container.gameObject.SetActive(true); var help = model.fairyGrabBossHelps[0]; var config = Config.Instance.Get(help.npcId); var npcConfig = Config.Instance.Get(help.npcId); var bossInfoConfig = Config.Instance.Get(help.npcId); var mapConfig = Config.Instance.Get(bossInfoConfig.MapID); m_MapName.text = mapConfig.Name; m_BossName.text = npcConfig.charName; m_Icon.SetSprite(npcConfig.HeadPortrait); var petConfig = Config.Instance.Get(config.petId); if (petConfig != null) { m_BossName.color = UIHelper.GetUIColor(petConfig.Quality, true); } var horseConfig = Config.Instance.Get(config.horseId); if (horseConfig != null) { m_BossName.color = UIHelper.GetUIColor(horseConfig.Quality, true); } } } private void Close() { model.RemoveHelp(); } private void Goto() { if (model.fairyGrabBossHelps.Count > 0) { var help = model.fairyGrabBossHelps[0]; int error = 0; if (!model.TestEnterDungeon(help.npcId, out error)) { model.DisplayErrorTip(error); model.RemoveHelp(); return; } if (PlayerDatas.Instance.extersion.bossState == 1) { SysNotifyMgr.Instance.ShowTip("Boss_Leave"); model.RemoveHelp(); return; } if (!model.IsBossAlive(help.npcId)) { ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("FairyGrabBossNotAlive"), (bool isOk) => { if (isOk) { MapTransferUtility.Instance.MoveToNPC(help.npcId); model.RemoveHelp(); } }); return; } model.RemoveHelp(); MapTransferUtility.Instance.MoveToNPC(help.npcId); } } } }