using UnityEngine;
|
using UnityEngine.UI;
|
using EnhancedUI.EnhancedScroller;
|
|
namespace vnxbqy.UI
|
{
|
|
public class DungeonAssistResultCell : ScrollerUI
|
{
|
[SerializeField] AvatarCell avatarCell;
|
[SerializeField] Text playerName;
|
[SerializeField] Text playerLV;
|
[SerializeField] Text assistTitle;
|
[SerializeField] Text assistInfoText;
|
[SerializeField] Button assistBtn;
|
[SerializeField] Transform LockObj;
|
[SerializeField] Text LockText;
|
|
DungeonAssistModel assistModel { get { return ModelCenter.Instance.GetModel<DungeonAssistModel>(); } }
|
FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
|
|
public override void Refresh(CellView cell)
|
{
|
if (!assistModel.assistInfoDict.ContainsKey(cell.info.Value.infoStr1))
|
{
|
return;
|
}
|
var assistInfo = assistModel.assistInfoDict[cell.info.Value.infoStr1];
|
avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)assistInfo.playerID, (int)assistInfo.Face, (int)assistInfo.FacePic, assistInfo.job));
|
string assistName = UIHelper.ServerStringTrim(assistInfo.playerName);
|
playerName.text = assistName;
|
playerLV.text = Language.Get("Z1024", assistInfo.lv);
|
|
var config = MapConfig.Get((int)assistInfo.mapID);
|
assistTitle.text = config.Name;
|
|
NPCConfig cfg = NPCConfig.Get((int)assistInfo.npcID);
|
//助战信息根据扩展信息后续补充
|
if (assistInfo.npcID != 0)
|
{
|
// 杀怪
|
assistInfoText.text = Language.Get("Z2001") + UIHelper.GetRealmNameEx(cfg.Realm, Language.Get("Z2002"), true) + UIHelper.AppendColor(TextColType.Blue, cfg.charName + Language.Get("Z1024", cfg.NPCLV));
|
}
|
else
|
{
|
// 通关
|
var mapConfig = MapConfig.Get((int)assistInfo.mapID);
|
assistInfoText.text = Language.Get("Z2013", mapConfig.Name);
|
}
|
|
if (assistInfo.playerID == PlayerDatas.Instance.baseData.PlayerID)
|
{
|
assistBtn.SetActive(false);
|
LockObj.SetActive(false);
|
}
|
else
|
{
|
if (assistInfo.npcID != 0 && !findPreciousModel.IsBossUnlock((int)assistInfo.npcID))
|
{
|
assistBtn.SetActive(false);
|
LockObj.SetActive(true);
|
|
LockText.text = UIHelper.GetRealmName(cfg.Realm, true) + Language.Get("MountPanel_UnlockBtn_1");
|
}
|
else if (assistInfo.npcID == 0 && PlayerDatas.Instance.baseData.LV < DungeonConfig.Get((int)(assistInfo.mapID*10 + assistInfo.lineID)).LVLimitMin)
|
{
|
assistBtn.SetActive(false);
|
LockObj.SetActive(true);
|
|
LockText.text = Language.Get("WorldMap_LV", DungeonConfig.Get(assistInfo.mapID.ToString()).LVLimitMin);
|
}
|
else
|
{
|
assistBtn.SetActive(true);
|
LockObj.SetActive(false);
|
assistBtn.SetListener(() =>
|
{
|
if (assistInfo.mapID != 32020 && assistInfo.mapID != 32080 && CrossServerUtility.IsCrossServerBoss())
|
{
|
SysNotifyMgr.Instance.ShowTip("CrossMap10");
|
return;
|
}
|
var mapConfig = MapConfig.Get(PlayerDatas.Instance.baseData.MapID);
|
if (mapConfig.MapFBType != (int)MapType.OpenCountry)
|
{
|
if (!assistModel.isSameAssitTag(assistInfo.guid))
|
{
|
SysNotifyMgr.Instance.ShowTip("AssistFBLimit");
|
return;
|
}
|
}
|
|
assistModel.assistGUIDTemp = cell.info.Value.infoStr1;
|
WindowCenter.Instance.Open<AssistConfirmwin>();
|
|
int funcID = findPreciousModel.GetBossFuncIDByBossID((int)assistInfo.npcID);
|
if (GeneralDefine.FBAssistAward.ContainsKey((int)assistInfo.mapID))
|
{
|
//活跃令
|
assistModel.assistActiveCnt = GeneralDefine.FBAssistAward[(int)assistInfo.mapID][1];
|
}
|
else if (GeneralDefine.BossAssistAward.ContainsKey(funcID))
|
{
|
assistModel.assistActiveCnt = GeneralDefine.BossAssistAward[funcID][1];
|
}
|
|
});
|
|
}
|
|
}
|
}
|
|
|
}
|
}
|