function Rank.UpdateRankList()
local data = SL:GetMetaValue("RANK_DATA_BY_TYPE", Rank._showDataType)
local myID = SL:GetMetaValue("USER_ID")
if Rank._selectType == 2 then -- 英雄排行榜
myID = SL:GetMetaValue("HERO_ID")
end
loc
要在转生等级排行榜中同时显示玩家的普通等级,你需要在排行榜数据处理时添加普通等级的获取和显示。以下是修改后的代码:
```lua
function Rank.UpdateRankList()
local data = SL:GetMetaValue("RANK_DATA_BY_TYPE", Rank._showDataType) or {}
local myID = SL:GetMetaValue("USER_ID")
if Rank._selectType == 2 then -- 英雄排行榜
myID = SL:GetMetaValue("HERO_ID")
end
local myInfo = {rank = 0, guildName = ""}
for i, v in ipairs(data) do
if v.UserID and v.UserID == myID then
myInfo.rank = i
myInfo.guildName = v.GuildName
break
end
end
Rank.UpdateMyInfoPanel(myInfo)
GUI:removeAllChildren(Rank._rankList)
Rank._selectItemRk = nil
for i, v in ipairs(data) do
v.rank = i
-- 获取玩家的普通等级
local playerLevel = SL:GetMetaValue("PLAYER_LEVEL", v.UserID) or 1
GUI:QuickCell_Create(Rank._rankList, "rank" .. i, 0, 0, 370, 33, function(parent)
local cell = Rank.CreateListCell(parent, v)
-- 在创建单元格时添加普通等级显示
if cell then
-- 假设原单元格中有一个节点用于显示等级信息
local levelNode = GUI:getChildByName(cell, "Text_level")
if not GUI:Win_IsNull(levelNode) then
-- 将转生等级和普通等级一起显示,例如:"转生10级(普通80级)"
local rebirthLevel = v.RebirthLevel or 0
local levelText = string.format("转生%d级(普通%d级)", rebirthLevel, playerLevel)
GUI:Text_setText(levelNode, levelText)
end
end
if not Rank._selectItemRk then
Rank.ResetSelectItem(v)
end
return cell
end)
end
end
```
另外,你还需要在`Rank.CreateListCell`函数中确保有显示等级信息的控件。如果原函数中没有,可以这样修改:
```lua
function Rank.CreateListCell(parent, data)
-- 原有的单元格创建代码...
-- 添加普通等级显示控件
local playerLevel = SL:GetMetaValue("PLAYER_LEVEL", data.UserID) or 1
local rebirthLevel = data.RebirthLevel or 0
-- 创建显示文本
local levelText = GUI:Text_Create(parent, "Text_level", 200, 5, 14, "#ffffff",
string.format("转生%d级(普通%d级)", rebirthLevel, playerLevel))
-- 设置字体样式
GUI:Text_setFontName(levelText, "fonts/font5.ttf")
-- 原有的其他控件创建...
return parent
end
```
主要修改点:
1. 在循环中获取每个玩家的普通等级:`SL:GetMetaValue("PLAYER_LEVEL", v.UserID)`
2. 在创建单元格时同时显示转生等级和普通等级
3. 使用字符串格式化将两个等级信息合并显示
这样修改后,排行榜中就会同时显示玩家的转生等级和普通等级信息了。