KLCareerChangePanel.lua 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. ---@class KLCareerChangePanel:UIKmlLuaPanelBase
  2. ---@field view KLCareerChangePanelView
  3. local KLCareerChangePanel = class(UIKmlLuaPanelBase)
  4. local this = KLCareerChangePanel
  5. ---创建时调用一次
  6. function KLCareerChangePanel:Init()
  7. end
  8. ---创建或者刷新界面数据时调用
  9. function KLCareerChangePanel:Refresh()
  10. self.currentCareer = self.args.currentCareer
  11. self.originalCareer = self.args.originalCareer
  12. --从配置表获取解锁的技能
  13. ---@type cfg_career_column
  14. self.config = SL:GetConfig("cfg_career",self.currentCareer)
  15. GUI:OSAScrollView_Initialized(self.view.SkillRollRect,self.OSASkillItemGetFun,self.OSASkillItemUpdateFun,self)
  16. GUI:OSAScrollView_RefreshList(self.view.SkillRollRect,#self.config.unlockskill)
  17. --[[for _, skillId in pairs(config.unlockskill) do
  18. ---@type KLSkillInfoItem
  19. local skillTemplate = GUI:UIPanel_Open("dev/ui/Career/Item/KLSkillInfoItem/KLSkillInfoItem",self.view.SkillContent,self,nil,true)
  20. skillTemplate:InitData(skillId,1)
  21. end
  22. --从配置表获取解锁的装备
  23. for _, itemId in pairs(config.unlockItem) do
  24. GUI:Item_Create(self.view.EquipContent,{
  25. width = "80",
  26. height = "80",
  27. itemid = itemId[1],
  28. tips = "1",
  29. noclip = "1",
  30. mfixsize = "80,80"
  31. })
  32. end]]
  33. GUI:OSAScrollView_Initialized(self.view.EquipRollRect,nil,self.EquipItemUpdateFun,self)
  34. GUI:OSAScrollView_RefreshList(self.view.EquipRollRect,#self.config.unlockItem)
  35. --奖励文字描述
  36. GUI:Text_setString(self.view.TextAttAward,self.config.rewardText)
  37. --职业名
  38. ---@type cfg_career_column
  39. local currentCareer = SL:GetConfig("cfg_career",self.currentCareer)
  40. GUI:Text_setString(self.view.TextPresentProfession,currentCareer.name)
  41. local originalCareer = SL:GetConfig("cfg_career",self.originalCareer)
  42. GUI:Text_setString(self.view.TextOriginalProfession,originalCareer.name)
  43. end
  44. ---@param item UIKmlLuaControl
  45. function this:EquipItemUpdateFun(item,index)
  46. local itemInfo = self.config.unlockItem[index + 1]
  47. local itemControl = GUI:GetChildById(item,"item")
  48. GUI:Item_setItemId(itemControl,itemInfo)
  49. local btnTip = GUI:GetChildById(item,"btn_item_tip")
  50. GUI:AddOnClickEvent(btnTip,self,self.BtnTipOnClick,itemInfo)
  51. end
  52. function this:BtnTipOnClick(_,itemId)
  53. SL:OpenTips(nil,itemId)
  54. end
  55. function this:OSASkillItemGetFun(index)
  56. ---@type KLSkillInfoItem
  57. local skillTemplate = GUI:UIPanel_Open("dev/outui/Career/Item/KLSkillInfoItem/KLSkillInfoItem",nil,self,nil,true)
  58. return skillTemplate
  59. end
  60. function this:OSASkillItemUpdateFun(item,index)
  61. local skillId = self.config.unlockskill[index + 1]
  62. item:InitData(skillId,1)
  63. end
  64. ---注册UI事件和服务器消息
  65. function KLCareerChangePanel:RegistEvents()
  66. GUI:AddOnClickEvent(self.view.BtnOk,self,self.BtnOkOnClick)
  67. end
  68. function this:BtnOkOnClick()
  69. GUI:UIPanel_Close('dev/outui/Career/Panel/KLCareerChangePanel/KLCareerChangePanel')
  70. end
  71. function KLCareerChangePanel:Close()
  72. end
  73. return KLCareerChangePanel