PGRData/Script/matrix/xmanager/XPlayerManager.lua

118 lines
3.6 KiB
Lua
Raw Normal View History

--[[
耀(120耀)使
--@level:等级可以是默认的普通等级或荣耀等级,等级是荣耀等级@isHonor必须传true
--@isHonor: 是否使用荣耀勋阶的表true(使用荣耀表),否则使用默认的等级表
]]
XPlayerManager = XPlayerManager or {}
local TABLE_PLAYER = "Share/Player/Player.tab"
local TABLE_HONORLEVEL = "Share/Player/HonorLevel.tab"
local PlayerTable
local HonorLevelTable
XPlayerManager.PlayerChangeNameInterval = CS.XGame.Config:GetInt("PlayerChangeNameInterval")
XPlayerManager.PlayerMaxLevel = CS.XGame.Config:GetInt("PlayerMaxLevel")
function XPlayerManager.Init()
PlayerTable = XTableManager.ReadByIntKey(TABLE_PLAYER, XTable.XTablePlayer, "Level")
HonorLevelTable = XTableManager.ReadByIntKey(TABLE_HONORLEVEL, XTable.XTableHonorLevel, "HonorLevel")
if not PlayerTable then
XLog.Error("读取Player Table发生错误 表的路径是: " .. TABLE_PLAYER)
end
if not HonorLevelTable then
XLog.Error("读取HonorLevel Table发生错误 表的路径是: " .. TABLE_HONORLEVEL)
end
end
local function GetTableByLevel(level, isHonor, functionName)
local table
if isHonor then
table = HonorLevelTable
else
table = PlayerTable
end
if not table[level] then
--注意阅读上面的参数说明
if isHonor then
XLog.ErrorTableDataNotFound("XPlayerManager." .. functionName, "HonorLevelTable", TABLE_HONORLEVEL, "HonorLevel", tostring(level))
else
XLog.ErrorTableDataNotFound("XPlayerManager." .. functionName, "PlayerTable", TABLE_PLAYER, "level", tostring(level))
end
else
return table[level]
end
end
function XPlayerManager.GetMaxExp(level, isHonor)
local maxExp = 0
local table = GetTableByLevel(level, isHonor, "GetMaxExp")
if table then
maxExp = table.MaxExp
end
return maxExp
end
function XPlayerManager.GetMaxActionPoint(level, isHonor)
local maxActp = 0
local table = GetTableByLevel(level, isHonor, "GetMaxActionPoint")
if table then
maxActp = table.MaxActionPoint
end
return maxActp
end
function XPlayerManager.GetMaxFriendCount(level, isHonor)
local maxCount = 0
local table = GetTableByLevel(level, isHonor, "GetMaxFriendCount")
if table then
maxCount = table.MaxFriendCount
end
return maxCount
end
--注意荣誉等级没有FreeActionPoint字段
function XPlayerManager.GetFreeActionPoint(level)
local freeActp = 0
local table = GetTableByLevel(level, false, "GetFreeActionPoint")
if table then
freeActp = table.FreeActionPoint
end
return freeActp
end
function XPlayerManager.GetRewardId(level)
local RewardId = 0
local table = GetTableByLevel(level, true, "RewardId")
if table then
RewardId = table.RewardId
end
return RewardId
end
function XPlayerManager.GetHeadPortraitInfoById(id)
return XDataCenter.HeadPortraitManager.GetHeadPortraitInfoById(id)
end
--==============================--
--desc: 获取玩家信息
--@id: 玩家id
--@cb: 结果回调
--==============================--
function XPlayerManager.GetPlayerInfos(id, cb)
local req = { id = id }
XNetwork.Call("GetPlayerInfoRequest", req,
function(result)
if result.Code and result.Code ~= XCode.Success then
XUiManager.TipCode(result.Code)
return
end
if cb then
cb(result.Code, result.PlayerData)
end
end
)
end