| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- 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
|