using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class AssistBehaviour : MonoBehaviour { [SerializeField] RectTransform m_Container; [SerializeField] AvatarCell avatarCell; [SerializeField] Text playerName; [SerializeField] Button m_Goto; [SerializeField] Button m_Close; DungeonAssistModel assistModel { get { return ModelCenter.Instance.GetModel(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel(); } } private void Awake() { m_Goto.SetListener(Goto); m_Close.SetListener(()=> { assistModel.SendStopAssistBoss(); m_Container.SetActive(false); }); } public void Init() { PlayerDatas.Instance.playerDataRefreshEvent += OnCloseAssist; assistModel.UpdateAssisting += Display; Display(); } public void UnInit() { PlayerDatas.Instance.playerDataRefreshEvent -= OnCloseAssist; assistModel.UpdateAssisting -= Display; } private void OnCloseAssist(PlayerDataType type) { //只处理取消 if (type != PlayerDataType.ExAttr1) return; if (PlayerDatas.Instance.baseData.ExAttr1 == 0) { m_Container.SetActive(false); } } private void Display() { if (PlayerDatas.Instance.baseData.ExAttr1 == 0) { m_Container.SetActive(false); return; } m_Container.SetActive(true); if (!assistModel.assistInfoDict.ContainsKey(assistModel.assistGUID)) { assistModel.assistGUID = string.Empty; m_Container.SetActive(false); return; } var assistInfo = assistModel.assistInfoDict[assistModel.assistGUID]; avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)assistInfo.playerID, (int)assistInfo.Face, (int)assistInfo.FacePic, assistInfo.job)); playerName.text = assistInfo.playerName; } private void Goto() { if (!assistModel.assistInfoDict.ContainsKey(assistModel.assistGUID)) { m_Container.SetActive(false); return; } if (MapConfig.Get(PlayerDatas.Instance.baseData.MapID).MapFBType != (int)MapType.OpenCountry) return; var assistInfo = assistModel.assistInfoDict[assistModel.assistGUID]; if (assistInfo.mapID != 32020 && assistInfo.mapID != 32080) { assistModel.GotoKillBoss(assistInfo); } else { assistModel.GotoKillCrossServerBoss(assistInfo); } //assistModel.isClickAssist = true; } } }