91 lines
2.2 KiB
Lua
91 lines
2.2 KiB
Lua
local UIRoleChangeJobCtr = class("UIRoleChangeJobCtr", require("UICtrBase"))
|
|
|
|
local isLeader = true
|
|
function UIRoleChangeJobCtr:Init(view)
|
|
self.view = view
|
|
end
|
|
|
|
function UIRoleChangeJobCtr:SetData(data)
|
|
self.asyncIdx = 0
|
|
if data == nil then return end
|
|
self.data = data
|
|
|
|
isLeader = data == 1
|
|
end
|
|
|
|
function UIRoleChangeJobCtr:GetAsyncIdx()
|
|
self.asyncIdx = self.asyncIdx + 1
|
|
return self.asyncIdx
|
|
end
|
|
|
|
function UIRoleChangeJobCtr:GetData()
|
|
return self.data
|
|
end
|
|
|
|
function UIRoleChangeJobCtr:SetIdx(idx)
|
|
self.curIdx = idx
|
|
end
|
|
|
|
function UIRoleChangeJobCtr:SendChangeJobReq(jobId)
|
|
local heroId = self.data
|
|
ManagerContainer.NetManager:SendMessage(ProtoMsgId.CS_HERO_CHANGE_JOB_REQ, {hero_id = heroId, job_id = jobId})
|
|
end
|
|
|
|
function UIRoleChangeJobCtr:GetHeroCurJobId()
|
|
local logicData
|
|
if isLeader then
|
|
logicData = ManagerContainer.DataMgr.UserData:GetHeroData()
|
|
else
|
|
logicData = ManagerContainer.DataMgr.PartnerData:GetPartnerDataByUniqueId(self.data)
|
|
end
|
|
|
|
return logicData.configId
|
|
end
|
|
|
|
function UIRoleChangeJobCtr:GetNextJobDatas(jobId)
|
|
local nextJobDatas
|
|
if isLeader then
|
|
nextJobDatas = ManagerContainer.CfgMgr:GetNextJobs(jobId)
|
|
else
|
|
nextJobDatas = ManagerContainer.CfgMgr:GetPartnerNextJobs(jobId)
|
|
end
|
|
self.nextJobDatas = nextJobDatas
|
|
return nextJobDatas
|
|
end
|
|
|
|
function UIRoleChangeJobCtr:IsLeader()
|
|
return isLeader
|
|
end
|
|
|
|
function UIRoleChangeJobCtr:GetSkillList()
|
|
local skillList = nil
|
|
local job = self.nextJobDatas[self.curIdx]
|
|
if isLeader then
|
|
skillList = ManagerContainer.CfgMgr:GetSkillTreeByFeature(job.JobType, job.JobBranch, job.JobStage)
|
|
else
|
|
skillList = ManagerContainer.CfgMgr:GetParterSkillTreeByFeature(job.JobType, job.ParterId)
|
|
end
|
|
if skillList then
|
|
table.sort(skillList, function(a, b)
|
|
return a.Pos < b.Pos
|
|
end)
|
|
end
|
|
self.skillList = skillList
|
|
return skillList
|
|
end
|
|
|
|
function UIRoleChangeJobCtr:GetSkillItemInfoByIndex(itemIndex)
|
|
return self.skillList and self.skillList[itemIndex + 1] or nil
|
|
end
|
|
|
|
function UIRoleChangeJobCtr:OnDispose()
|
|
self.data = nil
|
|
self.view = nil
|
|
|
|
self.skillList = nil
|
|
self.nextJobDatas = nil
|
|
end
|
|
|
|
return UIRoleChangeJobCtr
|
|
|