少年修仙传客户端代码仓库
lcy
2024-12-16 a39c35fc6449430cd02bccb681c4a0a880e46cd9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
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];
                        }
 
                    });
 
                }
 
            }
        }
 
 
    }
}