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<FairyGrabBossModel>(); } }
|
|
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<FairyGrabBossConfig>(help.npcId);
|
var npcConfig = Config.Instance.Get<NPCConfig>(help.npcId);
|
var bossInfoConfig = Config.Instance.Get<BossInfoConfig>(help.npcId);
|
var mapConfig = Config.Instance.Get<MapConfig>(bossInfoConfig.MapID);
|
m_MapName.text = mapConfig.Name;
|
m_BossName.text = npcConfig.charName;
|
m_Icon.SetSprite(npcConfig.HeadPortrait);
|
var petConfig = Config.Instance.Get<PetInfoConfig>(config.petId);
|
if (petConfig != null)
|
{
|
m_BossName.color = UIHelper.GetUIColor(petConfig.Quality, true);
|
}
|
var horseConfig = Config.Instance.Get<HorseConfig>(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 (!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);
|
}
|
}
|
}
|
}
|