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<DungeonAssistModel>(); } }
|
DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
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;
|
}
|
|
|
}
|
}
|