少年修仙传客户端代码仓库
10349 【越南】【英文】【BT】【砍树】跨服竞技场优化 - 查看比赛积分
5个文件已修改
188 ■■■■■ 已修改文件
LogicProject/System/CrossServerQualifying/CSQShootOutCell.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LogicProject/System/CrossServerQualifying/CSQShootOutPlayerCell.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LogicProject/System/CrossServerQualifying/CrossServerQualifying64Win.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LogicProject/System/CrossServerQualifying/CrossServerQualifying8Win.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LogicProject/System/CrossServerQualifying/CrossServerQualifyingModel.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LogicProject/System/CrossServerQualifying/CSQShootOutCell.cs
@@ -27,24 +27,24 @@
        var battleGroup = CrossServerQualifyingModel.Instance.battleInfo[CrossServerQualifyingModel.Instance.select64Mark];
        var group = battleGroup[(uint)index];
        var playerA = players[0].GetILBehaviour<CSQShootOutPlayerCell>();
        playerA?.Display(group.PlayerIDA, group.WinPlayerID);
        playerA?.Display(group.PlayerIDA, group.WinPlayerID, CrossServerQualifyingModel.Instance.select64Mark);
        var playerB = players[1].GetILBehaviour<CSQShootOutPlayerCell>();
        playerB?.Display(group.PlayerIDB, group.WinPlayerID);
        playerB?.Display(group.PlayerIDB, group.WinPlayerID, CrossServerQualifyingModel.Instance.select64Mark);
        if (battleGroup.ContainsKey((uint)(index + 1)))
        {
            group = battleGroup[(uint)index + 1];
            playerA = players[2].GetILBehaviour<CSQShootOutPlayerCell>();
            playerA?.Display(group.PlayerIDA, group.WinPlayerID);
            playerA?.Display(group.PlayerIDA, group.WinPlayerID, CrossServerQualifyingModel.Instance.select64Mark);
            playerB = players[3].GetILBehaviour<CSQShootOutPlayerCell>();
            playerB?.Display(group.PlayerIDB, group.WinPlayerID);
            playerB?.Display(group.PlayerIDB, group.WinPlayerID, CrossServerQualifyingModel.Instance.select64Mark);
        }
        else
        {
            playerA = players[2].GetILBehaviour<CSQShootOutPlayerCell>();
            playerA?.Display(0, 0);
            playerA?.Display(0, 0, CrossServerQualifyingModel.Instance.select64Mark);
            playerB = players[3].GetILBehaviour<CSQShootOutPlayerCell>();
            playerB?.Display(0, 0);
            playerB?.Display(0, 0, CrossServerQualifyingModel.Instance.select64Mark);
        }
    }
}
LogicProject/System/CrossServerQualifying/CSQShootOutPlayerCell.cs
@@ -16,7 +16,9 @@
    Text nameStr;
    Text fightPower;
    ImageEx playerImg;
    Button playerBtn;
    uint m_groupMark;
    protected override void Awake()
    {
        headImg = proxy.GetWidgtEx<AvatarCell>("head");
@@ -24,10 +26,13 @@
        nameStr = proxy.GetWidgtEx<Text>("name");
        fightPower = proxy.GetWidgtEx<Text>("fightPower");
        playerImg = proxy.GetWidgtEx<ImageEx>("playerImg");
        playerBtn = proxy.GetWidgtEx<Button>("playerImg");
    }
    public void Display(uint playerID, uint winner)
    public void Display(uint playerID, uint winner, uint groupMark = 0)
    {
        m_groupMark = groupMark;
        if (CrossServerQualifyingModel.Instance.fightersInfo.ContainsKey(playerID))
        {
            var player = CrossServerQualifyingModel.Instance.fightersInfo[playerID];
@@ -54,6 +59,16 @@
            playerImg.gray = winner != 0 ? true : false;
        }
        
        playerBtn.AddListener(() => {
            ShowScore(playerID, m_groupMark);
        });
    }
    void ShowScore(uint playerID, uint m_groupMark)
    {
        if (m_groupMark == 0 || playerID == 0)
            return;
        CrossServerQualifyingModel.Instance.QueryRaceScoreEvent.Invoke(playerID, m_groupMark);
    }
}
LogicProject/System/CrossServerQualifying/CrossServerQualifying64Win.cs
@@ -34,6 +34,8 @@
    Text todayRaceText;
    Button littleCloseBtn;
    RectTransform queryScoreObj;
    Text queryScoreText;
    #region Built-in
@@ -65,6 +67,9 @@
        todayRaceObj = proxy.GetWidgtEx<RectTransform>("raceTip");
        todayRaceText = proxy.GetWidgtEx<Text>("todayrace");
        littleCloseBtn = proxy.GetWidgtEx<Button>("littleClose");
        queryScoreObj = proxy.GetWidgtEx<RectTransform>("scoreTip");
        queryScoreText = proxy.GetWidgtEx<Text>("scoreText");
    }
@@ -106,6 +111,7 @@
    protected override void OnPreOpen()
    {
        CrossServerQualifyingModel.Instance.QueryRaceScoreEvent += QueryRaceScoreEvent;
        var findIndex = CrossServerQualifyingModel.Instance.groupBtnMarks.IndexOf(CrossServerQualifyingModel.Instance.nowGroupMark);
        CrossServerQualifyingModel.Instance.select64Index = findIndex == -1 ? 2 : findIndex;
@@ -126,6 +132,7 @@
        var nextBattle = CrossServerQualifyingModel.Instance.GetMyNextBattle();
        pkResultText.SetActive(nextBattle != 0);
        pkResultText.text = Language.Get("CrossServerQualifying71", nextBattle);
        queryScoreObj.SetActiveIL(false);
    }
@@ -134,6 +141,7 @@
        scroller.OnRefreshCell -= OnRefreshCell;
        GlobalTimeEvent.Instance.minuteEvent -= OnMinuteEvent;
        CrossServerQualifyingModel.Instance.UpdateCrossChampionshipPKZoneGroupInfoEvent -= UpdateRace;
        CrossServerQualifyingModel.Instance.QueryRaceScoreEvent -= QueryRaceScoreEvent;
    }
    protected override void OnAfterOpen()
@@ -142,6 +150,57 @@
    }
    #endregion
    void QueryRaceScoreEvent(uint playerID, uint groupMark)
    {
        if (groupMark == 0 || playerID == 0)
        {
            todayRaceObj.SetActiveIL(false);
            queryScoreObj.SetActiveIL(false);
            return;
        }
        var battleInfo = CrossServerQualifyingModel.Instance.QueryPKScoreInfoByPlayerID(groupMark, playerID);
        if (battleInfo.PlayerIDA == 0 || battleInfo.PlayerIDB == 0)
        {
            todayRaceObj.SetActiveIL(false);
            queryScoreObj.SetActiveIL(false);
            return;
        }
        todayRaceObj.SetActiveIL(false);
        queryScoreObj.SetActiveIL(true);
        int tagScoreA = 0;
        int tagScoreB = 0;
        var battleResult = battleInfo.battleResult;
        var keys = battleResult.Keys.ToList();
        for (int i = 0; i < keys.Count; i++)
        {
            var key = keys[i];
            if (key == battleInfo.PlayerIDA)
            {
                for (int j = 0; j < battleResult[key].Length; j++)
                {
                    tagScoreA += battleResult[key][j][1];
                }
            }
            else
            {
                for (int j = 0; j < battleResult[key].Length; j++)
                {
                    tagScoreB += battleResult[key][j][1];
                }
            }
        }
        var nameA = CrossServerQualifyingModel.Instance.fightersInfo.ContainsKey(battleInfo.PlayerIDA) ? CrossServerQualifyingModel.Instance.fightersInfo[battleInfo.PlayerIDA].PlayerName : Language.Get("UnDetermind");
        var nameB = CrossServerQualifyingModel.Instance.fightersInfo.ContainsKey(battleInfo.PlayerIDB) ? CrossServerQualifyingModel.Instance.fightersInfo[battleInfo.PlayerIDB].PlayerName : Language.Get("UnDetermind");
        queryScoreText.text = StringUtility.Contact(nameA, UIHelper.AppendColor(TextColType.NavyYellow, " VS "), nameB, "</r>",
            Language.Get("L2033"), " ", tagScoreA, " - ", tagScoreB);
    }
    void OnSelectGroup()
    {
        for (int i = 0; i < selectImgs.Count; i++)
LogicProject/System/CrossServerQualifying/CrossServerQualifying8Win.cs
@@ -45,6 +45,11 @@
    Text todayRaceText;
    Button littleCloseBtn;
    Button finalsBtn; //查看决赛积分按钮
    RectTransform queryScoreObj;
    Text queryScoreText;
    #region Built-in
    protected override void BindController()
    {
@@ -89,6 +94,10 @@
        todayRaceObj = proxy.GetWidgtEx<RectTransform>("raceTip");
        todayRaceText = proxy.GetWidgtEx<Text>("todayrace");
        littleCloseBtn = proxy.GetWidgtEx<Button>("littleClose");
        finalsBtn = proxy.GetWidgtEx<Button>("finalsBtn");
        queryScoreObj = proxy.GetWidgtEx<RectTransform>("scoreTip");
        queryScoreText = proxy.GetWidgtEx<Text>("scoreText");
    }
    protected override void AddListeners()
@@ -113,10 +122,22 @@
            CrossServerQualifyingModel.Instance.isShowRaceInfoYet = true;
            todayRaceObj.SetActive(!CrossServerQualifyingModel.Instance.isShowRaceInfoYet);
        });
        finalsBtn.AddListener(() => {
            uint playerID = 0;
            var battle = CrossServerQualifyingModel.Instance.battleInfo[2];
            if (battle.Count > 0)
            {
                var playerIDs = battle[battle.Keys.ToList()[0]];
                playerID = playerIDs.PlayerIDA == 0 ? playerIDs.PlayerIDB : playerIDs.PlayerIDA;
            }
            QueryRaceScoreEvent(playerID, 2);
        });
    }
    protected override void OnPreOpen()
    {
        CrossServerQualifyingModel.Instance.QueryRaceScoreEvent += QueryRaceScoreEvent;
        GlobalTimeEvent.Instance.minuteEvent += OnMinuteEvent;
        CrossServerQualifyingModel.Instance.UpdateCrossChampionshipPKZoneGroupInfoEvent += UpdateRace;
@@ -142,6 +163,7 @@
        failAGrayImg.SetActiveIL(false);
        failBGrayImg.SetActiveIL(false);
        queryScoreObj.SetActiveIL(false);
    }
    protected override void OnAfterOpen()
    {
@@ -167,6 +189,7 @@
    protected override void OnPreClose()
    {
        CrossServerQualifyingModel.Instance.QueryRaceScoreEvent -= QueryRaceScoreEvent;
        GlobalTimeEvent.Instance.minuteEvent -= OnMinuteEvent;
        CrossServerQualifyingModel.Instance.UpdateCrossChampionshipPKZoneGroupInfoEvent -= UpdateRace;
    }
@@ -279,7 +302,7 @@
        {
            var playerID = i >= player8List.Count ? new Int2(0, 0) : player8List[i];
            var _cell = players8[i].GetILBehaviour<CSQShootOutPlayerCell>();
            _cell.Display((uint)playerID.x, (uint)playerID.y);
            _cell.Display((uint)playerID.x, (uint)playerID.y, 8);
        }
        //4强
@@ -299,7 +322,7 @@
            {
                var playerID = i >= player4List.Count ? new Int2(0, 0) : player4List[i];
                var _cell = players4[i].GetILBehaviour<CSQShootOutPlayerCell>();
                _cell.Display((uint)playerID.x, (uint)playerID.y);
                _cell.Display((uint)playerID.x, (uint)playerID.y, 4);
            }
        }
        else
@@ -442,5 +465,56 @@
            DisplayRace();
        }
    }
    void QueryRaceScoreEvent(uint playerID, uint groupMark)
    {
        if (groupMark == 0 || playerID == 0)
        {
            todayRaceObj.SetActiveIL(false);
            queryScoreObj.SetActiveIL(false);
            return;
        }
        var battleInfo = CrossServerQualifyingModel.Instance.QueryPKScoreInfoByPlayerID(groupMark, playerID);
        if (battleInfo.PlayerIDA == 0 || battleInfo.PlayerIDB == 0)
        {
            todayRaceObj.SetActiveIL(false);
            queryScoreObj.SetActiveIL(false);
            return;
        }
        todayRaceObj.SetActiveIL(false);
        queryScoreObj.SetActiveIL(true);
        int tagScoreA = 0;
        int tagScoreB = 0;
        var battleResult = battleInfo.battleResult;
        var keys = battleResult.Keys.ToList();
        for (int i = 0; i < keys.Count; i++)
        {
            var key = keys[i];
            if (key == battleInfo.PlayerIDA)
            {
                for (int j = 0; j < battleResult[key].Length; j++)
                {
                    tagScoreA += battleResult[key][j][1];
                }
            }
            else
            {
                for (int j = 0; j < battleResult[key].Length; j++)
                {
                    tagScoreB += battleResult[key][j][1];
                }
            }
        }
        var nameA = CrossServerQualifyingModel.Instance.fightersInfo.ContainsKey(battleInfo.PlayerIDA) ? CrossServerQualifyingModel.Instance.fightersInfo[battleInfo.PlayerIDA].PlayerName : Language.Get("UnDetermind");
        var nameB = CrossServerQualifyingModel.Instance.fightersInfo.ContainsKey(battleInfo.PlayerIDB) ? CrossServerQualifyingModel.Instance.fightersInfo[battleInfo.PlayerIDB].PlayerName : Language.Get("UnDetermind");
        queryScoreText.text = StringUtility.Contact(nameA, UIHelper.AppendColor(TextColType.NavyYellow, " VS "), nameB, "</r>",
            Language.Get("L2033"), " ", tagScoreA, " - ", tagScoreB);
    }
}
LogicProject/System/CrossServerQualifying/CrossServerQualifyingModel.cs
@@ -92,6 +92,8 @@
    public int[][] doubleTimeArr;
    public int challengeMaxCnt; //挑战次数
    public Action<uint, uint> QueryRaceScoreEvent;    // 查询比分
    DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
    ServerMirrorFightModel mirrorFightModel { get { return ModelCenter.Instance.GetModel<ServerMirrorFightModel>(); } }
@@ -506,6 +508,26 @@
        return null;
    }
    public CrossChampionshipPKBattle QueryPKScoreInfoByPlayerID(uint groupMark, uint playerID)
    {
        if (battleInfo.ContainsKey(groupMark))
        {
            var battle = battleInfo[groupMark];
            var battleNums = battle.Keys.ToList();
            for (int i = 0; i < battleNums.Count; i++)
            {
                var battleNum = battleNums[i];
                if (battle[battleNum].PlayerIDA == playerID || battle[battleNum].PlayerIDB == playerID)
                {
                    return battle[battleNum];
                }
            }
        }
        return new CrossChampionshipPKBattle();
    }
    public uint WinnerID;    // 胜方ID