在排行榜的 `CreateListCell` 函数中,`data` 参数是从服务器返回的排行榜列表数据中获取的。具体来说:
```lua
function Rank.UpdateRankList()
local data = SL:GetMetaValue("RANK_DATA_BY_TYPE", Rank._showDataType)
-- ... 其他代码 ...
for i, v in ipairs(data) do
v.rank = i
GUI:QuickCell_Create(Rank._rankList, "rank" .. i, 0, 0, 370, 33, function(parent)
local cell = Rank.CreateListCell(parent, v) -- 这里的 v 就是 data
-- ... 其他代码 ...
return cell
end)
end
end
```
`SL:GetMetaValue("RANK_DATA_BY_TYPE", Rank._showDataType)` 获取了指定类型的排行榜数据列表,`data`(或循环中的 `v`)就是这个列表中的每一项,包含了服务器返回的该排名玩家的信息,如 `UserID`、`Name`、`Value`、`GuildName` 等字段。
所以,`data` 是直接从服务器下发的排行榜数据中获取的,不需要前端额外调用函数去查询。