少年修仙传客户端代码仓库
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
using System.Collections.Generic;
using UnityEngine;
using vnxbqy.UI;
 
public class CrossServerGodBattleFieldAssortInfoCell : CellView
{
    [SerializeField] TextEx txtLeaderName;
    [SerializeField] TextEx txtPowerNum;
    [SerializeField] TextEx txtTip;
    [SerializeField] ButtonEx btnCancel;
    [SerializeField] ButtonEx btnRequest;
    CrossServerGodBattleFieldAssortModel model { get { return ModelCenter.Instance.GetModel<CrossServerGodBattleFieldAssortModel>(); } }
    bool isHaveTeam;
    bool isCaptain;
    uint teamID;
    AssortTeamInfo teamInfo;
    AssortMemberInfo memberInfo;
    Dictionary<uint, AssortTeamInfo> teamInfoDict;
    List<uint> teamTypelist;
    public void Display(int index, CellView cell)
    {
        uint teamID = (uint)cell.info.Value.infoInt1;
        if (!model.TryGetTeamInfoDict(out teamInfoDict) || !teamInfoDict.TryGetValue(teamID, out teamInfo) ||
            !model.TryGetTeamCaptainMemberInfo(teamInfo, out memberInfo) || !model.TryGetTeamTypeList(model.HaveSpace, model.IDLimitType, out teamTypelist))
            return;
        if (model.TeamCount >= model.QueryCnt && teamTypelist.Count - 10 == index)
        {
            model.SendQueryFuncTeam(model.FuncMapID, 0, model.LoopIndex, 40, 1, model.isOnlyServerGroupIDLeader ? (byte)2 : (byte)0);
        }
 
        string serverName = ServerListCenter.Instance.GetServerName((int)memberInfo.ServerID);
        txtLeaderName.text = Language.Get("GodBattleFieldAssort06", Language.Get("BlessedLand043", serverName, model.IsNoTeamName() ? memberInfo.Name : teamInfo.TeamName));
        txtPowerNum.text = UIHelper.ReplaceLargeNum(model.GetTeamTotalPower(teamInfo));
        btnRequest.SetActive(!model.IsRequest(teamID) && teamInfo.MinFightPower <= PlayerDatas.Instance.baseData.FightPoint);
        btnCancel.SetActive(model.IsRequest(teamID));
        txtTip.SetActive(!model.IsRequest(teamID) && teamInfo.MinFightPower > PlayerDatas.Instance.baseData.FightPoint);
        txtTip.text = Language.Get("GodBattleFieldAssort45",UIHelper.ReplaceLargeNum(teamInfo.MinFightPower));
        btnCancel.SetListener(() =>
        {
            if (model.IsOpenAction())
            {
                SysNotifyMgr.Instance.ShowTip("GodBattleFieldAssort03");
                return;
            }
            model.SendFuncTeamMemOP(teamID, model.FuncMapID, 2);
        });
 
        btnRequest.SetListener(() =>
        {
            if (model.IsOpenAction())
            {
                SysNotifyMgr.Instance.ShowTip("GodBattleFieldAssort03");
                return;
            }
            //队伍申请个数已达上限
            var teamIDList = model.GetPlayerRequestTeam();
            if (teamIDList.Count >= FunctionTeamSetConfig.Get((int)model.FuncMapID).ReqApplyMax)
            {
                SysNotifyMgr.Instance.ShowTip("TeamReqJoinApplyFull");
                return;
            }
            model.SendFuncTeamMemOP(teamID, model.FuncMapID, 1);
        });
    }
 
}